Créer un cluster
Vous pouvez créer des clusters Kubernetes managés pour déployer vos applications conteneurisées. OKS vous permet de démarrer des clusters Kubernetes avec une configuration prédéfinie et des services essentiels pré-installés, afin de vous éviter de gérer des déploiements inutiles.
Créer un cluster avec Cockpit
-
Dans le dashboard Projets, cliquez sur le nom du projet dans lequel vous souhaitez créer un cluster.
Le volet de détails du projet apparaît. -
Cliquez sur
Créer un cluster.
La boîte de dialogue CRÉER UN CLUSTER apparaît. -
Sélectionnez la taille souhaitée pour le control plane, puis cliquez sur Suivant.
Pour en savoir plus sur les tailles de control plane, voir Control planes.
L’écran de sélection des paramètres généraux apparaît.
Paramètres généraux
-
Dans le champ Nom, tapez un nom pour votre cluster.
Le nom doit être unique et contenir entre 1 et 40 caractères alphanumériques et/ou tirets (-). Le nom doit commencer par une lettre minuscule et ne doit pas se terminer par un tiret.
-
Dans la liste Version Kubernetes, sélectionnez l’une des versions de Kubernetes prises en charge.
Les clusters existants ne sont pas automatiquement mis à jour vers les nouvelles versions de Kubernetes. Quand une nouvelle version est prise en charge par OKS, vous devez manuellement mettre à jour vos clusters. Pour en savoir plus, voir Mettre à jour un cluster > Mettre à jour la version de Kubernetes.
-
(optionnel) Dans le champ Description, tapez une description pour le cluster.
-
Cochez ou décochez la case Désactiver la suppression par API :
-
Si la case est cochée, vous ne pouvez pas supprimer le projet par API.
-
Si la case est décochée, vous pouvez supprimer le projet par API.
-
-
Cliquez sur Suivant.
L’écran de sélection du réseau apparaît.
Réseau
-
(optionnel) Activez ou désactivez le bouton Activer le multi-Sous-régions :
-
Activez le bouton pour créer un cluster multi-Sous-régions.
-
Désactiver le bouton pour créer un cluster dans une Sous-région spécifique, puis sélectionnez la Sous-région dans laquelle déployer le control plane.
Seuls les control planes haute disponibilité peuvent être déployés dans un cluster multi-Sous-régions.
-
-
(optionnel) Pour définir des plages CIDR personnalisées :
-
Activez Modifier la plage d’IP.
-
Dans le champ Pods plage d’IP, tapez la plage d’IP à allouer aux pods, en notation CIDR.
-
Dans le champ Service plage d’IP, tapez la plage d’IP à allouer aux adresses de service (ClusterIP), en notation CIDR.
-
Dans le champ IP du service DNS du cluster, tapez l’IP à attribuer au service DNS du cluster, en notation CIDR.
Cette option est recommandée pour les utilisateurs expérimentés seulement.
La longueur minimale acceptée pour le préfixe est
/23.
-
-
Dans le champ Adresses IP autorisées, tapez une ou plusieurs IP autorisées à accéder au cluster.
Cliquez sur Ajouter mon IP pour ajouter votre IP actuelle.
Si vous utilisez un VPN, l’IP détectée est celle du VPN. Dans ce cas, tapez manuellement l’IP locale de votre machine.
-
Cliquez sur Suivant.
L’écran récapitulatif apparaît.
Créer un cluster avec OKS CLI
Avant de commencer :
|
Pour créer un cluster, utilisez la commande cluster create en suivant cette syntaxe :
$ oks-cli cluster create \
--cluster-name NAME_OF_CLUSTER \
--project-name NAME_OF_PROJECT \
--admin "my-ip" \
--version VERSION_NUMBER \
--control-plane "cp.3.masters.small"
$ oks-cli cluster create \
--cluster-name NAME_OF_CLUSTER \
--project-name NAME_OF_PROJECT \
--admin "IP_ADDRESS_1/CIDR_IP_ADDRESS/CIDR" \
--version VERSION_NUMBER \
--control-plane "cp.3.masters.small" \
--zone 2b
Cette commande contient les options suivantes que vous devez spécifier :
-
(optionnel)
admin: Les IP publiques ou CIDR autorisées pour l’accès au cluster au niveau administrateur, séparées par des virgules. Si aucune adresse n’est spécifiée, le cluster n’est pas accessible.Les plages privées (RFC 1918) telles que
10.0.0.0/8,172.16.0.0/12ou192.168.0.0/16ne sont pas autorisées (422 ValidationError).Vous pouvez utiliser la valeur spéciale
my-ippour ajouter automatiquement votre IP publique actuelle. -
(optionnel)
cidr-pods: La plage CIDR IPv4 pour attribuer les IP des pods,/16par défaut (10.91.0.0/16). La longueur minimale acceptée pour le préfixe est/23. -
(optionnel)
cidr-service: La plage CIDR IPv4 pour attribuer les adresses de service (ClusterIP),/16par défaut (10.92.0.0/16). La longueur minimale acceptée pour le préfixe est/23.-
Les CIDR de votre projet, de vos pods et de votre service ne doivent pas se chevaucher (
409 ResourceConflict). -
Les CIDR IPv6 ne sont pas pris en charge (
422 ValidationError).
-
-
cluster-name: Le nom du cluster, d’une longueur maximale de 40 caractères alphanumériques et tirets (-). Ce nom doit commencer par une lettre minuscule et ne doit pas finir par un tiret. Il doit être unique dans le projet. -
(optionnel)
control-plane: La taille souhaitée du control plane. Par défaut,cp.3.masters.small. Pour en savoir plus, voir Control planes.Seuls les control planes haute disponibilité peuvent être déployés dans un cluster multi-Sous-régions.
-
(optional)
cp-multi-az: Active l’option de control plane multi-Sous-régions, pour créer un cluster multi-Sous-régions. Cette option est activée par défaut pour les control planes haute disponibilité, si la Région contient au moins trois Sous-régions. -
(optionnel)
description: La description du cluster que vous voulez créer. -
(optionnel)
disable-admission-plugins: La liste des plugins d’admission de la liste par défaut que vous souhaitez désactiver. -
(optionnel)
disable-api-termination: La possibilité de supprimer le cluster via l’API. Sitrue, la suppression du cluster est désactivée. Sifalse, elle est activée. -
(optionnel)
dryrun: Fournit une vue d’ensemble des opérations effectuées par la commande sans pour autant l’exécuter. Vous pouvez l’utiliser comme mesure de sécurité pour examiner l’impact d’une commande avant de l’exécuter. -
(optionnel)
enable-admission-plugins: La liste des plugins d’admission supplémentaires que vous souhaitez activer sur le cluster. Pour en savoir plus sur les plugins d’admission, voir la documentation Kubernetes (anglais uniquement). -
(optionnel)
filename: Le nom du fichier de définition à partir duquel vous voulez créer le cluster. -
(optionnel)
output: Le format de sortie de la réponse (json|yaml). Par défaut, le format de la réponse est JSON. Le fichier généré avec la définition du cluster peut être modifié et appliqué en utilisant la commande-f --filename …. -
(optionnel)
project-name: Le nom du projet dans lequel vous voulez créer le cluster. -
(optionnel)
quirk: Les clés et les paramètres à transmettre au cluster. Cette option est requise pour les demandes de fonctionnalités. -
(optionnel)
tags: Les tags que vous voulez ajouter aux nœuds du cluster. -
(optionnel)
version: Une des versions prises en charge de Kubernetes. Pour en savoir plus sur les versions prises en charge, voir Versions Kubernetes prises en charge. -
(optionnel)
zone: La Sous-région dans laquelle vous voulez déployer le control plane du cluster.
|
Vous pouvez afficher toutes les options disponibles en utilisant la commande cluster create avec la syntaxe suivante :
|
La commande CreateCluster renvoie les éléments suivants :
-
project_id: L’ID du projet auquel appartient ce cluster. -
id: Le Universally Unique Identifier (UUID) du cluster. -
name: Un nom unique pour le cluster au sein du projet. -
description: Une description facultative du cluster. -
cp_multi_az: Sitrue, le déploiement multi-Sous-régions est activé pour le control plane. Sifalse, il est désactivé. -
cp_subregions: Les Sous-régions sur lesquelles les composants du control plane sont déployés. -
version: La version Kubernetes déployée pour le cluster. Pour en savoir plus, voir GetKubernetesVersions. -
cni: Le Container Network Interface (CNI) utilisé dans le cluster. -
admin_lbu: Si true, l’administration de load balancers est activée pour la gestion des clusters. Sifalse, elle est désactivée. -
admission_flags: La configuration des contrôleurs d’admission Kubernetes.-
disable_admission_plugins: La liste des plugins d’admission qui sont désactivés. -
enable_admission_plugins: La liste des plugins d’admission qui sont activés. -
applied_admission_plugins: La liste des plugins d’admission qui sont actuellement appliqués au cluster.
-
-
cidr_pods: Le bloc CIDR utilisé en interne pour les pods. -
cidr_service: Le bloc CIDR utilisé en interne pour les services. -
cluster_dns: L’IP du service DNS du cluster. -
tags: Les tags appliqués aux worker nodes du cluster. -
auto_maintenances: La configuration des fenêtres de maintenance automatisées.-
minor_upgrade_maintenance: La configuration de la fenêtre de maintenance pour les mises à niveau mineures de Kubernetes.-
enabled: Sitrue, une fenêtre de maintenance est activée. -
duration_hours: La durée de la fenêtre de maintenance, en heures. -
start_hour: L’heure de début de la fenêtre de maintenance, en heures. -
week_day: Le jour de la semaine où commence la fenêtre de maintenance. -
tz: Le fuseau horaire pour la fenêtre de maintenance.
-
-
patch_upgrade_maintenance: La configuration de la fenêtre de maintenance pour les mises à jour correctives Kubernetes.-
enabled: Sitrue, une fenêtre de maintenance est activée. -
duration_hours: La durée de la fenêtre de maintenance, en heures. -
start_hour: L’heure de début de la fenêtre de maintenance, en heures. -
week_day: Le jour de la semaine où commence la fenêtre de maintenance. -
tz: Le fuseau horaire pour la fenêtre de maintenance.
-
-
-
control_planes: La taille souhaitée du control plane. -
admin_whitelist: La liste des CIDR ou IP autorisés à accéder au cluster via l’API Kubernetes. -
statuses: Les informations d’état du cluster.-
created_at: La date et l’heure de création du cluster. -
deleted_at: La date et l’heure de suppression du cluster. (si applicable). -
updated_at: La date et l’heure de dernière mise à jour du cluster. -
status: L’état du cluster. -
available_upgrade: Toute version disponible de Kubernetes pour mise à jour (si applicable).
-
-
disable_api_termination: Sitrue, la possibilité de supprimer le cluster via l’API est désactivée. Sifalse, elle est activée.
{
"project_id": "877295ad-171c-4f9a-86c5-d45c8b2321fe",
"id": "5e5b232c-b7de-4cc0-9296-faa006b8bd25",
"name": "NAME_OF_CLUSTER",
"description": "",
"cp_multi_az": false,
"cp_subregions": [
"2a"
],
"version": "1.32",
"cni": "cilium",
"admin_lbu": false,
"admission_flags": {
"disable_admission_plugins": [],
"enable_admission_plugins": [],
"applied_admission_plugins": [
"ClusterTrustBundleAttest",
"LimitRanger",
"RuntimeClass",
"ServiceAccount",
"CertificateApproval",
"ResourceQuota",
"PodSecurity",
"Priority",
"NamespaceLifecycle",
"DefaultIngressClass",
"PersistentVolumeClaimResize",
"ValidatingAdmissionPolicy",
"StorageObjectInUseProtection",
"CertificateSigning",
"DefaultStorageClass",
"MutatingAdmissionWebhook",
"CertificateSubjectRestriction",
"TaintNodesByCondition",
"DefaultTolerationSeconds",
"ValidatingAdmissionWebhook"
]
},
"cidr_pods": "10.91.0.0/16",
"cidr_service": "10.92.0.0/16",
"cluster_dns": "10.92.0.10",
"tags": {},
"auto_maintenances": {
"minor_upgrade_maintenance": {
"enabled": true,
"duration_hours": 1,
"start_hour": 12,
"week_day": "Tue",
"tz": "UTC"
},
"patch_upgrade_maintenance": {
"enabled": true,
"duration_hours": 1,
"start_hour": 12,
"week_day": "Tue",
"tz": "UTC"
}
},
"control_planes": "cp.mono.master",
"admin_whitelist": [
"1.2.3.4/32",
"5.6.7.8/32"
],
"statuses": {
"created_at": "2025-01-01T00:02:00.000000Z",
"updated_at": "2025-01-01T00:02:00.000001Z",
"status": "pending",
"available_upgrade": ""
},
"disable_api_termination": false
}
|
Vous pouvez utiliser la commande cluster list pour vérifier l’état du cluster. Votre cluster est créé lorsque son état passe à |
Pages connexes
Méthode API correspondante