Pour configurer un équilibreur de charge externe avec Anthos clusters on AWS, vous devez ajouter à votre VPC et à votre sous-réseau public un tag correspondant à votre ID de cluster. Si vous avez déjà ajouté un tag à votre VPC et à votre sous-réseau, passez à la section Activer l'entrée.
Avant de commencer
Avant de commencer à utiliser Anthos clusters on AWS, assurez-vous d'avoir effectué les tâches suivantes :
- Remplissez les conditions préalables.
- Installez un service de gestion.
- Créez un cluster d'utilisateur.
Dans Anthos clusters on AWS, les sous-réseaux qui contiennent des points de terminaison d'équilibreur de charge doivent disposer d'un tag. Le service ajoute automatiquement un tag à tous les sous-réseaux spécifiés dans le champ spec.Networking.ServiceLoadBalancerSubnetIDs
de la ressource AWSCluster
.
Si vous souhaitez ajouter des sous-réseaux supplémentaires à votre cluster d'utilisateur ou que vous devez réappliquer des tags à des sous-réseaux existants, 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
Obtenez l'ID du VPC AWS de votre cluster avec
kubectl
et stockez-le en tant que variable.export VPC_ID=$(\ env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster cluster-0 -o jsonpath='{.spec.networking.vpcID}')
Vérifiez le contenu des variables avec
echo
. La sortie ressemble à ceci :vpc-12345678abcdef0
.echo $VPC_ID
Enregistrez votre ID de cluster dans une variable d'environnement.
export CLUSTER_ID=$(\ env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster cluster-0 -o jsonpath='{.status.clusterID}')
Vous pouvez vérifier la variable avec
echo
:echo $CLUSTER_ID
La réponse inclut l'ID de votre cluster.
gke-12345678
Si vous avez installé des clusters Anthos sur AWS dans un VPC dédié, vous pouvez utiliser l'outil de ligne de commande
aws
pour récupérer l'ID de sous-réseau.Sélectionnez l'une des options suivantes :
- "Public", si vous souhaitez exposer des services sur votre sous-réseau public
- "Privé", si vous souhaitez exposer des services sur votre sous-réseau privé
"Plusieurs sous-réseaux", si vous souhaitez exposer des services sur plusieurs sous-réseaux
Publique
export SUBNET_ID=$(aws ec2 describe-subnets \ --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*public*" \ --query "Subnets[*].SubnetId" \ --output text)
Le résultat est un objet qui contient l'ID de votre sous-réseau. Il ressemble à
subnet-1234abcdefg
. Vous pouvez vérifier la variable avececho
:echo $SUBNET_ID
La réponse inclut votre ID de sous-réseau.
subnet-012345678abcdef
Privé
export SUBNET_ID=$(aws ec2 describe-subnets \ --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*private*" \ --query "Subnets[*].SubnetId" \ --output text)
Le résultat est un objet qui contient l'ID de votre sous-réseau. Il ressemble à
subnet-1234abcdefg
. Vous pouvez vérifier la variable avececho
:echo $SUBNET_ID
La réponse inclut votre ID de sous-réseau.
subnet-012345678abcdef
Plusieurs sous-réseaux
Si vous utilisez plusieurs sous-réseaux pour vos ressources AWSNodePool (par exemple, si vous utilisez plusieurs zones de disponibilité), vous devez ajouter individuellement des tags à vos ID de sous-réseau.
Récupérez la liste de vos ID de sous-réseau à l'aide de
aws ec2 describe-subnets
.Pour obtenir la liste de tous les sous-réseaux publics, exécutez la commande suivante :
aws ec2 describe-subnets \ --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*public*" \ --query "Subnets[*].SubnetId" \ --output text
Pour obtenir la liste de tous les sous-réseaux privés, exécutez la commande suivante :
aws ec2 describe-subnets \ --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*private*" \ --query "Subnets[*].SubnetId" \ --output text
La réponse inclut les ID de vos sous-réseaux.
subnet-012345678abcdef subnet-abcdef123456789 subnet-123456789abcdef
Ajoutez à votre sous-réseau un tag correspondant à votre ID de cluster. Si vous avez plusieurs sous-réseaux, sélectionnez "Plusieurs sous-réseaux".
Sous-réseau unique
aws ec2 create-tags \ --resources $SUBNET_ID \ --tags Key=kubernetes.io/cluster/$CLUSTER_ID,Value=shared
Plusieurs sous-réseaux
Pour chacun de vos sous-réseaux, exécutez la commande suivante :
aws ec2 create-tags \ --resources subnet-ids \ --tags Key=kubernetes.io/cluster/$CLUSTER_ID,Value=shared
Remplacez subnet-ids par la liste de vos ID de sous-réseau, séparés par des espaces. Exemple :
subnet-012345678abcdef subnet-abcdef123456789 subnet-123456789abcdef
.