Activer l'entrée

Cette page explique comment activer l'entrée pour un cluster Anthos Clusters on VMware (GKE On-Prem).

Avant de commencer

Déployer une application

Se connecter en SSH au poste de travail administrateur

Connectez-vous en SSH à votre poste de travail administrateur :

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

[IP_ADDRESS] est l'adresse IP de votre poste de travail administrateur.

Effectuez toutes les étapes restantes de cet article sur votre poste de travail d'administrateur.

Activer l'entrée

Une fois votre cluster d'utilisateur en cours d'exécution, vous devez activer l'entrée en créant un objet passerelle Istio. Cet objet passerelle Istio est requis pour le trafic réseau entrant. Il n'est pas destiné à être utilisé ni accepté dans d'autres cas d'utilisation, par exemple dans les règles d'autorisation. La première partie du fichier manifeste Gateway est toujours la suivante :

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: istio-autogenerated-k8s-ingress
  namespace: gke-system
spec:
  selector:
    istio: ingress-gke-system

Vous pouvez ajouter des champs supplémentaires à votre objet passerelle pour spécifier le trafic autorisé à entrer dans votre cluster. Pour plus d'informations sur l'utilisation des passerelles pour gérer les requêtes entrantes, consultez la page sur la gestion du trafic.

Le fichier manifeste de l'objet passerelle suivant indique que les clients peuvent envoyer des requêtes sur le port 80 à l'aide du protocole HTTP/2 et de n'importe quel nom d'hôte :

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:
    - "*"

Si vous souhaitez que votre service d'entrée accepte les requêtes HTTPS, vous devez fournir un ou plusieurs certificats que ce service pourra présenter aux clients.

Pour fournir un certificat :

  1. Créez un secret Kubernetes qui contient votre certificat et votre clé.
  2. Créez un objet passerelle faisant référence à votre secret, ou modifiez-en un existant. Le nom de l'objet Gateway doit être istio-autogenerated-k8s-ingress.

Par exemple, supposons que vous ayez déjà créé un fichier de certificat, ingress-wildcard.crt, et un fichier de clé, ingress-wildcard.key.

Créez un secret nommé ingressgateway-wildcard-certs :

kubectl create secret tls \
    --namespace gke-system \
    ingressgateway-wildcard-certs \
    --cert ./ingress-wildcard.crt \
    --key ./ingress-wildcard.key

Le fichier manifeste de l'objet passerelle suivant fait référence à votre secret. Les clients peuvent appeler le port 443 via le protocole HTTPS et avec n'importe quel nom d'hôte correspondant à *.example.com. Notez que le nom d'hôte dans le certificat doit correspondre au nom d'hôte dans le fichier manifeste, *.example.com dans cet exemple :

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

Vous pouvez créer plusieurs certificats TLS pour différents hôtes en modifiant votre fichier manifeste Gateway.

Enregistrez votre fichier manifeste dans un fichier nommé my-gateway.yaml et créez l'objet Gateway :

kubectl apply -f my-gateway.yaml

Étapes suivantes

Créer un service (objet Service) et une entrée (objet Ingress)