Criando uma Sub-rede de Pod (Pod Nativo da VCN)

As instruções neste tópico criam uma sub-rede de pod chamada "pod" na VCN que fornece os endereços IP privados para pods em execução nos nós de plano de controle. O número de endereços IP nesta sub-rede deve ser igual ou maior que o número de endereços IP na sub-rede do plano de controle. A sub-rede de pod deve ser uma sub-rede privada.

A sub-rede do pod suporta comunicação entre pods e acesso direto a pods individuais usando endereços IP privados do pod. A sub-rede de pod deve ser privada. A sub-rede de pod permite que os pods se comuniquem com outros pods no mesmo nó de trabalho, com pods em outros nós de trabalho, com serviços do OCI (por meio de um gateway de serviço) e com a internet (por meio de um gateway NAT).

Crie os seguintes recursos na ordem listada:

  1. Lista de segurança do pod

  2. Sub-rede do pod

Criar uma Lista de Segurança de Pod

Criar uma lista de segurança. Consulte Criando uma Lista de Segurança. Para obter a entrada do Terraform, consulte Exemplo de Scripts do Terraform (Pod Nativo da VCN).

As regras de segurança mostradas na tabela a seguir definem o tráfego que pode contatar pods diretamente. Use essas regras de segurança como parte dos NSGs (grupos de segurança de rede) ou em listas de segurança. Recomendamos usar NSGs.

As regras de segurança se aplicam a todos os pods em todos os nós de trabalho conectados à sub-rede de pod especificada para um pool de nós.

Roteie solicitações de entrada para pods com base nas políticas de roteamento especificadas pelas regras de roteamento e tabelas de roteamento. Consulte as tabelas de roteamento definidas em Criando uma VCN (Pod Nativo da VCN).

Para este exemplo, use a entrada a seguir para a lista de segurança de sub-rede de pod.

Propriedade da console

Propriedade CLI

  • Nome: pod-seclist

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

  • --display-name: pod-seclist

Uma regra de segurança de saída:

  • Stateless: desmarque a caixa

  • CIDR de Saída: 0.0.0.0/0

  • Protocolo IP: Todos os protocolos

  • Descrição: "Permitir todo o tráfego de saída."

Uma regra de segurança de saída:

--egress-security-rules

  • isStateless: false

  • destination: 0.0.0.0/0

  • destinationType: CIDR_BLOCK

  • protocol: all

  • description: "Permitir todo o tráfego de saída."

Oito regras de segurança de ingresso:

Oito regras de segurança de ingresso:

--ingress-security-rules

Regra de Entrada 1

  • Stateless: desmarque a caixa

  • CIDR de Entrada: vcn_cidr

  • Protocolo IP: TCP

    • Faixa de Portas de Destino: 22

  • Descrição: "Permitir conexão SSH com a sub-rede de pod de todas as sub-redes da VCN".

Regra de Entrada 1

  • isStateless: false

  • source: vcn_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 22

    • min: 22

  • description: "Permitir conexão SSH com a sub-rede de pod de todas as sub-redes na VCN."

Regra de Entrada 2

  • Stateless: desmarque a caixa

  • CIDR de Entrada: workerlb_cidr

  • Protocolo IP: TCP

    • Faixa de Portas de Destino: 10256

  • Descrição: "Permitir que o balanceador de carga do trabalhador entre em contato com os pods."

Regra de Entrada 2

  • isStateless: false

  • source: workerlb_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10256

    • min: 10256

  • description: "Permitir que o balanceador de carga de trabalho entre em contato com os pods."

Regra de Entrada 3

  • Stateless: desmarque a caixa

  • CIDR de Entrada: worker_cidr

  • Protocolo IP: TCP

    • Faixa de Portas de Destino: 10250

  • Descrição: "Permitir que o ponto final da API do Kubernetes para comunicação de pod (via nó de trabalho)".

Regra de Entrada 3

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10250

    • min: 10250

  • description: "Permitir que o ponto final da API do Kubernetes para comunicação de pod (via nó de trabalho)".

Regra de Entrada 4

  • Stateless: desmarque a caixa

  • CIDR de Entrada: worker_cidr

  • Protocolo IP: TCP

    • Faixa de Portas de Destino: 10256

  • Descrição: "Permitir que o Balanceador de Carga ou o Balanceador de Carga de Rede se comuniquem com o pod kube-proxy (por meio da sub-rede de trabalho)."

Regra de Entrada 4

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10256

    • min: 10256

  • description: "Permitir que o Balanceador de Carga ou o Balanceador de Carga de Rede se comuniquem com o pod kube-proxy (por meio da sub-rede de trabalho)."

Regra de Entrada 5

  • Sem estado: desmarque a caixa

  • CIDR de Entrada: worker_cidr

  • Protocolo IP: TCP

    • Faixa de Portas de Destino: 80

  • Descrição: "Permitir que o nó de trabalho entre em contato com os pods."

Essa entrada é opcional. Esta porta está aberta para um aplicativo de usuário final. Essa regra pode ser diferente com base em quais aplicativos são implantados.

Regra de Entrada 5

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 80

    • min: 80

  • description: "Permitir que o nó de trabalho entre em contato com os pods."

Essa entrada é opcional. Esta porta está aberta para um aplicativo de usuário final. Essa regra pode ser diferente com base em quais aplicativos são implantados.

Regra de Entrada 6

  • Stateless: desmarque a caixa

  • CIDR de Entrada: kmi_cidr

  • IP Protocol: ICMP

    • Tipo de parâmetro: 8: Echo

  • Descrição: "Teste a acessibilidade de um pod de rede de kmi_cidr enviando uma solicitação."

Regra de Entrada 6

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 8

  • description: "Teste a acessibilidade de um pod de rede em kmi_cidr enviando uma solicitação."

Regra de Entrada 7

  • Stateless: desmarque a caixa

  • CIDR de Entrada: kmi_cidr

  • IP Protocol: ICMP

    • Tipo de parâmetro: 0: Resposta de eco

  • Descrição: "Se o pod de destino for acessível em kmi_cidr, responda com uma resposta de eco ICMP".

Regra de Entrada 7

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 0

  • description: "Se o pod de destino puder ser acessado em kmi_cidr, responda com uma Resposta de Eco ICMP."

Regra de Entrada 8

  • Sem estado: desmarque a caixa

  • CIDR de Entrada: pod_cidr

  • Protocolo IP: Todos os protocolos

  • Descrição: "Permitir que o CIDR de pod se comunique consigo mesmo."

Regra de Entrada 8

  • isStateless: false

  • source: pod_cidr

  • sourceType: CIDR_BLOCK

  • protocol: all

  • description: "Permitir que o CIDR de pod se comunique consigo mesmo."

Criar a Sub-rede do Pod

Criar uma sub-rede. Consulte Criando uma Sub-rede. Para obter a entrada do Terraform, consulte Exemplo de Scripts do Terraform (Pod Nativo da VCN).

Para este exemplo, use a entrada a seguir para criar a sub-rede de pod. Use o OCID da VCN que foi criada em Criando um Pod Nativo da VCN (VCN). Crie a sub-rede de pod no mesmo compartimento em que você criou a VCN.

Importante

O nome desta sub-rede deve ser exatamente "pod".

Propriedade da console

Propriedade CLI

  • Nome: pod

  • Bloco CIDR: pod_cidr

  • Tabela de Roteamento: Selecione "nat_private" na lista

  • Sub-rede Privada: marque a caixa

  • Nomes de Host DNS:

    Usar Nomes de Host DNS nesta Sub-rede: marque a caixa

    • Label de DNS: pod

  • Listas de Segurança: Selecione na lista "pod-seclist" e "Default Security List for oketest-vcn"

  • --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 da tabela de roteamento "nat_private"

  • --security-list-ids: OCIDs da lista de segurança "pod-seclist" e da lista de segurança "Default Security List for oketest-vcn"