Nesta página, mostramos como ativar a entrada de clusters do Anthos no cluster VMware (GKE On-Prem).
Antes de começar
SSH na estação de trabalho de administrador
Implemente SSH na estação de trabalho de administrador:
ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
[IP_ADDRESS] é o endereço IP da sua estação de trabalho de administrador.
Siga todas as etapas restantes neste tópico na sua estação de trabalho de administrador.
Como ativar a entrada
Depois que o cluster de usuário estiver em execução, ative a entrada criando um objeto de Gateway do Istio. Esse objeto de gateway do Istio é necessário para o tráfego de entrada da rede e não se destina a ser usado ou compatível com outros casos de uso, como políticas de autorização. A primeira parte do manifesto de gateway é sempre esta:
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: istio-autogenerated-k8s-ingress namespace: gke-system spec: selector: istio: ingress-gke-system
É possível adicionar outros campos ao gateway para especificar qual tráfego tem permissão para entrar no cluster. Para mais informações sobre como usar gateways para gerenciar solicitações recebidas, consulte Gerenciamento de tráfego.
O seguinte manifesto de gateway diz que os clientes podem enviar solicitações na porta 80 usando o protocolo HTTP/2 e qualquer nome de host:
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: istio-autogenerated-k8s-ingress namespace: gke-system spec: selector: istio: ingress-gke-system servers: - port: number: 80 protocol: HTTP2 name: http hosts: - "*"
Se você quiser que o serviço de entrada aceite solicitações HTTPS, forneça um ou mais certificados que o serviço de entrada possa apresentar aos clientes.
Para fornecer um certificado:
- Crie um secret do Kubernetes que contenha seu certificado e sua chave.
- Crie um objeto de gateway, ou modifique um que já exista, que faça referência
ao Secret. O nome do objeto de gateway precisa ser
istio-autogenerated-k8s-ingress
.
Por exemplo, suponha que você já tenha criado um arquivo de certificado
ingress-wildcard.crt
e um arquivo de chave ingress-wildcard.key
.
Crie um Secret chamado ingressgateway-wildcard-certs
:
kubectl create secret tls \ --namespace gke-system \ ingressgateway-wildcard-certs \ --cert ./ingress-wildcard.crt \ --key ./ingress-wildcard.key
O manifesto de gateway a seguir se refere ao Secret. Os clientes podem chamar na porta 443 usando o protocolo HTTPS e qualquer nome do host que corresponda a *.example.com. Observe que o nome do host no certificado precisa corresponder ao nome do host no manifesto, *.example.com, neste exemplo:
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: istio-autogenerated-k8s-ingress namespace: gke-system spec: selector: istio: ingress-gke-system servers: - port: number: 80 protocol: HTTP2 name: http hosts: - "*" - hosts: - "*.example.com" port: name: https-demo-wildcard number: 443 protocol: HTTPS tls: mode: SIMPLE credentialName: ingressgateway-wildcard-certs
Para criar vários certificados TLS para hosts diferentes, modifique o manifesto de gateway.
Salve o manifesto em um arquivo chamado my-gateway.yaml
e crie o gateway:
kubectl apply -f my-gateway.yaml
A seguir
Como criar um serviço e uma entrada