tft每日頭條

 > 生活

 > 怎麼在hosts寫入代碼

怎麼在hosts寫入代碼

生活 更新时间:2025-02-12 17:53:10

怎麼在hosts寫入代碼?在創建pod時,如果dns配置不合理,想在pod裡的/etc/hosts添加相關條目進行解析,可以使用hostAliases來實現,下面我們就來聊聊關于怎麼在hosts寫入代碼?接下來我們就一起去了解一下吧!

怎麼在hosts寫入代碼(通過hostAliases為pod添加etchosts條目)1

怎麼在hosts寫入代碼

在創建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 ~]#

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved