Grupos de seguridad de red

En esta página, se describen y enumeran los grupos de seguridad de red (NSG) de Azure que requiere GKE en Azure.

NSG administrados

GKE en Azure administra los NSG adjuntos a la tarjeta de interfaz de red virtual (NIC) de cada instancia de máquina virtual (VM). Para controlar aún más el tráfico de red, puedes agregar NSG adicionales a las subredes.

GKE en Azure administra automáticamente las reglas de NSG necesarias. Agrega reglas de NSX faltantes y quita reglas que ya no son necesarias. GKE en Azure también modifica las reglas según la configuración del servicio de Kubernetes. Por ejemplo, cuando agregas un Service de Kubernetes de tipo LoadBalancer, GKE en Azure agrega las reglas NSG correspondientes.

Prioridades de las reglas

Las prioridades de las reglas de NSG de Azure tienen un rango de 100 a 4,096. Mientras más bajo sea el número, más alta será la prioridad.

Por su diseño, GKE en Azure administra solo reglas NSG con una prioridad de 500 o más. Por lo tanto, si necesitas implementar una regla específica o crear reglas adicionales, puedes usar los NSG con una prioridad de 100 a 499.

Azure procesa las reglas en orden, que comienza con la cantidad de prioridad más baja y sigue hacia arriba. Cuando crees una regla nueva, elige siempre las prioridades de reglas en el rango de 100 a 499 para evitar conflictos con las reglas de NSG de Anthos existentes.

Grupos de seguridad para aplicaciones

GKE en Azure crea dos grupos de seguridad de aplicaciones (ASG) que se aplican a las NIC virtuales de los planos de control y los nodos trabajadores. GKE en Azure actualiza los ASG automáticamente, por ejemplo, cuando agregas un grupo de nodos nuevo a un clúster. Puedes usar estos ASG cuando creas reglas de NSG.

Los ID de Azure Resource Manager (ARM) del NSG y del plano de control del ASG se pueden obtener del resultado de gcloud container azure clusters describe.

Por ejemplo, para permitir conexiones SSH a las VMs del plano de control, ejecuta el comando az network nsg rule create a fin de crear un NSG que haga referencia al ASG del plano de control:

NSG_NAME=$(basename $(gcloud container azure clusters describe \
  CLUSTER_NAME --location=GOOGLE_CLOUD_LOCATION \
  --format 'value(managedResources.networkSecurityGroupId)'))

ASG_CP_NAME=$(basename $(gcloud container azure clusters describe \
  CLUSTER_NAME --location=GOOGLE_CLOUD_LOCATION \
  --format 'value(managedResources.controlPlaneApplicationSecurityGroupId)'))

az network nsg rule create \
  --name AllowSshToControlPlane \
  --nsg-name "${NSG_NAME}" \
  --priority 100 \
  --resource-group "CLUSTER_RESOURCE_GROUP" \
  --access Allow \
  --protocol Tcp \
  --destination-port-ranges 22 \
  --destination-asgs "${ASG_CP_NAME}"

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre de tu clúster.
  • GOOGLE_CLOUD_LOCATION: es la ubicación de Google Cloud que administra tus clústeres.
  • CLUSTER_RESOURCE_GROUP: es el nombre del grupo de recursos de Azure que contiene tu clúster

Si deseas obtener más información para crear una regla nueva, sigue el procedimiento que se describe en Creación de reglas de NSG de Azure.

Reglas NSG predeterminadas

Cuando se configura GKE en Azure, se crean las siguientes reglas de NSG en la red virtual de Azure:

Prioridad Puertos Protocolo Origen Destino Acción Objetivo
1000 2380, 2381 TCP NIC del plano de control NIC del plano de control Permitir Comunicación de etcd del plano de control
1001 443, 8132 TCP Cualquiera NIC del plano de control Permitir Permite acceder a la API de Kubernetes
1002 10250 TCP NIC del plano de control NIC del grupo de nodos Permitir Comunicaciones del plano de control a los nodos
1003 10250, 10255 TCP NIC del grupo de nodos NIC del grupo de nodos Permitir Comunicación de nodo a nodo
1004 6081 UDP NIC del grupo de nodos NIC del grupo de nodos Permitir Comunicación del nodo a la CNI del nodo
1005 Cualquiera Cualquiera Balanceador de cargas de Azure Cualquiera Permitir Permite el tráfico entrante al balanceador de cargas
4,096 Cualquiera Cualquiera Cualquiera Cualquiera Denegar Rechaza todas las conexiones entrantes que no estén cubiertas por otra regla