Is it possible to set a hostname in a Kubernetes r

2020-07-03 03:37发布

I need to set a static hostname in a Kubernetes replication controller. Docker supports it with some runtime flags, however, Kubernetes replication controllers don't appear to support it. The environment: OS - CentOS 6.6 Approach to use sysctl to change the variable kernel.hostname does not work for a K8s replication controller. The host name is not changed. Use: sysctl kernel.hostname to read the current hostname, and sysctl kernel.hostname=NEW_HOSTNAME

Is it possible to set a hostname in a Kubernetes replication controller?

标签: kubernetes
3条回答
Explosion°爆炸
2楼-- · 2020-07-03 04:15

This feature (hostnames) is coming in kubernetes v1.2

查看更多
虎瘦雄心在
3楼-- · 2020-07-03 04:17

Kubernetes (currently) treats pods as cattle, not pets, so it's undesirable to specify hostnames of the individual pods. There is a lengthy discussion in the github issue on the needs of (re-)using hostnames and how to solve that. It seems that the nominal services (a.k.a. PetSets), which is yet to be implemented, may help resolve this issue.

查看更多
该账号已被封号
4楼-- · 2020-07-03 04:26

In 1.7 you can set the hostname directly in the Deployment spec

spec:
  replicas: 1
  template:
    spec:
      hostname: myhostname
      containers:
        ...

Old Answer

Now that 1.2 has landed, you can set a static hostname in a Replication Controller or Deployment spec using the pod.beta.kubernetes.io/hostname annotation.

spec:
  replicas: 1
  template:
    metadata:
      annotations:
        pod.beta.kubernetes.io/hostname: myhostname
      labels:
        ...
查看更多
登录 后发表回答