Gruppi di sicurezza di rete
Questa pagina descrive ed elenca i gruppi di sicurezza della rete Azure (NSG) richiesti da GKE su Azure.
NSG gestiti
GKE su Azure gestisce gli NSG collegati alla scheda di interfaccia della rete virtuale (NIC) di ogni istanza di macchina virtuale (VM). Per controllare ulteriormente il traffico di rete, puoi aggiungere altri NSG alle subnet.
GKE su Azure gestisce automaticamente le regole NSG richieste. Aggiunge le regole NSG mancanti e rimuove quelle che non sono più necessarie. GKE su Azure modifica anche le regole in base alla configurazione del tuo servizio Kubernetes. Ad esempio, quando aggiungi un servizio Kubernetes di tipo LoadBalancer
, GKE su Azure aggiunge le regole NSG corrispondenti.
Priorità delle regole
Le priorità delle regole di Azure NSG hanno un intervallo compreso tra 100 e 4096. Più basso è il numero di priorità, più alta è la priorità.
In base alla sua progettazione, GKE su Azure gestisce solo le regole NSG con priorità pari o superiore a 500. Pertanto, se devi implementare una regola specifica o creare regole aggiuntive, puoi utilizzare i NSG con una priorità compresa tra 100 e 499.
Azure elabora le regole in ordine, a partire dal numero di priorità più basso e procedendo verso l'alto. Quando crei una nuova regola, scegli sempre le priorità delle regole comprese tra 100 e 499 per evitare conflitti con le regole Anthos NSG esistenti.
Gruppi di sicurezza delle applicazioni
GKE su Azure crea due gruppi di sicurezza delle applicazioni (ASG) che si applicano ai NIC virtuali dei piani di controllo e dei nodi worker. GKE su Azure aggiorna gli ASG automaticamente, ad esempio quando aggiungi un nuovo pool di nodi a un cluster. Puoi usare questi ASG durante la creazione di regole NSG.
Gli ID di Azure Resource Manager (ARM) dell'NSG e dell'ASG del piano di controllo possono essere ottenuti dall'output di gcloud container azure clusters describe
.
Ad esempio, per consentire le connessioni SSH alle VM del piano di controllo, esegui il comando az network nsg rule create
per creare un NSG che faccia riferimento all'ASG del piano di controllo:
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}"
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del clusterGOOGLE_CLOUD_LOCATION
: la località Google Cloud che gestisce il clusterCLUSTER_RESOURCE_GROUP
: il nome del gruppo di risorse Azure che contiene il cluster
Per ulteriori informazioni sulla creazione di una nuova regola, segui la procedura descritta in Creazione di regole NSG di Azure.
Regole NSG predefinite
Quando configuri GKE su Azure, vengono create le seguenti regole NSG nella tua rete virtuale Azure.
Priorità | Porte | Protocollo | Origine | Destinazione | Azione | Finalità |
---|---|---|---|---|---|---|
1000 | 2380, 2381 | TCP | NIC del piano di controllo | NIC del piano di controllo | Consenti | Comunicazione etcd piano di controllo |
1001 | 443, 8132 | TCP | Qualsiasi | NIC del piano di controllo | Consenti | Consenti l'accesso all'API Kubernetes |
1002 | 10250 | TCP | NIC del piano di controllo | NIC del pool di nodi | Consenti | Comunicazioni dal piano di controllo al nodo |
1003 | 10250, 10255 | TCP | NIC del pool di nodi | NIC del pool di nodi | Consenti | Comunicazione da nodo a nodo |
1004 | 6081 | UDP | NIC del pool di nodi | NIC del pool di nodi | Consenti | Comunicazione CNI da nodo a nodo |
1005 | Qualsiasi | Qualsiasi | Bilanciatore del carico Azure | Qualsiasi | Consenti | Consenti il traffico in entrata al bilanciatore del carico |
4096 | Qualsiasi | Qualsiasi | Qualsiasi | Qualsiasi | Nega | Nega tutte le connessioni in entrata non coperte da un'altra regola |