2、选中hosts文件,由于hosts文件为特殊文件,所以是没有扩展名。hosts直接双击无法直接打开,双击打开后,在出现的【打开方式列表中】需要选择由【记事本】打开。
3、打开hosts文件后,host文件的内容将显示在记事本中。
4、在打开host文件的记事本中,最末一行输入回车使其另起一行并在新行中输入IP地址和对应网址,格式为IP空格网址。
5、添加完网址后,点击记事本【文件】菜单【保存】后关闭文件即可。
在创建pod时,如果DNS配置不合理,想在pod里的/etc/hosts添加相关条目进行解析,可以使用hostAliases来实现。
hostAliases在.spec下定义,和containers字段对齐。
在/etc/hosts里每行的条目的格式是:
IP地址1 主机名1 主机名2
当访问主机1或者主机2时,系统会自动解析到 IP地址1 这样。
在hostAliases里定义的格式是
- ip: "ip地址1"
hostnames:
- "主机名1"
- "主机名2"
这样在创建pod之后,pod的/etc/hosts会自动多了如下条目。
IP地址1 主机名1 主机名2
看下面的例子,创建一个pod3,yaml文件如下。
[root@vms51 ~]# cat pod3.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod3
spec:
terminationGracePeriodSeconds: 0
hostAliases:
- ip: "10.1.1.1"
hostnames:
- "aa.local"
- "bb.local"
- ip: "10.1.1.2"
hostnames:
- "cc.local"
- "dd.local"
containers:
- name: pod3
image: busybox
imagePullPolicy: IfNotPresent
command: ["sh","-c","cat /etc/hosts sleep 10000000"]
restartPolicy: Never
dnsPolicy: ClusterFirst
[root@vms51 ~]#
这里创建pod3,这里在hostAliases里两个两个IP,每个IP对应两个主机名,所以在pod3里的/etc/hosts添加两个条目
10.1.1.1 aa.local bb.local
10.1.1.2 cc.local dd.local
下面创建pod并验证。
[root@vms51 ~]# kubectl apply -f pod3.yaml
pod/pod3 created
[root@vms51 ~]#
[root@vms51 ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
pod3 1/1 Running 0 5s
[root@vms51 ~]#
查看pod3里的/etc/hosts的内容。
[root@vms51 ~]# kubectl exec -it pod3 -- tail -3 /etc/hosts
#Entries added by HostAliases.
10.1.1.1 aa.local bb.local
10.1.1.2 cc.local dd.local
[root@vms51 ~]#
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)