有时候我经常会遇到配置host的需求,即不在云端配置域名解析,而是本地直接配置host绑定域名与ip关系,而在k8s环境中pod由k8s进行编排,pod时常会因某些原因而销毁重启,在k8s环境中如何配置host呢?我们可以通过k8s的coredns来配置域名与ip绑定关系。

找到命名空间kube-system的ConfigMap:coredns

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
kind: ConfigMap
apiVersion: v1
metadata:
  name: coredns
  namespace: kube-system
data:
  Corefile: |
    .:53 {
        errors
        health {
           lameduck 5s
        }
        ready
        kubernetes cluster.local in-addr.arpa ip6.arpa {
           pods insecure
           fallthrough in-addr.arpa ip6.arpa
           ttl 30
        }
        hosts {
           10.10.0.101 www.example.com
           fallthrough
        }
        prometheus :9153
        forward . /etc/resolv.conf {
           max_concurrent 1000
        }
        cache 30
        loop
        reload
        loadbalance
    }

参考如上示例,在hosts下添加

1
10.10.0.101 www.example.com