Este tema responde a las preguntas frecuentes sobre la seguridad de los contenedores de aplicaciones.
¿Por qué no hay conectividad de red entre los contenedores?
Este problema suele deberse a dos errores de configuración en el security group.
Causa 1: se eliminó la regla de entrada para el CIDR de red del pod
La regla obligatoria permite todo el tráfico proveniente del bloque CIDR del pod. Sin ella, la comunicación entre contenedores falla.
Solución: vuelva a agregar la regla faltante.
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, busque el clúster de destino y haga clic en su nombre. En el panel de navegación izquierdo, haga clic en Cluster Information.
En la página Cluster Information, haga clic en la pestaña Basic Information. Haga clic en el enlace junto a Control Plane Security Group para abrir la página del security group en la consola de ECS.
-
En la página Security Groups, haga clic en la pestaña Inbound y luego haga clic en Add Rule. Configure la regla en el cuadro de diálogo y haga clic en Submit.
Field
Value
Action
Allow
Priority
Default
Protocol
All Traffic
Source
Bloque CIDR del pod (lo encontrará en Pod Network CIDR, dentro de la sección Network de la página de detalles del clúster)
Causa 2: una nueva instancia de ECS pertenece a un security group distinto al del clúster
Solución: obtenga el ID del security group del clúster desde el campo Basic Information > Security Group y agregue la instancia de ECS a ese security group. Para más información, consulte Add an instance to, remove an instance from, or switch the security group for an instance.
¿Cómo especifico un security group para un clúster de Kubernetes?
Al crear un clúster
ACK crea automáticamente un security group predeterminado durante la creación del clúster. Si necesita reglas personalizadas, modifique este security group después de crearlo. Para más información, consulte Configure a cluster security group.
Para un clúster existente
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, busque el clúster de destino y haga clic en su nombre. En el panel de navegación izquierdo, haga clic en Cluster Information.
En la página Cluster Information, haga clic en la pestaña Basic Information. En la sección Network, haga clic en Edit junto a Control Plane Security Group.
Seleccione el security group en el cuadro de diálogo y haga clic en OK.
¿Se puede habilitar o deshabilitar la función de auditoría del clúster después de crearlo?
Sí. Para más información, consulte Use the cluster API server audit feature.
¿Cómo cambio el periodo de validez del certificado y reemplazo los certificados de componentes en un clúster ACK Dedicated?
ACK envía mensajes internos y notificaciones aproximadamente dos meses antes de que caduque el certificado del clúster. Cuando reciba la notificación, vaya a la página Clusters en la consola y haga clic en el botón de actualización. Para más información, consulte Update an expiring certificate for an ACK dedicated cluster.
Si el certificado ya caducó, consulte Update an expired certificate for an ACK dedicated cluster.
¿Por qué no puedo crear un pod y aparece el error "no providers available to validate pod request"?
Si no configuró una Pod Security Policy (PSP) personalizada, este error ocurre porque se eliminó la PSP predeterminada. Restaure las reglas de la PSP predeterminada para solucionarlo. Para más información, consulte [\[Deprecated\] Use Pod Security Policies](https://www.alibabacloud.com/help/en/document_detail/165047.html#task-2495517).
Si prefiere configurar una PSP personalizada, consulte Enable security policy management.
¿Por qué no puedo usar un Secret en un nuevo namespace?
Los Secrets tienen alcance de namespace. Cada namespace mantiene su propio conjunto aislado de Secrets, por lo que los pods solo pueden acceder a los Secrets de su mismo namespace.
Para usar un Secret en un nuevo namespace, cree el Secret directamente en dicho namespace.
¿Por qué no puedo montar el default-token?
Causa: la versión de systemd en el nodo es demasiado antigua.
El mensaje de error tiene el siguiente formato:
Normal Scheduled 13m default-scheduler Successfully assigned dev/alibaba-demo-67fcdbfb8-zklnp to cn-hangzhou.10.7.3.16 Warning FailedMount 13m (x2 over 13m) kubelet, cn-hangzhou.10.7.3.16 MountVolume.SetUp failed for volume 'default-token-8twx9' : mount failed: exit status 1 Mounting command: systemd-run Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/62d39b35-9a4d-11ea-9870-c24d56a0e904/volumes/kubernetes.io~secret/default-token-8twx9 --scope -- mount -t tmpfs tmpfs /var/lib/kubelet/pods/62d39b35-9a4d-11ea-9870-c24d56a0e904/volumes/kubernetes.io~secret/default-token-8twx9 Output: Failed to start transient scope unit: Argument list too long Warning FailedCreatePodContainer 3m40s (x49 over 13m) kubelet, cn-hangzhou.10.7.3.16 unable to ensure pod container exists: failed to create container for [kubepods burstable pod62d39b35-9a4d-11ea-9870-c24d56a0e904] : Argument list too long
Aplique cualquiera de las siguientes soluciones:
Actualice systemd. Para más información, consulte el comentario de GitHub en kubernetes/kubernetes #57345.
Ejecute
sudo systemctl daemon-reloadpara reiniciar y restablecer el daemon. Para más información, consulte el comentario de GitHub en kubernetes/kubernetes #57345.
¿Cómo consulto los registros de auditoría?
Los registros de auditoría se almacenan en Simple Log Service (SLS). Para abrir el logstore, siga estos pasos:
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, busque el clúster de destino y haga clic en su nombre. En el panel de navegación izquierdo, haga clic en Cluster Information.
En la página Cluster Information, haga clic en la pestaña Basic Information. Haga clic en el enlace junto a Log Service Project para abrir la consola de SLS.
En la página Log Storage > Logstores, seleccione el logstore
audit-<cluster_id>y haga clic en Search & Analyze en la esquina superior derecha.Seleccione un intervalo de tiempo que abarque desde el momento en que el sistema funcionaba correctamente hasta cuando ocurrió el problema; por ejemplo, 3 días, 7 días o 15 días.
Introduzca una consulta en el cuadro de texto Search & Analyze y haga clic en Search & Analyze.
Para descargar los resultados, haga clic en el ícono
y seleccione Download Log. Configure los parámetros de descarga en el cuadro de diálogo y haga clic en OK.
Consulta de cambios relacionados con RBAC
requestURI: "rbac.authorization.k8s.io" not (verb: get or verb: watch)
Consulta de cambios relacionados con ConfigMap
Reemplace <configmap_name> con el nombre real del ConfigMap.
requestURI: "configmaps" and <configmap_name> not (verb: get or verb: watch or verb: list)
Consulta del escalado de pods en un Deployment
Reemplace <deployment_name> con el nombre real del Deployment.
requestURI: deployments and (verb: update or verb: patch) and replicas and deployments and <deployment_name> not deployment-controller