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
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************