Como ativar a entrada

Nesta página, mostramos como ativar o tráfego de entrada de um cluster do GKE On-Prem.

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. 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 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