Example of Pod:
apiVersion: v1 kind: Pod metadata: name: hostaliases-pod spec: restartPolicy: Never hostAliases: - ip: "127.0.0.1" hostnames: - "foo.local" - "bar.local" - ip: "10.1.2.3" hostnames: - "foo.remote" - "bar.remote" containers: - name: cat-hosts image: busybox command: - cat args: - "/etc/hosts"
Example of Deployment
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: hostaliases-deployment spec: template: spec: hostAliases: - ip: "127.0.0.1" hostnames: - "foo.local" - "bar.local" - ip: "10.1.2.3" hostnames: - "foo.remote" - "bar.remote" containers: - name: a-aspnetcore-app image: aspnetcore-app:v1.0.0 env: - name: ASPNETCORE_ENVIRONMENT value: Development ports: - containerPort: 80 imagePullSecrets: - name: docker-secret
See the result in Kubernetes container
# 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 192.168.240.234 hostaliases-deployment-65d5c48f7c-pqqvn # Entries added by HostAliases. 127.0.0.1 foo.local bar.local 10.1.2.3 foo.remote bar.remote