繁体   English   中英

在Kubernetes下是否可以将Pod主机名作为托管Node主机名?

[英]Is it possible to have under Kubernetes the Pod hostname be the hosting Node hostname?

从Docker迁移到K8s,今天,我们使用以下命令运行一些容器: docker run --hostname%H ...导致容器将主机的主机名作为自己的主机名,我可以在K8s下运行类似的行为吗? (具有pod主机名作为Node主机名)

从到目前为止我所看到的:

  1. spec.hostname似乎不支持env vars中的值。

  2. 使用hostAliases似乎会加上一个硬编码的名称...

顺便说一句,吊舱已部署为DeamonSet

如果您对pod的规格使用hostNetwork: true ,它将与节点共享网络。 这是一个简单的测试:

apiVersion: v1
kind: Pod
metadata:
  name: test-pod
spec:
  hostNetwork: true
  containers:
    - name: test-container
      image: k8s.gcr.io/busybox
      command: [ "sh", "-c"]
      args:
      - while true; do
          echo -en '\n';
          printenv HOSTNAME
          sleep 10;
        done;
  restartPolicy: Never

这表明Pod的主机名与其​​节点相同。

请注意,尽管一般不建议使用此设置:

出于与hostPort相同的原因,请避免使用hostNetwork

但是,也许就您而言,这不是问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM