Dans un cluster ACK basé sur Terway, ce dernier utilise des interfaces réseau élastiques (ENI) pour attribuer des adresses IP aux conteneurs. Chaque ENI créée par Terway peut être associée à cinq groupes de sécurité au maximum. Cette fonctionnalité vous permet d'appliquer un contrôle d'accès en couches aux pods sans restructurer votre réseau.
Prérequis
Avant de commencer, assurez-vous que :
Votre cluster utilise la version 1.1.1 ou ultérieure du plug-in réseau Terway. Pour mettre à niveau Terway, consultez la rubrique Gérer les composants.
Considérations
Nouvelles ENI uniquement : Les modifications apportées aux groupes de sécurité s'appliquent uniquement aux ENI créées après l'enregistrement de la configuration. Les ENI existantes conservent leurs groupes de sécurité actuels. Pour appliquer la nouvelle configuration aux nœuds existants, supprimez puis rajoutez chaque nœud. Consultez les rubriques Supprimer un nœud et Ajouter des instances ECS existantes à un cluster ACK.
Même VPC : Tous les groupes de sécurité doivent appartenir au même VPC que le cluster.
Même type : Tous les groupes de sécurité doivent être du même type (standard ou entreprise).
Limite de cinq groupes : Vous pouvez associer au maximum cinq groupes de sécurité à une seule ENI. Terway prend en compte à la fois les champs
security_groupetsecurity_groupsdans cette limite.
Associer plusieurs groupes de sécurité à une ENI
kubectl
Par défaut, Terway n'associe qu'un seul groupe de sécurité à chaque ENI qu'il crée. Pour associer des groupes de sécurité supplémentaires, modifiez le ConfigMap eni-config dans le namespace kube-system.
-
Ouvrez le ConfigMap pour modification :
kubectl edit cm eni-config -n kube-system -
Ajoutez le champ
security_groupssous forme de tableau JSON, en plus du champsecurity_groupexistant.Terway applique tous les groupes de sécurité répertoriés dans les champs
security_groupetsecurity_groups. Le total combiné ne doit pas dépasser cinq groupes."security_group": "sg-bp19k3sj8dk3dcd7****", "security_groups": ["sg-bp1b39sjf3v49c33****","sg-bp1bpdfg35tg****"], -
Recréez le pod Terway pour que la configuration prenne effet :
kubectl delete pod -n kube-system -l app=terway-eniipAttendez que tous les pods Terway repassent à l'état
Runningavant de poursuivre :kubectl get pod -n kube-system -l app=terway-eniipLe résultat devrait ressembler à ceci :
NAME READY STATUS RESTARTS AGE terway-eniip-xxxxx 1/1 Running 0 30s
Vérifier la configuration
Connectez-vous à la console ECS. Dans le volet de navigation de gauche, choisissez Instances & Images > Instances.
Sur la page Instances, recherchez l'instance ECS que vous souhaitez vérifier et cliquez dessus.
Sur la page des détails de l'instance, cliquez sur l'onglet ENIs. Vérifiez que l'ENI secondaire affiche désormais les groupes de sécurité que vous avez spécifiés dans le ConfigMap. Si l'ENI secondaire n'affiche toujours que le groupe de sécurité d'origine, il est possible que le pod Terway n'ait pas encore redémarré. Exécutez la commande
kubectl get pod -n kube-system -l app=terway-eniippour confirmer que tous les pods Terway sont à l'étatRunning, puis vérifiez à nouveau l'onglet ENIs.
Associer plusieurs groupes de sécurité lors de la création d'un cluster
Pour définir plusieurs groupes de sécurité lors de la création du cluster, transmettez le paramètre SecurityGroupIDs dans la configuration de l'add-on terway-eniip lors de l'appel à l'API CreateCluster :
{
"name": "your_cluster_name",
"cluster_type": "ManagedKubernetes",
"addons": [
{
"name": "terway-eniip",
"config": "{\"IPVlan\":\"true\",\"NetworkPolicy\":\"false\",\"ENITrunking\":\"true\",\"SecurityGroupIDs\": \"[\\\"sg-foo\\\"]\" }"
}
],
....
}