instruction: Create a Kubernetes configuration with Ingress, Secret resources
output: ```dockerfile
  From Message
   ---- ------ ---- ---- -------
   Normal ADD 22s loadbalancer-controller default/test
  O controlador Ingress fornece um balanceador de carga específico de implementação que satisfaz o Ingress, desde que os serviços (service1, service2) existam.
  Quando tiver feito isso, você pode ver o endereço do balanceador de carga no campo Address.Nota:Dependendo do controlador Ingress que você está usando, talvez seja necessário criar um serviço de backend http padrão.Hospedagem virtual baseada em nomeOs hosts virtuais baseados em nomes suportam o roteamento de tráfego HTTP para vários nomes de host no mesmo endereço IP.Figura. Hospedagem de host virtual baseado em nomeO Ingress a seguir diz ao balanceador de carga de apoio para rotear solicitações com base no Host header.service/networking/name-virtual-host-ingress.yaml
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
   name: name-virtual-host-ingress
  spec:
   rules:
   - host: foo.bar.com
   http:
   paths:
   - pathType: Prefix
   path: "/"
   backend:
   service:
   name: service1
   port:
   number: 80
   - host: bar.foo.com
   http:
   paths:
   - pathType: Prefix
   path: "/"
   backend:
   service:
   name: service2
   port:
   number: 80
  Se você criar um recurso de Ingress sem nenhum host definido nas regras, qualquer tráfego da web para o endereço IP do seu controlador de Ingress pode ser correspondido sem que seja necessário um host virtual baseado em nome.Por exemplo, o Ingress a seguir roteia o tráfego solicitado para first.bar.com para service1, second.bar.com para service2 e qualquer tráfego cujo cabeçalho de host de solicitação não corresponda a first.bar.com e second.bar.com para service3.service/networking/name-virtual-host-ingress-no-third-host.yaml
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
   name: name-virtual-host-ingress-no-third-host
  spec:
   rules:
   - host: first.bar.com
   http:
   paths:
   - pathType: Prefix
   path: "/"
   backend:
   service:
   name: service1
   port:
   number: 80
   - host: second.bar.com
   http:
   paths:
   - pathType: Prefix
   path: "/"
   backend:
   service:
   name: service2
   port:
   number: 80
   - http:
   paths:
   - pathType: Prefix
   path: "/"
   backend:
   service:
   name: service3
   port:
   number: 80
  TLSVocê pode configurar o uso de TLS no Ingress especificando um Secret que contém uma chave privada e um certificado TLS.
  O recurso Ingress suporta apenas uma única porta TLS, 443, e assume a terminação TLS no ponto de entrada (o tráfego para o Serviço e seus Pods não está criptografado o que é inseguro).
  Se a seção de configuração TLS em um Ingress especificar hosts diferentes, eles serão multiplexados na mesma porta de acordo com o nome do host especificado através da extensão SNI TLS (desde que o controlador Ingress suporte SNI).
  O objeto Secret do tipo TLS deve conter chaves chamadas tls.crt e tls.key que contêm o certificado e a chave privada a ser usada para TLS.Por exemplo:apiVersion: v1
  kind: Secret
  metadata:
   name: testsecret-tls
   namespace: default
  data:
   tls.crt: base64 encoded cert
   tls.key: base64 encoded key
  type: kubernetes.io/tls
  Fazer referência a esse segredo em um Ingress diz ao controlador Ingress para proteger o canal do cliente para o balanceador de carga usando TLS.
  Você precisa ter certeza de que o objeto Secret do tipo TLS que você criou é originário de um certificado que contém um Nome Comum (Common
  Name, CN), também conhecido como Nome de Domínio Totalmente Qualificado (Fully Qualified Domain Name, FQDN), tal como https-example.foo.com.Nota:Tenha em mente que o TLS não funcionará na regra padrão porque os certificados teriam que ser emitidos para todos os subdomínios possíveis.
  Portanto, os hosts na seção tls precisam corresponder explicitamente ao host na seção rules.service/networking/tls-example-ingress.yaml
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
   name: tls-example-ingress
  spec:
   tls:
   - hosts:
   - https-example.foo.com
   secretName: testsecret-tls
   rules:
   - host: https-example.foo.com
   http:
   paths:
   - path: /
   pathType: Prefix
   backend:
   service:
   name: service1
   port:
   number: 80
  Nota:Há uma lacuna entre os recursos TLS suportados por vários controladores Ingress.
  Consulte a documentação sobre nginx, GCE ou qualquer outro controlador Ingress específico da plataforma para entender como o TLS funciona em seu ambiente.Balanceador de cargaUm controlador Ingress é inicializado com algumas configurações de política de balanceamento de carga que se aplicam a todos os Ingress, como o algoritmo de balanceamento de carga, esquema de peso de backend e outros.
  Conceitos mais avançados de balanceamento de carga (por exemplo, sessões persistentes, pesos dinâmicos) ainda não estão expostos através do Ingress.
  Em vez disso, você pode obter esses recursos através do balanceador de carga usado para um serviço.Também vale a pena notar que, embora as verificações de integridade não sejam expostas diretamente através do Ingress, existem conceitos paralelos no Kubernetes, como readiness probes, que permitem alcançar o mesmo resultado final.
  Revise a documentação específica do controlador para ver como eles lidam com as verificações de integridade (por exemplo: nginx ou GCE).Atualizando um IngressPara atualizar um Ingress existente para adicionar um novo Host, você pode atualizá-lo editando o recurso:kubectl describe ingress test
  Name: test
  Namespace: default
  Address: 178.91.123.132
  Default backend: default-http-backend:80 (10.8.2.3:8080)
  Rules:
   Host Path Backends
   ---- ---- --------
   foo.bar.com
   /foo service1:80 (10.8.0.90:80)
  Annotations:
   nginx.ingress.kubernetes.io/rewrite-target: /
  Events:
   Type Reason Age
  ```