Questa pagina descrive le regole del firewall che Google Kubernetes Engine (GKE) crea automaticamente in Google Cloud.
Oltre alle regole specifiche per GKE elencate in questa pagina, per impostazione predefinita, i progetti Google Cloud includono un firewall precompilato . Cluster GKE di solito il deployment viene eseguito all'interno di una rete VPC. Queste regole concedono accesso di rete essenziale per i cluster GKE. Queste regole sono per le operazioni di base del cluster, ma potresti dover creare in base alle tue esigenze specifiche.
Regole firewall
GKE crea automaticamente le regole firewall durante seguenti risorse:
- Cluster GKE
- Servizi GKE
- Gateway GKE e HTTPRoute
- Ingress GKE
Se non diversamente specificato, la priorità per tutte le regole firewall create automaticamente è 1000, che è il valore predefinito per le regole firewall. Per avere un maggiore controllo sul comportamento del firewall, puoi creare con un valore priorità. Vengono applicate regole firewall con priorità più alta. prima della creazione automatica delle regole firewall.
Regole firewall del cluster GKE
GKE crea le seguenti regole firewall in entrata durante la creazione di un cluster:
Nome | Finalità | Origine | Target (definisce la destinazione) | Protocollo e porte | Priorità |
---|---|---|---|---|---|
gke-[cluster-name]-[cluster-hash]-master |
Solo per cluster Autopilot e Standard privati. Consente al piano di controllo di accedere a kubelet e metrics-server sui nodi del cluster. | Intervallo di indirizzi IP del piano di controllo (/28) | Tag del nodo | TCP: 443 (metrics-server) e TCP: 10250 (kubelet) | 1000 |
gke-[cluster-name]-[cluster-hash]-vms
|
Utilizzato per la comunicazione all'interno del cluster richiesta dal modello di networking di Kubernetes. Consente al software in esecuzione sui nodi di inviare pacchetti con origini corrispondenti agli indirizzi IP dei nodi, all'IP del pod di destinazione e agli indirizzi IP dei nodi in un cluster Kubernetes. Ad esempio, il traffico consentito da questa regola include:
|
L'intervallo di indirizzi IP del nodo o un superset di questo intervallo di indirizzi IP del nodo:
|
Tag del nodo | TCP: 1-65535, UDP: 1-65535, ICMP | 1000 |
gke-[cluster-name]-[cluster-hash]-all |
Consente il traffico tra tutti i pod in un cluster, come richiesto dal Modello di networking di Kubernetes. |
CIDR pod Per i cluster con CIDR multi-pod disgiunto abilitato, tutti i blocchi CIDR dei pod utilizzati dal cluster. |
Tag del nodo | TCP, UDP, SCTP, ICMP, ESP, AH | 1000 |
gke-[cluster-hash]-ipv6-all |
Solo per cluster di reti a stack doppio. Consente il traffico tra nodi e pod su un cluster. |
Stesso intervallo di indirizzi IP allocato in |
Tag del nodo | TCP, UDP, SCTP, ICMP per IPv6, ESP, AH | 1000 |
gke-[cluster-name]-[cluster-hash]-inkubelet |
Consenti l'accesso alla porta 10255 (porta di sola lettura Kubelet) dai CIDR dei pod interni e ai CIDR dei nodi in nuovi cluster GKE con la versione 1.23.6 o successiva. I cluster che eseguono versioni successive a 1.26.4-gke.500 utilizzano invece la porta autenticata di Kubelet (10250). Non aggiungere il blocco delle regole firewall 10250 nel cluster. |
CIDR dei pod e dei nodi interni. |
Tag nodo | TCP: 10255 | 999 |
gke-[cluster-name]-[cluster-hash]-exkubelet |
Nega l'accesso pubblico alla porta 10255 nei nuovi cluster GKE con la versione 1.23.6 o successiva. |
0.0.0.0/0 |
Tag del nodo | TCP: 10255 | 1000 |
Regole firewall del servizio GKE
GKE crea le seguenti regole firewall di ingresso quando crei un servizio:
Nome | Finalità | Origine | Target (definisce la destinazione) | Protocollo e porte |
---|---|---|---|---|
k8s-fw-[loadbalancer-hash] |
Consente al traffico in entrata di raggiungere un servizio. | La fonte proviene da spec.loadBalancerSourceRanges . Il valore predefinito è 0.0.0.0/0 se spec.loadBalancerSourceRanges viene omesso.
Per maggiori dettagli, vedi Regole firewall e lista consentita di indirizzi IP di origine. |
Indirizzo IP virtuale del bilanciatore del carico | TCP e UDP sulle porte specificate nel manifest del servizio. |
k8s-[cluster-id]-node-http-hc |
Consente i controlli di integrità
di un servizio di bilanciatore del carico di rete passthrough esterno quando externalTrafficPolicy
è impostato su Cluster . |
|
Indirizzo IP virtuale del bilanciatore del carico | TCP: 10256 |
k8s-[loadbalancer-hash]-http-hc |
Consente controlli di integrità
di un servizio di bilanciamento del carico di rete passthrough esterno quando externalTrafficPolicy
è impostato su Local . |
|
Tag nodo | Porta TCP definita da spec.healthCheckNodePort . Se il criterio spec.healthCheckNodePort viene omesso, il valore predefinito è il numero di porta TCP 10256 .
Per ulteriori dettagli, consulta Porta del controllo di integrità. |
k8s-[cluster-id]-node-hc |
Consente controlli di integrità
di un servizio di bilanciamento del carico di rete passthrough interno quando externalTrafficPolicy
è impostato su Cluster .
|
|
Tag del nodo | TCP: 10256 |
[loadbalancer-hash]-hc |
Consente controlli di integrità
di un servizio di bilanciamento del carico di rete passthrough interno quando externalTrafficPolicy è impostato su
Local .
|
|
Tag nodo | Porta TCP definita da spec.healthCheckNodePort . Se il criterio spec.healthCheckNodePort viene omesso, il valore predefinito è il numero di porta TCP 10256 .
Per maggiori dettagli, vedi Porta del controllo di integrità. |
k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash] |
Consente al traffico in entrata di raggiungere un servizio quando è abilitata una delle seguenti opzioni:
|
L'origine proviene da spec.loadBalancerSourceRanges . Il valore predefinito è 0.0.0.0/0 se spec.loadBalancerSourceRanges viene omesso.
Per maggiori dettagli, consulta Regole firewall e lista consentita di indirizzi IP di origine. |
Indirizzo IP virtuale del bilanciatore del carico | TCP e UDP sulle porte specificate nel manifest del servizio. |
k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash]-fw |
Consente controlli di integrità
del servizio quando externalTrafficPolicy è impostato su
Local e una delle seguenti opzioni sono abilitate:
|
|
Indirizzo IP virtuale del bilanciatore del carico | Porta TCP definita da spec.healthCheckNodePort . Se spec.healthCheckNodePort viene omesso, il valore predefinito è il numero di porta TCP 10256 .
Per maggiori dettagli, vedi Porta del controllo di integrità. |
k8s2-[cluster-id]-l4-shared-hc-fw |
Consente i controlli di integrità
del Servizio quando externalTrafficPolicy è impostato su
Cluster e una delle seguenti opzioni è attivata:
|
|
Tag del nodo | TCP: 10256 |
gke-[cluster-name]-[cluster-hash]-mcsd |
Consente al piano di controllo di accedere a kubelet e metrics-server sui nodi del cluster per i servizi multi-cluster. Questa regola ha una priorità pari a 900. | Indirizzi IP del controllo di integrità | Tag nodo | TCP, UDP, SCTP, ICMP, ESP, AH |
Regole firewall di GKE Gateway
GKE crea le seguenti regole firewall del gateway durante la creazione di un Gateway e Risorse HTTPRoute:
Nome | Finalità | Origine | Target (definisce la destinazione) | Protocollo e porte |
---|---|---|---|---|
|
Consente i controlli di integrità di un gruppo di endpoint di rete (NEG). Il controller del gateway crea questa regola quando viene creata la prima risorsa gateway. Il controller gateway può aggiornare questa regola se vengono create altre risorse gateway. |
|
Tag del nodo | TCP: tutte le porte target del contenitore (per i NEG) |
Regole firewall GKE Ingress
GKE crea le seguenti regole firewall Ingress durante la creazione di un Risorsa in entrata:
Nome | Finalità | Origine | Target (definisce la destinazione) | Protocollo e porte |
---|---|---|---|---|
k8s-fw-l7-[random-hash] |
Consente controlli di integrità
di un servizio Il controller Ingress crea questa regola quando viene creata la prima risorsa Ingress. Il controller Ingress può aggiornare questa regola se vengono create altre risorse Ingress. |
|
Tag nodo | TCP: 30000-32767, TCP:80 (per i bilanciatori del carico delle applicazioni interni), TCP: tutte le porte di destinazione del container (per i NEG) |
VPC condiviso
Quando un cluster che si trova in un VPC condiviso utilizza un Rete VPC condiviso, il controller Ingress non può utilizzare Account di servizio GKE nel progetto di servizio da creare e aggiornare regole firewall di autorizzazione in entrata nel progetto host. Puoi concedere ai Account di servizio GKE in un progetto di servizio delle autorizzazioni per creare e gestire le risorse firewall. Per ulteriori informazioni, consulta VPC condiviso.
Regola firewall obbligatoria per la subnet espansa
Se
espandi l'intervallo IPv4 principale della sottorete del cluster,
GKE non aggiorna automaticamente l'intervallo di origine della
gke-[cluster-name]-[cluster-hash]-vms
regola del firewall. Poiché i nodi della rete
un cluster può ricevere indirizzi IPv4 dalla parte espansa della subnet
nell'intervallo IPv4 principale, devi creare manualmente una regola firewall per consentire
la comunicazione tra i nodi del cluster.
La regola firewall in entrata che devi creare deve consentire i pacchetti TCP e ICMP da l'intervallo di origine IPv4 della subnet principale espanso e deve essere valido almeno a tutti i nodi del cluster.
Per creare una regola firewall in entrata che si applichi solo ai nodi del cluster,
imposta il target della regola firewall sullo stesso tag di destinazione utilizzato dal server
regola firewall gke-[cluster-name]-[cluster-hash]-vms
creata automaticamente.
Ordine di valutazione delle regole
Se utilizzi firewall Google Cloud, oltre a le regole firewall VPC; per impostazione predefinita, Google Cloud valuta regole firewall prima dei criteri firewall di rete (sia globali che a livello di regione). Se modifichi la valutazione delle regole ordine, il traffico potrebbe non raggiungere i cluster GKE. Per maggiori informazioni per informazioni, consulta Valutazione di criteri e regole ordine.
Logging delle regole firewall
Il logging delle regole firewall è disattivato per impostazione predefinita. Abilitare il logging per un firewall
utilizza la
Comando --enable-logging
.
Passaggi successivi
- Leggi una panoramica del networking in GKE.
- Scopri di più sulla configurazione dei criteri di rete per le applicazioni.
- Scopri di più su altre regole firewall precompilate in Google Cloud.
- Scopri di più sulla creazione di regole firewall nei progetti che utilizzano la VPC condivisa.