Cet article explique comment mettre à jour la configuration d'un cluster d'utilisateur existant.
Présentation
Pour les clusters d'utilisateur exécutant Kubernetes 1.20 ou version ultérieure, vous pouvez modifier les attributs suivants :
- Groupes de sécurité d'un cluster d'utilisateur, décrits dans cet article.
- Versions de cluster et de pool de nœuds. Pour en savoir plus, consultez la page Mettre à niveau GKE sur AWS.
- Paramètres proxy. Pour en savoir plus, consultez la page Modifier les paramètres proxy.
- Taille d'un pool de nœuds. Pour en savoir plus, consultez la page Redimensionner un pool de nœuds.
Avec Kubernetes 1.22 et versions ultérieures, vous pouvez mettre à jour les types d'instances EC2.
Pour mettre à jour ces ressources, vous modifiez les ressources AWSCluster et AWSNodePool.
Une fois la configuration mise à jour, GKE sur AWS place le cluster ou le pool de nœuds sur l'état Updating
. Une fois la mise à jour terminée, le cluster ou le pool de nœuds est renvoyé à l'état Provisioned
.
Avant de commencer
Pour modifier vos clusters d'utilisateur, le cluster et le pool de nœuds doivent exécuter Kubernetes version 1.20 ou ultérieure. Si votre cluster n'exécute pas Kubernetes 1.20, commencez par mettre à niveau votre cluster d'utilisateur.
Pour modifier les groupes de sécurité de votre cluster, le rôle IAM AWS (défini sur spec.authentication.awsIAM.adminIdentityARNs
dans anthos-gke.yaml
) qui gère vos clusters d'utilisateurs GKE sur AWS doit disposer de l'autorisation ec2:ModifyNetworkInterfaceAttribute
.
Mettre à jour les groupes de sécurité
Dans cette section, vous allez mettre à jour les groupes de sécurité d'un cluster et d'un pool de nœuds. Pour mettre à jour les groupes de sécurité, procédez comme suit :
À partir de votre répertoire
anthos-aws
, utilisezanthos-gke
pour basculer vers le contexte de votre service de gestion.cd anthos-aws anthos-gke aws management get-credentials
Dans un éditeur de texte, ouvrez le fichier YAML dans lequel vous avez créé votre AWSCluster. Si vous ne disposez pas de votre fichier YAML initial, vous pouvez utiliser
kubectl edit
.Modifier le fichier YAML
Si vous avez suivi les instructions de la section Créer un cluster d'utilisateur, votre fichier YAML s'appelle
cluster-0.yaml
. Ouvrez ce fichier dans un éditeur de texte.Utiliser kubectl edit
Pour modifier votre AWSCluster à l'aide de
kubectl edit
, exécutez la commande suivante :env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-name
Remplacez cluster-name par votre AWSCluster. Par exemple, pour modifier le cluster par défaut,
cluster-0
, exécutez la commande suivante :env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-0
Modifiez le champ
spec.controlPlane.securityGroupIDs
de votre clusterAWSCluster
.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster ... spec: controlPlane: securityGroupIDs: - SECURITY_GROUP_ID ...
Remplacez SECURITY_GROUP_ID par l'ID du nouveau groupe de sécurité. Pour ajouter plusieurs groupes de sécurité, ajoutez des valeurs au tableau sous
spec.controlPlane.securityGroupIDs
.L'exemple suivant inclut les groupes de sécurité
sg-12345678ab
etsg-abcdef1234
:apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster spec: controlPlane: securityGroupIDs: - sg-12345678ab - sg-abcdef1234 ...
Modifiez le champ
spec.securityGroupIDs
de vos ressourcesAWSNodePool
.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSNodePool spec: securityGroupIDs: - SECURITY_GROUP_ID ...
Enregistrez le fichier. Si vous utilisez
kubectl edit
,kubectl
applique automatiquement les modifications. Si vous modifiez le fichier YAML, appliquez-le à votre service de gestion à l'aide de la commande suivante :env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Vérifiez l'état de la mise à jour avec
kubectl
. Une fois la mise à jour terminée, l'état de l'objet passe deUpdating
àProvisioned
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters,AWSNodePools
Par exemple, lorsque le cluster est en cours de mise à jour, le résultat ressemble à ce qui suit :
NAME STATE AGE VERSION ENDPOINT cluster-0 Updating 10m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com NAME CLUSTER STATE AGE VERSION cluster-0-pool-0 cluster-0 Updating 10m40s 1.25.5-gke.2100
Mettre à jour les types d'instances
Dans cette section, vous allez mettre à jour les types d'instances d'un cluster et d'un pool de nœuds. Pour mettre à jour les types d'instances, procédez comme suit :
À partir de votre répertoire
anthos-aws
, utilisezanthos-gke
pour basculer vers le contexte de votre service de gestion.cd anthos-aws anthos-gke aws management get-credentials
Dans un éditeur de texte, ouvrez le fichier YAML dans lequel vous avez créé votre AWSCluster. Si vous ne disposez pas de votre fichier YAML initial, vous pouvez utiliser
kubectl edit
.Modifier le fichier YAML
Si vous avez suivi les instructions de la section Créer un cluster d'utilisateur, votre fichier YAML s'appelle
cluster-0.yaml
. Ouvrez ce fichier dans un éditeur de texte.Utiliser kubectl edit
Pour modifier votre AWSCluster à l'aide de
kubectl edit
, exécutez la commande suivante :env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-name
Remplacez cluster-name par votre AWSCluster. Par exemple, pour modifier le cluster par défaut,
cluster-0
, exécutez la commande suivante :env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-0
Modifiez le champ
spec.controlPlane.instanceType
de votre clusterAWSCluster
.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster ... spec: controlPlane: instanceType: AWS_INSTANCE_TYPE ...
Remplacez AWS_INSTANCE_TYPE par le nouveau type d'instance. Pour en savoir plus, consultez la page Types d'instances compatibles.
Modifiez le champ
spec.instanceType
de vos ressourcesAWSNodePool
.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSNodePool spec: instanceType: AWS_INSTANCE_TYPE ...
Enregistrez le fichier. Si vous utilisez
kubectl edit
,kubectl
applique automatiquement les modifications. Si vous modifiez le fichier YAML, appliquez-le à votre service de gestion à l'aide de la commande suivante :env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Vérifiez l'état de la mise à jour avec
kubectl
. Une fois la mise à jour terminée, l'état de l'objet passe deUpdating
àProvisioned
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters,AWSNodePools
Par exemple, lorsque le cluster est en cours de mise à jour, le résultat ressemble à ce qui suit :
NAME STATE AGE VERSION ENDPOINT cluster-0 Updating 10m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com NAME CLUSTER STATE AGE VERSION cluster-0-pool-0 cluster-0 Updating 10m40s 1.25.5-gke.2100
Étapes suivantes
- Pour en savoir plus sur la mise à niveau d'un cluster utilisateur, consultez Mettre à niveau GKE sur AWS.