天天看點

k8s配置hosts域名的幾種方式

文章目錄

  • ​​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
    }      

2.3 其它方式

03 文末

繼續閱讀