最近在給公司搭建持續集成環境的時候,要使用外部的hbase,但是使用k8s服務啓動的時候總是報 無法解析域名。現在記錄一下,以防忘記。
經過問題的排查,發現是k8s中的服務無法解析外部的主機名。
經過一番查找 Kubernetes 中確實提供了能夠配置 Docker 鏡像中的 Host 的配置的字段 hostAliases,只要簡單的配置就能輕鬆指定域名解析的 IP 地址,下面將介紹下如何配置。
官方鏈接
apiVersion: v1
kind: Pod
metadata:
name: hostaliases-pod
spec:
restartPolicy: Never
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "foo.local"
- "bar.local"
- ip: "10.1.2.3"
hostnames:
- "foo.remote"
- "bar.remote"
containers:
- name: cat-hosts
image: busybox
command:
- cat
args:
- "/etc/hosts"