很多时候,pod里面的容器服务会使用到了内网的域名进行访问,我们会很自然的想到去配置/etc/hosts文件。
其实有几种方式可以去配置hosts的,本文来讲讲。
配置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: 172.20.92.191
hostnames:
- "bmp.91118.com"
- "ca.91118.com"
containers:
- name: dp
image: reg.k8s.dc.finupgroup.com/datacenter/dp:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
2.2 方式二:coredns里面添加
参考例子:https://blog.csdn.net/u010533742/article/details/109641426
可以在kube-system
命令空间下的 coredns
这种 configmap
类型的资源文件里添加:
kubectl edit configmap -n kube-system coredns
Corefile: |
.:53 {
errors
health {
lameduck 5s
}
ready
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
hosts {
172.20.92.191 bmp.91118.com
172.20.92.191 ca.91118.com
fallthrough
}
prometheus :9153
forward . "/etc/resolv.conf"
cache 30
loop
reload
loadbalance
}
作者:Jeebiz 创建时间:2023-12-04 15:04
最后编辑:Jeebiz 更新时间:2024-08-02 14:28
最后编辑:Jeebiz 更新时间:2024-08-02 14:28