Création d'un sous-réseau de pods (VCN-Native Pod)

Les instructions de cette rubrique créent un sous-réseau de pod nommé "pod" dans le VCN qui fournit les adresses IP privées pour les pods s'exécutant sur les noeuds de plan de contrôle. Le nombre d'adresses IP dans ce sous-réseau doit être égal ou supérieur au nombre d'adresses IP dans le sous-réseau de plan de contrôle. Le sous-réseau de pod doit être un sous-réseau privé.

Le sous-réseau de pods prend en charge la communication entre les pods et l'accès direct aux pods individuels à l'aide d'adresses IP de pod privées. Le sous-réseau de pod doit être privé. Le sous-réseau de pods permet aux pods de communiquer avec d'autres pods sur le même noeud de travail, avec les pods sur d'autres noeuds de travail, avec les services OCI (au moyen d'une passerelle de service) et avec Internet (au moyen d'une passerelle NAT).

Créez les ressources suivantes dans l'ordre indiqué :

  1. Liste de sécurité des pods

  2. Sous-réseau de pods

Créer une liste de sécurité de pod

Créez une liste de sécurité. Voir Création d'une liste de sécurité. Pour l'entrée Terraform, voir Exemples de scripts Terraform (VCN-Native Pod).

Les règles de sécurité présentées dans le tableau suivant définissent le trafic autorisé à communiquer directement avec les pods. Utilisez ces règles de sécurité dans le cadre de groupes de sécurité de réseau ou de listes de sécurité. Nous recommandons d'utiliser des groupes de sécurité de réseau.

Les règles de sécurité s'appliquent à tous les pods de tous les noeuds de travail connectés au sous-réseau de pods spécifié pour un groupe de noeuds.

Acheminez les demandes entrantes vers les pods en fonction des politiques d'acheminement spécifiées par les règles d'acheminement et les tables de routage. Voir les tables de routage définies dans Création d'un VCN (VCN-Native Pod).

Pour cet exemple, utilisez l'entrée suivante pour la liste de sécurité du sous-réseau de pods.

Propriété de la console

Propriété de l'interface de ligne de commande

  • Nom : pod-seclist

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

  • --display-name: pod-seclist

Une règle de sécurité de trafic sortant :

  • Sans état : décochez la case

  • CIDR de sortie : 0.0.0.0/0

  • Protocole IP : Tous les protocoles

  • Description : "Permettre tout le trafic sortant."

Une règle de sécurité de trafic sortant :

--egress-security-rules

  • isStateless: false

  • destination: 0.0.0.0/0

  • destinationType: CIDR_BLOCK

  • protocol: all

  • description : "Autoriser tout le trafic sortant."

Huit règles de sécurité de trafic entrant :

Huit règles de sécurité de trafic entrant :

--ingress-security-rules

Règle entrante 1

  • Sans état : décochez la case

  • CIDR entrant : vcn_cidr

  • Protocole IP : TCP

    • Intervalle de ports de destination : 22

  • Description : "Autoriser la connexion SSH au sous-réseau de pod de tous les sous-réseaux du VCN."

Règle entrante 1

  • isStateless: false

  • source: vcn_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 22

    • min: 22

  • description : "Autoriser la connexion SSH au sous-réseau de pods à partir de tous les sous-réseaux du VCN."

Règle entrante 2

  • Sans état : décochez la case

  • CIDR entrant : workerlb_cidr

  • Protocole IP : TCP

    • Intervalle de ports de destination : 10256

  • Description : "Autoriser l'équilibreur de charge du programme à communiquer avec les pods."

Règle entrante 2

  • isStateless: false

  • source: workerlb_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10256

    • min: 10256

  • description : "Autoriser l'équilibreur de charge du programme à communiquer avec les pods."

Règle entrante 3

  • Sans état : décochez la case

  • CIDR entrant : worker_cidr

  • Protocole IP : TCP

    • Intervalle de ports de destination : 10250

  • Description : "Autoriser le point d'extrémité de l'API Kubernetes à la communication de pod (par noeud de travail)"

Règle entrante 3

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10250

    • min: 10250

  • description : "Autoriser le point d'extrémité de l'API Kubernetes à la communication de pod (par noeud de travail)"

Règle entrante 4

  • Sans état : décochez la case

  • CIDR entrant : worker_cidr

  • Protocole IP : TCP

    • Intervalle de ports de destination : 10256

  • Description : "Autoriser l'équilibreur de charge ou l'équilibreur de charge de réseau à communiquer avec le pod kube-proxy (au moyen du sous-réseau de travail)."

Règle entrante 4

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 10256

    • min: 10256

  • description : "Autoriser l'équilibreur de charge ou l'équilibreur de charge de réseau à communiquer avec le pod kube-proxy (au moyen du sous-réseau de travail)."

Règle entrante 5

  • Sans état : effacer la boîte

  • CIDR entrant : worker_cidr

  • Protocole IP : TCP

    • Intervalle de ports de destination : 80

  • Description : "Autoriser le noeud de travail à communiquer avec les pods."

Ce trafic entrant est facultatif. Ce port est ouvert pour une application d'utilisateur final. Cette règle peut être différente en fonction des applications déployées.

Règle entrante 5

  • isStateless: false

  • source: worker_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 6

  • tcpOptions

    destinationPortRange

    • max: 80

    • min: 80

  • description : "Autoriser le noeud de travail à communiquer avec les pods."

Ce trafic entrant est facultatif. Ce port est ouvert pour une application d'utilisateur final. Cette règle peut être différente en fonction des applications déployées.

Règle entrante 6

  • Sans état : décochez la case

  • CIDR entrant : kmi_cidr

  • Protocole IP : ICMP

    • Type de paramètre : 8 : Echo

  • Description : "Tester l'accessibilité d'un pod de réseau à partir de kmi_cidr en envoyant une demande."

Règle entrante 6

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 8

  • description : "Tester l'accessibilité d'un pod de réseau à partir de kmi_cidr en envoyant une demande."

Règle entrante 7

  • Sans état : décochez la case

  • CIDR entrant : kmi_cidr

  • Protocole IP : ICMP

    • Type de paramètre : 0 : Réponse d'écho

  • Description : "Si le pod de destination est accessible à partir de kmi_cidr, répondez avec une réponse ICMP Echo."

Règle entrante 7

  • isStateless: false

  • source: kmi_cidr

  • sourceType: CIDR_BLOCK

  • protocol: 1

  • icmpOptions

    • type: 0

  • description : "Si le pod de destination est accessible à partir de kmi_cidr, répondez avec une réponse ICMP Echo."

Règle entrante 8

  • Sans état : effacer la boîte

  • CIDR entrant : pod_cidr

  • Protocole IP : Tous les protocoles

  • Description : "Autoriser le CIDR du pod à communiquer avec lui-même."

Règle entrante 8

  • isStateless: false

  • source: pod_cidr

  • sourceType: CIDR_BLOCK

  • protocol: all

  • description : "Autoriser le bloc CIDR du pod à communiquer avec lui-même."

Créer le sous-réseau de pods

Créer un sous-réseau. Voir Création d'un sous-réseau. Pour l'entrée Terraform, voir Exemples de scripts Terraform (VCN-Native Pod).

Pour cet exemple, utilisez l'entrée suivante pour créer le sous-réseau de pods. Utilisez l'OCID du VCN créé dans Création d'un VCN (VCN-Native Pod). Créez le sous-réseau de pods dans le compartiment où vous avez créé le VCN.

Important

Le nom de ce sous-réseau doit être exactement "pod".

Propriété de la console

Propriété de l'interface de ligne de commande

  • Nom : pod

  • Bloc CIDR : pod_cidr

  • Table de routage : Sélectionnez "nat_private" dans la liste

  • Sous-réseau privé : cochez la case

  • Noms d'hôte DNS :

    Utiliser les noms d'hôte DNS dans ce sous-réseau : cochez la case

    • Étiquette DNS : pod

  • Listes de sécurité : Sélectionnez "pod-seclist" et "Default Security List for oketest-vcn" dans la liste

  • --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 table de routage "nat_private"

  • --security-list-ids : OCID de la liste de sécurité "pod-seclist" et de la liste de sécurité "Default Security List for oketest-vcn".