Cette page s'adresse aux administrateurs informatiques et aux opérateurs qui souhaitent configurer, surveiller et gérer une infrastructure cloud. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le contenu Google Cloud , consultez la section Rôles utilisateur et tâches courantes de GKE Enterprise.
Fichier de configuration Kubernetes
Kubernetes se sert d'un fichier YAML appelé kubeconfig
pour stocker les informations d'authentification de cluster pour kubectl
. kubeconfig
contient la liste des contextes auxquels kubectl
fait référence lors de l'exécution de commandes. Par défaut, le fichier est enregistré sous $HOME/.kube/config
.
Un contexte est un groupe de paramètres d'accès. Chaque contexte contient un cluster Kubernetes, un utilisateur et un espace de noms. Le contexte actuel est le cluster par défaut actuel de kubectl
: toutes les commandes kubectl
s'exécutent sur ce cluster.
Après avoir créé un cluster, suivez les instructions de la section Générer une entrée kubeconfig
pour ajouter le contexte du cluster à votre fichier kubeconfig
local.
Points de terminaison privés
Tous les clusters possèdent un point de terminaison canonique. Le point de terminaison expose le serveur d'API Kubernetes utilisé par kubectl
et d'autres services pour communiquer avec votre plan de contrôle de cluster via le port TCP 443. Sur AWS, ce point de terminaison est un nom DNS qui ne peut être résolu que dans le cluster, par exemple gke-abcdefghijk-cp-ffabcdef123456.elb.us-west-1.amazonaws.com
.
Ce point de terminaison n'est pas accessible depuis l'Internet public. Vous pouvez obtenir l'adresse du point de terminaison du cluster privé à partir du champ endpoint
dans le résultat de la commande gcloud container aws clusters describe
.
Connecter le point de terminaison de passerelle
Par défaut, la commande gcloud container aws clusters get-credentials
génère un fichier kubeconfig
qui utilise la passerelle Connect. Avec cette kubeconfig
, kubectl
utilise Connect, qui transfère ensuite de manière sécurisée le trafic vers le point de terminaison privé en votre nom. Lorsque vous utilisez la passerelle Connect, le point de terminaison ressemble à https://connectgateway.googleapis.com/v1/projects/PROJECT_NUMBER/memberships/CLUSTER_NAME
, où PROJECT_NUMBER est le numéro de votre projet et CLUSTER_NAME est le nom de votre cluster.
Si vous avez accès au point de terminaison privé de votre cluster via votre VPC, vous pouvez vous connecter directement au point de terminaison privé. Pour générer un kubeconfig
à l'aide du point de terminaison privé, exécutez la commande gcloud container aws clusters get-credentials --private-endpoint
.
À propos de l'authentification pour kubectl
Tous les clusters GKE sur AWS sont configurés pour accepter les identités de compte de service et de compte utilisateur Google Cloud, en validant les identifiants présentés par kubectl
et en récupérant l'adresse e-mail associée à l'identité d'un utilisateur ou d'un compte de service. Par conséquent, les identifiants de ces comptes doivent inclure le champ d'application OAuth de userinfo.email
afin de s'authentifier avec succès.
Lorsque vous utilisez gcloud
pour configurer le fichier kubeconfig
de votre environnement pour un nouveau cluster ou pour un cluster existant, gcloud
fournit à kubectl
les mêmes identifiants que ceux utilisés par gcloud
. Par exemple, si vous utilisez la commande gcloud auth login
, vos identifiants personnels sont fournis à kubectl
, y compris le champ d'application userinfo.email
. Cela permet à GKE sur AWS d'authentifier le client kubectl
.
Une fois authentifiés, les utilisateurs ou les Google Cloud comptes de service doivent également être autorisés à effectuer des actions sur un cluster GKE sur AWS. L'administrateur du cluster est chargé de mettre en place le contrôle des accès basé sur les rôles approprié pour configurer l'autorisation.