Se você tiver exatamente um pod, use hostNetwork: true
para conseguir isso:
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: caddy
spec:
replicas: 1
template:
metadata:
labels:
app: caddy
spec:
hostNetwork: true # <---------
containers:
- name: caddy
image: your_image
env:
- name: STATIC_BACKEND # example env in my custom image
value: $(STATIC_SERVICE_HOST):80
Note que, ao fazer isso , seu pod herdará o resolvedor de DNS do host e não o Kubernetes '. Isso significa que você não pode mais resolver serviços de cluster por nome DNS. Por exemplo, no exemplo acima, você não pode acessar o serviço static
no link . Você ainda pode acessar os serviços pelo IP do cluster, que é injetado pelas variáveis de ambiente .
Esta solução é melhor do que usar o externalIP do serviço quando ele ignora o kube-proxy, e você receberá o IP de origem correto.