[英]Is it possible to have under Kubernetes the Pod hostname be the hosting Node hostname?
从Docker迁移到K8s,今天,我们使用以下命令运行一些容器: docker run --hostname%H ...导致容器将主机的主机名作为自己的主机名,我可以在K8s下运行类似的行为吗? (具有pod主机名作为Node主机名)
从到目前为止我所看到的:
spec.hostname似乎不支持env vars中的值。
使用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.