Acesso ao serviço no subdomínio no Kubernetes

1

Tenho a seguinte configuração:

  • Nuvem OpenStack Privada - o̲n̲l̲y̲ Web UI (Horizon) está acessível
    (API é restrita mas talvez eu consiga acesso)
  • Eu usei CoreOS com uma configuração de um mestre e três nós
  • Os recursos são padronizados (como padrão do OpenStack)
  • Eu segui o guia de introdução ao CoreOS (ou seja, estou usando os YAMLs padrão para cloud-config fornecidos) em GitHub

Ao ler extensões como Web UI (kube-ui) podem ser adicionadas como Add-On - que eu adicionei (somente kube-ui).

Agora, se eu executar um teste como o simple-nginx, recebo a seguinte saída:

criando pods:

$ kubectl run my-nginx --image=nginx --replicas=2 --port=80

criando serviço:

$ kubectl expose rc my-nginx --port=80 --type=LoadBalancer          
NAME       LABELS         SELECTOR       IP(S)     PORT(S)
my-nginx   run=my-nginx   run=my-nginx             80/TCP

obtenha informações de serviço:

$ kubectl describe service my-nginx                                                                                                
Name:           my-nginx
Namespace:      default
Labels:         run=my-nginx
Selector:       run=my-nginx
Type:           LoadBalancer
IP:             10.100.161.90
Port:           <unnamed>   80/TCP
NodePort:       <unnamed>   31170/TCP
Endpoints:      10.244.19.2:80,10.244.44.3:80
Session Affinity:   None
No events.

Eu posso acessar meu serviço de todos os (!) IP externos dos nós.

Minha pergunta agora é a seguinte:

Como pode acessar qualquer serviço iniciado éter com um subdomínio e, portanto, como eu posso definir essa configuração (por exemplo eu tenho domain.com como exemplo) ou poderia ser impresso em qual nó-IP eu tenho que acessar meu serviço (embora eu tenha apenas duas réplicas (?!))?

Para descrever meus pensamentos mais compreensíveis, quero dizer:

  • determinado domínio: domain.com (apontando para o mestre)
  • iniciar o serviço simple-nginx
  • O serviço
  • pode ser acessado com simple-nginx.domain.com
por x4k3p 07.01.2016 / 05:08

1 resposta

0

Você precisa fazer duas coisas:

  • Execute o kube-proxy em todos os nós que você deseja acessar os VIPs (IPs virtuais) dos serviços
  • Aponte o DNS do nó em /etc/resolv.conf para apontar para o servidor DNS que está sendo executado no cluster do kubernetes.
por 09.02.2016 / 20:56