如您所知,在k8s中,我们可以在Deployment.yaml中使用hostAliases在/ etc / hosts中设置其他条目,例如:
apiVersion: v1
kind: Pod
metadata:
name: hostaliases-pod
spec:
restartPolicy: Never
hostAliases:
- ip: "127.0.0.1"
hostnames:
- "foo.local"
但是我想ip是POD自己的IP,然后为POD分配一个主机名。例如
hostAliases:
- ip: "$POD_IP"
hostnames:
- "myname"
有可能吗?以及如何?
最佳答案
我认为不可能这样。 Kubectl的条件是hostAliases []。ip必须是有效的IP。除了IP,没有其他方法可以插入。
也就是说,还有其他解决方案:
apiVersion: v1kind: Podmetadata: name: testspec: containers: - name: test-container image: k8s.gcr.io/busybox:1.24 command: [ "sh", "-c"] args: - echo $MY_POD_IP myname >> /etc/hosts; <INSERT YOU ENTRYPOINT HERE> env: - name: MY_POD_IP valueFrom: fieldRef: fieldPath: status.podIP restartPolicy: Never