hostAliases给pod增加域名解析

我们知道k8s访问内部域名可以使用 pod名.namespace.svc.cluster.local。

但有时需要往pod增加自定义的host解析。有一个参数可以支持,在deployment.spec.spec中添加:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: busybox
spec:
  replicas: 1
  selector:
    matchLabels:
      app: busybox
  template:
    metadata:
      labels:
        app: busybox
    spec:
      hostAliases:
      - ip: 192.168.99.181
        hostnames:
        - "k8s.lvzhenjiang.com"
      containers:
      - name: busybox
        image: 192.168.99.181:5000/wod/busybox:1.29        #内置的linux大多数命令,多用于测试
        args:
        - /bin/sh
        - -c
        - sleep 10; touch /tmp/healthy; sleep 30000
        readinessProbe:           #就绪探针
          exec:
            command:
            - cat
            - /tmp/healthy
          initialDelaySeconds: 10         #10s之后开始第一次探测
          periodSeconds: 5                #第一次探测之后每隔5s探测一次

测试:

$ kubectl exec  busybox-7887c6c894-dzx8w -- cat /etc/hosts
# Kubernetes-managed hosts file.
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
fe00::0	ip6-mcastprefix
fe00::1	ip6-allnodes
fe00::2	ip6-allrouters
10.100.85.232	busybox-7887c6c894-dzx8w

# Entries added by HostAliases.
192.168.99.181	k8s.lvzhenjiang.com
posted @ 2021-12-29 19:10  吕振江  阅读(542)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end