En savoir plus sur la configuration d'un cluster Kubernetes dans le cloud
Une topologie Kubernetes dans le cloud contient de nombreux composants, notamment les ressources réseau, les instances de calcul et les noeuds Kubernetes. Pour déployer et gérer ce type de topologie complexe de façon efficace, définissez votre infrastructure cloud sous forme de code (IaC) dans les fichiers de configuration Terraform.
Pour modifier la topologie, mettez à jour les définitions des ressources par le biais de la version des modules Terraform appropriés et appliquez la configuration révisée. Si nécessaire, vous pouvez facilement revenir à une version précédente de l'infrastructure.
Utilisez les blocs de construction Terraform fournis dans cette solution pour déployer l'infrastructure requise pour un environnement Kubernetes cloud.
Avant de commencer
Reportez-vous à Apprendre à concevoir une topologie Kubernetes pour les applications en conteneur dans le cloud.
Architecture
L'exemple de topologie fourni par cette solution fournit un code Terraform pour contenir un seul réseau cloud virtuel (VCN) avec les ressources de mise en réseau et Kubernetes requises, le tout dans une région Oracle Cloud Infrastructure unique.

Remarque :
Le code Terraform inclut des variables d'entrée, que vous pouvez utiliser pour régler l'architecture en fonction des exigences de mise en réseau de vos charges de travail en conteneur, de la taille et du nombre de pools de noeuds requis, des contraintes de tolérance aux pannes, etc.- Réseau cloud virtuel (VCN)
Toutes les ressources de la topologie se trouvent dans un seul réseau. Vous définissez le préfixe CIDR pour le réseau (valeur par défaut : 10.0.0.0/16).
- Sous-réseauxLe kit VCN dans l'exemple de topologie contient quatre sous-réseaux. Vous définissez les tailles des sous-réseaux.
Sous-réseau Préfixe CIDR par défaut Description Sous-réseau de base 10.0.1.0/29 Sous-réseau public pour l'hôte de base facultatif. Sous-réseau d'équilibreur de charge 10.0.2.32/27 si public (10.0.2.0/27 si privé) Sous-réseau pour les noeuds d'équilibreur de charge. Vous indiquez si le sous-réseau est public ou privé. Sous-réseau d'administration 10.0.1.8/29 Sous-réseau privé pour l'hôte admin facultatif, qui contient les outils nécessaires à la gestion du cluster Kubernetes, tels que kubectl
,helm
et la CLI d'Oracle Cloud Infrastructure.Sous-réseau de noeuds de travail 10.0.64.0/18 Sous-réseau pour les noeuds de processus actif Kubernetes. Vous indiquez si le sous-réseau est public ou privé. Tous les sous-réseaux sont régionaux. En d'autres termes, ils s'étendent sur tous les domaines de disponibilité de la région, abrégés au format AD1, AD2 et AD3 dans le diagramme d'architecture. Ils sont donc protégés par rapport à une défaillance du domaine de disponibilité. Vous pouvez utiliser un sous-réseau régional pour les ressources à déployer sur n'importe quel domaine de disponibilité de la région.
- Passerelles réseau
- Passerelle de service (facultatif)
La passerelle de service permet aux ressources de VCN d'accéder aux services Oracle tels qu'Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure File Storage et Oracle Cloud Infrastructure Database en privé, c'est-à-dire sans exposer le trafic à l'Internet public. Les connexions via la passerelle de service peuvent être lancées à partir des ressources de VCN, et non à partir des services avec lesquels les ressources communiquent.
- Passerelle NAT (facultatif)
La passerelle NAT permet aux instances de calcul connectées à des sous-réseaux privés dans VCN d'accéder à l'Internet public. Les connexions via la passerelle NAT peuvent être lancées à partir des ressources de VCN, et non à partir de l'Internet public.
- Passerelle Internet
La passerelle Internet permet la connexion entre l'Internet public et toutes les ressources dans les sous-réseaux publics de VCN.
- Passerelle de service (facultatif)
- Hôte de base (facultatif)
L'hôte bastion est une instance de calcul servant de point d'entrée à la topologie hors du cloud.
Les infos de paramétrage de l'hôte de base sont généralement fournies dans une zone démilitarisée. Cela vous permet de protéger les ressources sensibles en les plaçant dans des réseaux privés inaccessibles directement à partir de l'extérieur du cloud. Vous exposez un point d'entrée unique et connu que vous pouvez auditer régulièrement. Par conséquent, vous évitez d'afficher des composants de la topologie plus sensibles, sans compromettre l'accès.
L'hôte bastion dans la topologie échantillon est attaché à un sous-réseau public et dispose d'une adresse IP publique. Une règle de sécurité entrante est configurée de façon à autoriser les connexions SSH à l'hôte de base à partir de l'Internet public. Pour fournir un niveau de sécurité supplémentaire, vous pouvez limiter l'accès SSH à l'hôte de base à un bloc spécifique d'adresses IP.
Vous pouvez accéder aux instances Oracle Cloud Infrastructure dans les sous-réseaux privés via l'hôte de base. Pour ce faire, activez le transfert
ssh-agent
, qui vous permet de vous connecter à l'hôte de base, puis d'accéder au serveur suivant en transmettant les informations d'identification à partir de votre ordinateur. Vous pouvez également accéder aux instances dans le sous-réseau privé à l'aide du tunneling SSH dynamique. Le tunnel dynamique fournit un proxy SOCKS sur le port local, mais les connexions proviennent de l'hôte distant. - Noeuds d'équilibreur de charge (non inclus dans le code échantillon)
Les noeuds de l'équilibreur de charge interceptent et distribuent le trafic vers les noeuds Kubernetes disponibles qui exécutent vos applications en conteneur. Si les applications doivent être accessibles à partir de l'Internet public, utilisez des équilibreurs de charge publics ; sinon, utilisez des équilibreurs de charge privés, qui n'ont pas d'adresse IP publique. L'architecture n'affiche aucun noeud d'équilibreur de charge.
- Hôte d'administration (facultatif)
En utilisant un hôte d'administration, vous pouvez éviter d'installer et d'exécuter des outils de gestion d'infrastructure tels que
kubectl
,helm
et la CLI Oracle Cloud Infrastructure en dehors du cloud. L'hôte admin dans la topologie échantillon se trouve dans un sous-réseau privé et est accessible via l'hôte bastion. Pour pouvoir exécuter l'interface de ligne de commande Oracle Cloud Infrastructure sur l'hôte d'administration, vous devez le désigner en tant que principal d'instance. - Noeuds de salarié Kubernetes
Les noeuds de salarié Kubernetes sont les instances de calcul sur lesquelles vous pouvez déployer vos applications en conteneur. Dans l'exemple de topologie, tous les noeuds actifs sont dans un seul pool de noeuds et sont attachés à un sous-réseau privé. Vous pouvez personnaliser le nombre de pools de noeuds, la taille de chaque pool et l'utilisation d'un sous-réseau public en fonction de vos besoins.
Si les noeuds de salarié sont attachés à un sous-réseau privé, ils ne sont pas directement accessibles à partir de l'Internet public. Les utilisateurs peuvent accéder aux applications en conteneur via l'équilibreur de charge.
Si vous activez l'accès SSH aux noeuds de travail, les administrateurs peuvent créer des connexions SSH aux noeuds de processus de travail via l'hôte de base.
L'architecture affiche trois noeuds de travail, chacun dans un domaine de disponibilité distinct au sein de la région : AD1, AD2 et AD3.Remarque :
Si la région dans laquelle vous souhaitez déployer vos applications en conteneur contient un seul domaine de disponibilité, les noeuds de salarié sont distribués sur les domaines de pannes (FD) du domaine de disponibilité.
A propos des services et des droits d'accès obligatoires
Cette solution requiert les droits d'accès et services suivants :
Service | Droits d'accès obligatoires |
---|---|
Oracle Cloud Infrastructure Identity and Access Management | Gérer les groupes et stratégies dynamiques. |
Oracle Cloud Infrastructure Networking | Gérer les réseaux cloud virtuels, les sous-réseaux, les passerelles Internet, les passerelles NAT, les passerelles de service, les tables de routage et les listes de sécurité. |
Oracle Cloud Infrastructure Compute | Gérer les instances de calcul. |
Oracle Cloud Infrastructure Container Engine for Kubernetes | Gérez les clusters et les pools de noeuds.
Reportez-vous à Configuration de stratégie pour la création et le déploiement d'un cluster. |