在使用k8s 中,难免有一些实例需要添加hosts绑定
最土的办法就是把这个hosts写在dockfile里。
实际k8s已经解决了这样的问题。
例子中是pod,下面是RC、deployment 的yaml
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
验证
[root@p1 ~]# kubectl exec -it dp-rc-kt8jg bash
Defaulting container name to dp.
Use 'kubectl describe pod/dp-rc-kt8jg -n default' to see all of the containers in this pod.
bash-4.2#
bash-4.2# 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.254.12.2 dp-rc-kt8jg
# Entries added by HostAliases.
192.168.176.247 dccas.finupgroup.com
网友评论