Como ativar a entrada

Nesta página, mostramos como ativar a entrada para um cluster GKE On-Prem do Anthos.

SSH na estação de trabalho de administrador

Faça SSH na sua estação de trabalho do administrador:

ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]

em que [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. 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:

  1. Crie um secret do Kubernetes que contenha seu certificado e sua chave.
  2. Crie um objeto de gateway ou modifique um objeto de gateway atual que se refere ao seu secret. O nome do objeto 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 de 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

Você pode criar vários certificados TLS para hosts diferentes modificando seu manifesto de gateway.

Salve o manifesto em um arquivo chamado my-gateway.yaml e crie o gateway:

kubectl apply -f my-gateway.yaml