文章目錄
- 01 引言
- 02 配置hosts
- 2.1 方式一:使用hostAlias标簽
- 2.2 方式二:coredns裡面添加
- 2.3 其它方式
- 03 文末
01 引言
很多時候,
pod
裡面的容器服務會使用到了内網的域名進行通路,我們會很自然的想到去配置
/etc/hosts
檔案。
其實有幾種方式可以去配置hosts的,本文來講講。
02 配置hosts
2.1 方式一:使用hostAlias标簽
參考例子:https://www.jianshu.com/p/3e6564edbe74
我們可以在
Deployment
資源類型的檔案裡配置
hostAlias
标簽,例子如下:
apiVersion: v1
kind: ReplicationController
metadata:
name: dp-rc
namespace: default
spec:
replicas: 1
selector:
name: dp-pod
template:
metadata:
labels:
name: dp-pod
spec:
hostAliases:
- ip: 192.168.176.247
hostnames:
- "dccas.finupgroup.com"
containers:
- name: dp
image: reg.k8s.dc.finupgroup.com/datacenter/dp:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
2.2 方式二:coredns裡面添加
可以在
kube-system
指令空間下的
coredns
這種
configmap
類型的資源檔案裡添加:
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
hosts {
192.168.11.241 www.girls.cn
192.168.11.240 harbor.girls.cn
fallthrough
}
prometheus :9153
forward . "/etc/resolv.conf"
cache 30
loop
reload
loadbalance
}