Políticas de grupo de seguridad
Cuando se utiliza el modelo de Cloud Native Network 2.0, los pods utilizan ENI de VPC o subENI para redes. Puede vincular directamente los grupos de seguridad y las EIP a los pods. CCE proporciona un objeto de recurso personalizado denominado SecurityGroup para que pueda asociar grupos de seguridad con pods en CCE. SecurityGroups puede personalizar cargas de trabajo con requisitos específicos de aislamiento de seguridad.
Restricciones
- Esta función es compatible con los clústeres de CCE Turbo de v1.19 y posteriores. Actualice sus clústeres de CCE Turbo si sus versiones son anteriores a v1.19.
- Una carga de trabajo puede vincularse a un máximo de cinco grupos de seguridad.
Uso de la consola
- Inicie sesión en la consola de CCE y acceda a la consola del clúster.
- En el panel de navegación, elija Workloads. En la página mostrada, haga clic en el nombre de la carga de trabajo de destino.
- Cambie a la página de la ficha Security Group Policy y haga clic en Create.
- Establezca los parámetros como se describe en Tabla 1.
Tabla 1 Parámetros de configuración Parámetro
Descripción
Valor de ejemplo
Security Group Policy Name
Escriba un nombre de política de seguridad.
Introduzca de 1 a 63 caracteres. El valor debe comenzar con una minúscula y no puede finalizar con un guion (-). Solo se permiten letras minúsculas, dígitos y guiones (-).
security-group
Associate Security Group
El grupo de seguridad seleccionado estará vinculado a la ENI o a la ENI suplementaria de la carga de trabajo seleccionada. Se puede seleccionar un máximo de cinco grupos de seguridad de la lista desplegable. Para crear un SecurityGroup debe seleccionar uno o varios grupos de seguridad.
Si no se ha creado ningún grupo de seguridad, haga clic en Create Security Group. Una vez creado el grupo de seguridad, haga clic en el botón de actualizar.
AVISO:- Se puede seleccionar un máximo de 5 grupos de seguridad.
- Sitúe el cursor sobre junto al nombre del grupo de seguridad y podrá ver detalles sobre el grupo de seguridad.
64566556-bd6f-48fb-b2c6-df8f44617953
5451f1b0-bd6f-48fb-b2c6-df8f44617953
- Después de establecer los parámetros, haga clic en OK.
Después de crear el grupo de seguridad, el sistema vuelve automáticamente a la página de lista de grupos de seguridad, donde puede ver el nuevo grupo de seguridad.
Uso de kubectl
- Utilice kubectl para conectarse al clúster. Para obtener más información, véase Conexión a un clúster con kubectl.
- Cree un archivo de descripción denominado securitygroup-demo.yaml.
vi securitygroup-demo.yaml
Por ejemplo, cree el siguiente SecurityGroup para enlazar todas las cargas de trabajo nginx con dos grupos de seguridad 64566556-bd6f-48fb-b2c6-df8f44617953 y 5451f1b0-bd6f-48 fb-b2c6-df8f44617953 que se han creado de antemano. Un ejemplo es el siguiente:
apiVersion: crd.yangtse.cni/v1 kind: SecurityGroup metadata: name: demo namespace: default spec: podSelector: matchLabels: app: nginx securityGroups: - id: 64566556-bd6f-48fb-b2c6-df8f44617953 - id: 5451f1b0-bd6f-48fb-b2c6-df8f44617953
Tabla 2 describe los parámetros del archivo YAML.Tabla 2 Descripción Campo
Descripción
Obligatorio
apiVersion
Versión de la API. El valor es crd.yangtse.cni/v1.
Sí
kind
Tipo del objeto que se va a crear.
Sí
metadata
Definición de metadatos del objeto de recurso.
Sí
name
Nombre del SecurityGroup.
Sí
namespace
Nombre del espacio de nombres.
Sí
spec
Descripción detallada del SecurityGroup.
Sí
podSelector
Se utiliza para definir la carga de trabajo que se asociará a los grupos de seguridad en SecurityGroup.
Sí
securityGroups
ID del grupo de seguridad.
Sí
- Ejecute el siguiente comando para crear el SecurityGroup:
kubectl create -f securitygroup-demo.yaml
Si se muestra la siguiente información, se está creando el SecurityGroup.
securitygroup.crd.yangtse.cni/demo created
- Ejecute el siguiente comando para ver el SecurityGroup:
kubectl get sg
Si el nombre del SecurityGroup creado es demo en la salida del comando, el SecurityGroup se crea correctamente.
NAME POD-SELECTOR AGE all-no map[matchLabels:map[app:nginx]] 4h1m s001test map[matchLabels:map[app:nginx]] 19m demo map[matchLabels:map[app:nginx]] 2m9s