在hosts文件中为127.0.0.1分配容器主机名-Kubernetes容器

时间:2020-04-10 10:50:36

标签: kubernetes

我想如下在容器内的etc/hosts中添加en条目

127.0.0.1 hostname-of-pod

我得到了这个link,它解释了如何添加主机条目,但是我想知道我们需要添加什么来获得那个hostname-of-pod

3 个答案:

答案 0 :(得分:0)

您可以通过以下方式简单地附加127.0.0.1 hostname-of-pod

Command 1: kubectl exec -n namespace -it pod_name sh
Command 2: echo "127.0.0.1    $HOSTNAME" >> /etc/hosts 

请注意,Command 2成功后,command 1必须在pod中执行。

答案 1 :(得分:0)

您可以使用向下的API将节点名称或主机IP注入pod的环境变量中

有关更多信息,请参见https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/#use-pod-fields-as-values-for-environment-variables

我相信您正在寻找的部分是这样的:

        - name: MY_POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name

来源:https://github.com/kubernetes/client-go/issues/565

答案 2 :(得分:0)

但是我想知道我们需要添加什么才能获得该主机名

它应该已经在Pod的/ etc / hosts中。 K8s为用户处理。

$ kubectl get pods
NAME                       READY   STATUS    RESTARTS   AGE
busybox-68dc67fcc5-gwd95   1/1     Running   6          6h52m

$ kubectl exec -it busybox-68dc67fcc5-gwd95 -- sh

# 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.60.0.17  busybox-68dc67fcc5-gwd95

希望有帮助!