Une nouvelle version d'Anthos clusters on AWS (GKE on AWS) est disponible depuis le 31 mars. Consultez les notes de version pour plus d'informations.

Démarrage rapide

Cet article vous explique comment créer une charge de travail dans Anthos clusters on AWS (GKE sur AWS) et l'exposer en interne dans votre cluster.

Avant de commencer

Avant de commencer à utiliser Anthos clusters on AWS, assurez-vous d'avoir effectué les tâches suivantes :

  • Installez un service de gestion.
  • Créez un cluster d'utilisateur.
  • À partir de votre répertoire anthos-aws, utilisez anthos-gke pour basculer vers le contexte de votre cluster d'utilisateur.
    cd anthos-aws
    env HTTP_PROXY=http://localhost:8118 \
    anthos-gke aws clusters get-credentials CLUSTER_NAME

Vous pouvez effectuer ces étapes avec kubectl ou avec Google Cloud Console si vous vous êtes authentifié à l'aide de Connect. Si vous utilisez Google Cloud Console, passez à la section Lancer un déploiement NGINX.

Pour vous connecter à vos ressources Anthos clusters on AWS, procédez comme suit : Indiquez si vous disposez d'un VPC AWS (ou d'une connexion directe à votre VPC) ou si vous avez créé un VPC dédié lors de la création de votre service de gestion.

VPC existant

Si vous disposez d'une connexion directe ou VPN à un VPC existant, omettez la ligne env HTTP_PROXY=http://localhost:8118 des commandes de cette rubrique.

VPC dédié

Lorsque vous créez un service de gestion dans un VPC dédié, Anthos clusters on AWS inclut un hôte bastion placé dans un sous-réseau public.

Pour vous connecter à votre service de gestion, procédez comme suit :

  1. Accédez au répertoire de votre configuration Anthos clusters on AWS. Vous avez créé ce répertoire lors de l'installation du service de gestion.

    cd anthos-aws

  2. Pour ouvrir le tunnel, exécutez le script bastion-tunnel.sh. Le tunnel est transféré vers localhost:8118.

    Pour ouvrir un tunnel vers l'hôte bastion, exécutez la commande suivante :

    ./bastion-tunnel.sh -N
    

    Les messages en provenance du tunnel SSH s'affichent dans cette fenêtre. Lorsque vous êtes prêt à fermer la connexion, arrêtez le processus à l'aide du raccourci Ctrl+C ou en fermant la fenêtre.

  3. Ouvrez un nouveau terminal et accédez au répertoire anthos-aws.

    cd anthos-aws
  4. Vérifiez que vous êtes en mesure de vous connecter au cluster à l'aide de kubectl.

    env HTTP_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    La sortie inclut l'URL du serveur d'API du service de gestion.

Lancer un déploiement NGINX

Dans cette section, vous allez créer un déploiement du serveur Web NGINX nommé nginx-1.

kubectl

  1. Créez le déploiement à l'aide de kubectl create.

    env HTTP_PROXY=http://localhost:8118 \
    kubectl create deployment --image nginx nginx-1
    
  2. Utilisez la commande kubectl pour obtenir l'état du déploiement. Notez le nom (NAME) du pod.

    env HTTP_PROXY=http://localhost:8118 \
    kubectl get deployment
    

Console

Pour lancer un déploiement NGINX avec Google Cloud Console, procédez comme suit :

  1. Accédez au menu "Charges de travail GKE" dans Cloud Console.

    Accéder au menu Charges de travail

  2. Cliquez sur Déployer.

  3. Sous Modifier le conteneur, sélectionnez Image existante du conteneur pour choisir une image de conteneur disponible dans Container Registry. Dans le champ Chemin de l'image, indiquez l'image de conteneur que vous souhaitez utiliser et sa version. Pour ce guide de démarrage rapide, utilisez nginx:latest.

  4. Cliquez sur OK, puis sur Continuer. L'écran Configuration s'affiche.

  5. Vous pouvez modifier le Nom d'application et l'Espace de noms Kubernetes de votre déploiement. Pour ce guide de démarrage rapide, vous pouvez utiliser comme nom d'application nginx-1 et comme espace de noms default.

  6. Dans le menu déroulant Cluster, sélectionnez votre cluster d'utilisateur. Par défaut, votre premier cluster d'utilisateur est nommé cluster-0.

  7. Cliquez sur Déployer. Anthos clusters on AWS lance votre déploiement NGINX. L'écran Détails du déploiement s'affiche.

Exposer vos pods

Cette section explique comment effectuer l'une des opérations suivantes :

  • Exposez votre déploiement en interne dans votre cluster et confirmez qu'il est disponible avec kubectl port-forward.

  • Exposez votre déploiement depuis Google Cloud Console aux adresses autorisées par le groupe de sécurité de votre pool de nœuds.

kubectl

  1. Exposez le port 80 du déploiement au cluster à l'aide de kubectl expose.

    env HTTP_PROXY=http://localhost:8118 \
    kubectl expose deployment nginx-1 --port=80
    

    Le déploiement est désormais accessible depuis le cluster.

  2. Transférez le port 80 du déploiement vers le port 8080 sur votre ordinateur local avec kubectl port-forward.

    env HTTP_PROXY=http://localhost:8118 \
    kubectl port-forward deployment/nginx-1 8080:80
    
  3. Connectez-vous à http://localhost:8080 avec curl ou avec votre navigateur Web. La page Web NGINX par défaut s'affiche.

    curl http://localhost:8080
    

Console

  1. Accédez au menu "Charges de travail GKE" dans Cloud Console.

    Accéder au menu Charges de travail

  2. Sur la page Informations sur le déploiement, cliquez sur Exposer. L'écran Exposer un déploiement s'affiche.

  3. Dans la section Mappage de port, conservez le port par défaut (80), puis cliquez sur OK.

  4. Comme Type de service, sélectionnez Équilibreur de charge. Pour en savoir plus sur les autres options, consultez la page Publishing services (ServiceTypes) (publication de services) de la documentation Kubernetes.

  5. Cliquez sur Exposer. L'écran Informations sur le service s'affiche. Anthos clusters on AWS crée un équilibreur de charge Elastic Load Balancer classique pour le service.

  6. Cliquez sur le lien Points de terminaison externes. Si l'équilibreur de charge est prêt, la page Web NGINX par défaut s'affiche.

Afficher votre déploiement sur Google Cloud Console

Si votre cluster est connecté à Google Cloud Console, vous pouvez afficher votre déploiement sur la page des charges de travail de GKE. Pour afficher votre charge de travail, procédez comme suit :

  1. Dans votre navigateur, consultez la page Charges de travail de Google Kubernetes Engine.

    Accéder à la page des charges de travail de Google Kubernetes Engine

    La liste des charges de travail s'affiche.

  2. Cliquez sur le nom de votre charge de travail, nginx-1. L'écran Détails du déploiement s'affiche.

  3. Sur cette page, vous pouvez obtenir des informations sur votre déploiement, afficher et modifier la configuration YAML, et effectuer d'autres actions Kubernetes.

Pour en savoir plus sur les options disponibles sur cette page, consultez la page Déployer une application sans état dans la documentation de GKE.

Nettoyage

Pour supprimer votre déploiement NGINX, utilisez kubectl delete ou Google Cloud Console.

kubectl

env HTTP_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1

Console

  1. Accédez au menu des pages "Services et ressources Ingress" dans Google Cloud Console.

    Accéder à la page "Services et ressources Ingress"

  2. Recherchez votre service NGINX et cliquez sur son Nom. Par défaut, il est nommé nginx-1-service. L'écran Informations sur le service s'affiche.

  3. Cliquez sur  Supprimer et confirmez que vous souhaitez supprimer le service. Anthos clusters on AWS supprime l'équilibreur de charge.

  4. Accédez à la page des charges de travail de Google Kubernetes Engine.

    Accéder à la page des charges de travail de Google Kubernetes Engine

    La liste des charges de travail s'affiche.

  5. Cliquez sur le nom de votre charge de travail, nginx-1. L'écran Détails du déploiement s'affiche.

  6. Cliquez sur  Supprimer et confirmez que vous souhaitez supprimer le déploiement. Anthos clusters on AWS supprime le déploiement.

Étape suivante

Créez un équilibreur de charge interne ou externe à l'aide de l'un des services suivants :

Vous pouvez utiliser d'autres types de charges de travail Kubernetes avec Anthos clusters on AWS. Consultez la documentation de GKE pour plus d'informations sur le déploiement de charges de travail.