Creazione di una subnet pod (pod VCN nativo)

Le istruzioni riportate in questo argomento creano una subnet pod denominata "pod" nella VCN che fornisce gli indirizzi IP privati per i pod in esecuzione sui nodi del piano di controllo. Il numero di indirizzi IP in questa subnet deve essere maggiore o uguale al numero di indirizzi IP nella subnet del piano di controllo. La subnet pod deve essere una subnet privata.

La subnet pod supporta la comunicazione tra pod e l'accesso diretto a singoli pod utilizzando indirizzi IP di pod privati. La subnet pod deve essere privata. La subnet pod consente ai pod di comunicare con altri pod sullo stesso nodo di lavoro, con pod su altri nodi di lavoro, con servizi OCI (tramite un gateway di servizi) e con Internet (tramite un gateway NAT).

Creare le risorse seguenti nell'ordine elencato:

  1. Lista di sicurezza pod

  2. Subnet pod

Creare una lista di sicurezza pod

Creare un elenco di sicurezza. Vedere Creazione di una lista di sicurezza. Per l'input Terraform, vedere Script Terraform di esempio (pod nativo per VCN).

Le regole di sicurezza mostrate nella tabella seguente definiscono il traffico che è consentito contattare direttamente i pod. Utilizzare queste regole di sicurezza come parte dei gruppi di sicurezza di rete (NSG) o nelle liste di sicurezza. Si consiglia di utilizzare i gruppi NSG.

Le regole di sicurezza si applicano a tutti i pod in tutti i nodi di lavoro connessi alla subnet pod specificata per un pool di nodi.

Instrada le richieste in entrata ai pod in base ai criteri di instradamento specificati dalle regole di instradamento e dalle tabelle di instradamento. Vedere le tabelle di instradamento definite in Creazione di una VCN (VCN-Native Pod).

Per questo esempio, utilizzare l'input seguente per la lista di sicurezza della subnet pod.

Proprietà console

Proprietà CLI

  • Nome: pod-seclist

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: pod-seclist

Una regola di sicurezza di uscita:

  • Senza stato: deselezionare la casella

  • CIDR in uscita: 0.0.0.0/0

  • Protocollo IP: Tutti i protocolli

  • Descrizione: "Consenti tutto il traffico in uscita".

Una regola di sicurezza di uscita:

--egress-security-rules

  • isStateless: false

  • destination: 0.0.0.0/0

  • destinationType: CIDR_BLOCK

  • protocol: all

  • description: "Consenti tutto il traffico in uscita".

Otto regole di sicurezza di entrata:

Otto regole di sicurezza di entrata:

--ingress-security-rules

Regola di entrata 1

  • Senza stato: deselezionare la casella

  • CIDR in entrata: vcn_cidr

  • Protocollo IP: TCP

    • Intervallo di porte di destinazione: 22

  • Descrizione: "Consenti la connessione SSH alla subnet pod da tutte le subnet nella VCN".

Regola di entrata 1

  • isStateless: false

  • source: vcn_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 22

    • min: 22

  • description: "Consenti la connessione SSH alla subnet pod da tutte le subnet nella VCN".

Regola di entrata 2

  • Senza stato: deselezionare la casella

  • CIDR in entrata: workerlb_cidr

  • Protocollo IP: TCP

    • Intervallo di porte di destinazione: 10256

  • Descrizione: "Consenti al load balancer operativo di contattare i pod".

Regola di entrata 2

  • isStateless: false

  • source: workerlb_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10256

    • min: 10256

  • description: "Consenti al load balancer operativo di contattare i pod".

Regola di entrata 3

  • Senza stato: deselezionare la casella

  • CIDR in entrata: worker_cidr

  • Protocollo IP: TCP

    • Intervallo di porte di destinazione: 10250

  • Descrizione: "Consenti l'endpoint API Kubernetes alla comunicazione pod (tramite nodo di lavoro)."

Regola di entrata 3

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10250

    • min: 10250

  • description: "Consenti l'endpoint API Kubernetes alla comunicazione pod (tramite nodo di lavoro)."

Regola di entrata 4

  • Senza stato: deselezionare la casella

  • CIDR in entrata: worker_cidr

  • Protocollo IP: TCP

    • Intervallo di porte di destinazione: 10256

  • Descrizione: "Consenti al load balancer o al load balancer di rete di comunicare con il pod kube-proxy (tramite la subnet del worker)."

Regola di entrata 4

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10256

    • min: 10256

  • description: "Consenti al load balancer o al load balancer di rete di comunicare con il pod kube-proxy (tramite la subnet del worker)."

Regola di entrata 5

  • Senza stato: cancella la scatola

  • CIDR in entrata: worker_cidr

  • Protocollo IP: TCP

    • Intervallo di porte di destinazione: 80

  • Descrizione: "Consenti al nodo di lavoro di contattare i pod".

Questa entrata è facoltativa. Questa porta è aperta per un'applicazione utente finale. Questa regola potrebbe essere diversa in base alle applicazioni distribuite.

Regola di entrata 5

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 80

    • min: 80

  • description: "Consenti al nodo di lavoro di contattare i pod".

Questa entrata è facoltativa. Questa porta è aperta per un'applicazione utente finale. Questa regola potrebbe essere diversa in base alle applicazioni distribuite.

Regola di entrata 6

  • Senza stato: deselezionare la casella

  • CIDR in entrata: kmi_cidr

  • Protocollo IP: ICMP

    • Tipo di parametro: 8: Eco

  • Descrizione: "Test della raggiungibilità di un pod di rete da kmi_cidr inviando una richiesta."

Regola di entrata 6

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 8

  • description: "Test della raggiungibilità di un pod di rete da kmi_cidr inviando una richiesta."

Regola di entrata 7

  • Senza stato: deselezionare la casella

  • CIDR in entrata: kmi_cidr

  • Protocollo IP: ICMP

    • Tipo di parametro: 0: Risposta dell'eco

  • Descrizione: "Se il pod di destinazione è raggiungibile da kmi_cidr, rispondere con un ICMP Echo Reply."

Regola di entrata 7

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 0

  • description: "Se il pod di destinazione è raggiungibile da kmi_cidr, rispondere con un ICMP Echo Reply."

Regola di entrata 8

  • Senza stato: cancella la scatola

  • CIDR in entrata: pod_cidr

  • Protocollo IP: Tutti i protocolli

  • Descrizione: "Consenti al pod CIDR di comunicare con se stesso."

Regola di entrata 8

  • isStateless: false

  • source: pod_cidr

  • sourceType: CIDR_BLOCK

  • protocol: all

  • description: "Consenti al pod CIDR di comunicare con se stesso."

Creare la subnet del pod

Creare una subnet. Vedere Creazione di una sottorete. Per l'input Terraform, vedere Script Terraform di esempio (pod nativo per VCN).

Per questo esempio, utilizzare l'input seguente per creare la subnet pod. Utilizzare l'OCID della VCN creata nella creazione di una VCN (pod VCN nativo). Creare la subnet pod nello stesso compartimento in cui è stata creata la VCN.

Importante

Il nome di questa subnet deve essere esattamente "pod".

Proprietà console

Proprietà CLI

  • Nome: pod

  • Blocco CIDR: pod_cidr

  • Tabella di instradamento: selezionare "nat_private" dall'elenco

  • Subnet privata: selezionare la casella

  • Nomi host DNS:

    Utilizza nomi host DNS in questa sottorete: selezionare la casella

    • Etichetta DNS: pod

  • Liste di sicurezza: selezionare "pod-seclist" e "Lista di sicurezza predefinita per oketest-vcn" dall'elenco

  • --vcn-id: ocid1.vcn.oke_vcn_id

  • --display-name: pod

  • --cidr-block: pod_cidr

  • --dns-label: pod

  • --prohibit-public-ip-on-vnic: true

  • --route-table-id: OCID della tabella di instradamento "nat_private"

  • --security-list-ids: OCID della lista di sicurezza "pod-seclist" e della lista di sicurezza "Default Security List for oketest-vcn"