Creación de una subred de pod ( Pod nativo de VCN)

En las instrucciones de este tema se crea una subred de pod denominada "pod" en la VCN que proporciona las direcciones IP privadas para los pods que se ejecutan en los nodos del plano de control. El número de direcciones IP de esta subred debe ser igual o mayor que el número de direcciones IP de la subred del plano de control. La subred de pod debe ser una subred privada.

La subred de pod soporta la comunicación entre pods y el acceso directo a pods individuales mediante direcciones IP de pod privadas. La subred de pod debe ser privada. La subred de pod permite a los pods comunicarse con otros pods en el mismo nodo de trabajador, con pods en otros nodos de trabajador, con servicios de OCI (a través de un gateway de servicio) y con Internet (a través de un gateway de NAT).

Cree los siguientes recursos en el orden indicado:

  1. Lista de seguridad de pod

  2. Subred pod

Creación de una lista de seguridad de pod

Cree una lista de seguridad. Consulte Creación de una lista de seguridad. Para la entrada de Terraform, consulte Ejemplos de scripts de Terraform ( Pod nativo de VCN).

Las reglas de seguridad que se muestran en la siguiente tabla definen el tráfico que puede ponerse en contacto directamente con los pods. Utilice estas reglas de seguridad como parte de los grupos de seguridad de red (NSG) o en las listas de seguridad. Recomendamos utilizar NSG.

Las reglas de seguridad se aplican a todos los pods de todos los nodos de trabajador conectados a la subred de pod especificada para un pool de nodos.

Enrute las solicitudes entrantes a pods según las políticas de enrutamiento especificadas por las reglas de enrutamiento y las tablas de rutas. Consulte las tablas de rutas definidas en Creación de una VCN (Pod nativo de VCN).

Para este ejemplo, utilice la siguiente entrada para la lista de seguridad de subred de pod.

Propiedad Console

propiedad de la CLI

  • Nombre: pod-seclist

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

  • --display-name: pod-seclist

Una regla de seguridad de salida:

  • Sin estado: desmarque la casilla

  • CIDR de salida: 0.0.0.0/0

  • Protocolo IP: Todos los Protocolos

  • Descripción: "Permitir todo el tráfico saliente".

Una regla de seguridad de salida:

--egress-security-rules

  • isStateless: false

  • destination: 0.0.0.0/0

  • destinationType: CIDR_BLOCK

  • protocol: all

  • description: "Permitir todo el tráfico saliente".

Ocho reglas de seguridad de entrada:

Ocho reglas de seguridad de entrada:

--ingress-security-rules

Regla de entrada 1

  • Sin estado: desmarque la casilla

  • CIDR de entrada: vcn_cidr

  • Protocolo IP: TCP

    • Rango de puertos de destino: 22

  • Descripción: "Permitir la conexión SSH a la subred de pod desde todas las subredes de la VCN".

Regla de entrada 1

  • isStateless: false

  • source: vcn_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 22

    • min: 22

  • description: "Permitir conexión SSH a la subred de pod desde todas las subredes de la VCN".

Regla de entrada 2

  • Sin estado: desmarque la casilla

  • CIDR de entrada: workerlb_cidr

  • Protocolo IP: TCP

    • Rango de puertos de destino: 10256

  • Descripción: "Permite que el equilibrador de carga de trabajador se ponga en contacto con los pods".

Regla de entrada 2

  • isStateless: false

  • source: workerlb_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10256

    • min: 10256

  • description: "Permitir que el equilibrador de carga de trabajador se ponga en contacto con los pods".

Regla de entrada 3

  • Sin estado: desmarque la casilla

  • CIDR de entrada: worker_cidr

  • Protocolo IP: TCP

    • Rango de puertos de destino: 10250

  • Descripción: "Permitir el punto final de API de Kubernetes a la comunicación de pod (a través de un nodo de trabajador)".

Regla de entrada 3

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10250

    • min: 10250

  • description: "Permitir el punto final de API de Kubernetes a la comunicación de pod (mediante un nodo de trabajador)"

Regla de entrada 4

  • Sin estado: desmarque la casilla

  • CIDR de entrada: worker_cidr

  • Protocolo IP: TCP

    • Rango de puertos de destino: 10256

  • Descripción: "Permitir que el equilibrador de carga o el equilibrador de carga de red se comuniquen con el pod kube-proxy (a través de la subred del trabajador)."

Regla de entrada 4

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10256

    • min: 10256

  • description: "Permitir que el equilibrador de carga o el equilibrador de carga de red se comuniquen con el pod kube-proxy (a través de la subred del trabajador)."

Regla de entrada 5

  • Sin estado: borrar la caja

  • CIDR de entrada: worker_cidr

  • Protocolo IP: TCP

    • Rango de puertos de destino: 80

  • Descripción: "Permite que el nodo de trabajador se ponga en contacto con los pods".

Esta entrada es opcional. Este puerto está abierto para una aplicación de usuario final. Esta regla podría ser diferente según las aplicaciones que se desplieguen.

Regla de entrada 5

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 80

    • min: 80

  • description: "Permitir que el nodo de trabajador se ponga en contacto con los pods".

Esta entrada es opcional. Este puerto está abierto para una aplicación de usuario final. Esta regla podría ser diferente según las aplicaciones que se desplieguen.

Regla de entrada 6

  • Sin estado: desmarque la casilla

  • CIDR de entrada: kmi_cidr

  • Protocol IP (Protocolo IP): ICMP

    • Tipo de parámetro: 8: Echo

  • Descripción: "Pruebe la accesibilidad de un pod de red desde kmi_cidr enviando una solicitud".

Regla de entrada 6

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 8

  • description: "Pruebe la accesibilidad de un pod de red desde kmi_cidr enviando una solicitud".

Regla de entrada 7

  • Sin estado: desmarque la casilla

  • CIDR de entrada: kmi_cidr

  • Protocol IP (Protocolo IP): ICMP

    • Tipo de parámetro: 0: Echo Reply

  • Descripción: "Si se puede acceder al pod de destino desde kmi_cidr, responda con una respuesta de eco ICMP".

Regla de entrada 7

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 0

  • description: "Si se puede acceder al pod de destino desde kmi_cidr, responda con una respuesta de eco ICMP".

Regla de entrada 8

  • Sin estado: borrar la caja

  • CIDR de entrada: pod_cidr

  • Protocolo IP: Todos los Protocolos

  • Descripción: "Permitir que el CIDR de pod se comunique consigo mismo".

Regla de entrada 8

  • isStateless: false

  • source: pod_cidr

  • sourceType: CIDR_BLOCK

  • protocol: all

  • description: "Permite que el CIDR de pod se comunique consigo mismo".

Creación de la subred de pod

Crear una subred. Consulte Creating a Subnet. Para la entrada de Terraform, consulte Ejemplos de scripts de Terraform ( Pod nativo de VCN).

Para este ejemplo, utilice la siguiente entrada para crear la subred de pod. Utilice el OCID de la VCN creada en Creación de una VCN (Pod nativo de VCN). Cree la subred de pod en el mismo compartimento en el que creó la VCN.

Importante

El nombre de esta subred debe ser exactamente "pod".

Propiedad Console

propiedad de la CLI

  • Nombre: pod

  • Bloque de CIDR: pod_cidr

  • Tabla de rutas: seleccione "nat_private" en la lista

  • Private Subnet: marque la casilla

  • Nombres de host de DNS:

    Utilizar los nombres de host de DNS en esta subredes: marque la casilla

    • Etiqueta de DNS: pod

  • Listas de seguridad: seleccione "pod-seclist" y "Default Security List for oketest-vcn" de la lista

  • --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 de la tabla de rutas "nat_private"

  • --security-list-ids: OCID de la lista de seguridad "pod-seclist" y la lista de seguridad "Default Security List for oketest-vcn"