我们知道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

相关文章:

  • 2022-01-11
  • 2021-10-11
  • 2021-07-23
  • 2021-06-29
  • 2021-10-19
  • 2022-12-23
  • 2021-12-12
  • 2021-09-21
猜你喜欢
  • 2022-12-23
  • 2021-09-29
  • 2021-07-07
  • 2021-09-14
  • 2021-06-14
  • 2022-12-23
相关资源
相似解决方案