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里面添加

参考例子:https://blog.csdn.net/u010533742/article/details/109641426

可以在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 文末

本文主要讲解了k8s配置域名的两种方式,希望能帮助到大家,谢谢大家的阅读,本文完!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐