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?
This feature (hostnames) is coming in kubernetes v1.2
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.
In 1.7 you can set the hostname directly in the Deployment spec
Old Answer
Now that 1.2 has landed, you can set a static hostname in a Replication Controller or Deployment
spec
using thepod.beta.kubernetes.io/hostname
annotation.