Par défaut, les pods utilisent les vSwitches et les groupes de sécurité du cluster. Pour répondre à d'autres besoins, ajoutez des annotations aux pods afin de spécifier les vSwitches et les groupes de sécurité souhaités.
Spécifier les vSwitches
Vous pouvez spécifier plusieurs vSwitches lors de la création d'un cluster ACS pour améliorer sa disponibilité. Par défaut, lorsqu'ACS crée un pod, il sélectionne aléatoirement un vSwitch du cluster et attribue au pod une adresse IP issue du bloc CIDR de ce vSwitch. Pour répondre à des besoins spécifiques, ajoutez l'annotation de pod suivante pour définir les vSwitches à utiliser.
Annotation de pod | Description |
| Définit les vSwitches attribués aux pods. Cette annotation doit respecter les conditions suivantes :
|
Ajoutez cette annotation dans les métadonnées du fichier de configuration du pod. Par exemple, lors de la création d'un Deployment, insérez l'annotation dans la section spec.template.metadata. Exemple :
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-vsw
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
annotations:
network.alibabacloud.com/vswitch-ids: "vsw-uf65vd1j5iml8ydw3****"
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
ports:
- containerPort: 80
Spécifier un groupe de sécurité
Lors de la création d'un cluster ACS, le système configure automatiquement un groupe de sécurité. Par défaut, lorsqu'ACS crée un pod, il associe automatiquement l'ENI du pod au groupe de sécurité du cluster, intégrant ainsi le pod à ce groupe. Pour répondre à des besoins particuliers, ajoutez l'annotation de pod suivante afin de désigner un groupe de sécurité spécifique.
Vous pouvez également modifier les règles des groupes de sécurité des pods pour contrôler le trafic entrant et sortant. Pour plus d'informations, consultez Ajouter une règle de groupe de sécurité.
Annotation de pod | Description |
| Assigne un groupe de sécurité au pod. |
Ajoutez cette annotation dans les métadonnées du fichier de configuration du pod. Par exemple, pour un Deployment, insérez l'annotation dans la section spec.template.metadata. Exemple :
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-sg
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
annotations:
network.alibabacloud.com/security-group-ids: "sg-uf6f7toxvc6qhlnf****"
spec:
containers:
- name: nginx
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
ports:
- containerPort: 80