Découvrez comment créer un cluster Kubernetes managé par OVHcloud via l'espace client, l'API, la CLI, Terraform, Pulumi ou CDK pour Terraform
Objectif
Le service OVHcloud Managed Kubernetes vous permet de déployer des clusters prêts pour la production sans vous soucier de leur installation ou de leur maintenance. Créez un cluster via l'espace client OVHcloud, l'API, la CLI, ou automatisez le processus grâce à des outils d'Infrastructure as Code comme Terraform, Pulumi ou CDK pour Terraform.
Bénéficiez de tarifs réduits en vous engageant sur une durée de 1 à 36 mois sur vos ressources Public Cloud. Plus d'informations sur notre page Savings Plans.
Accès à l'espace client OVHcloud
Lien direct :
Chemin de navigation :Public Cloud > Sélectionnez votre projet
Info
L'API OVHcloud, la CLI, Terraform, CDK pour Terraform et Pulumi nécessitent des identifiants API OVHcloud (application_key, application_secret, consumer_key). Suivez le guide Premiers pas avec les API OVHcloud pour les générer.
En pratique
Via l'espace client OVHcloud
Via l'API OVHcloud
Via la CLI OVHcloud
Via Terraform
Via CDK pour Terraform
Via Pulumi
Cliquez sur Managed Kubernetes Service dans le menu de gauche, puis sur Créer un cluster.
Sélectionnez une localisation pour votre nouveau cluster.
Choisissez la version mineure de Kubernetes.
Info
Nous recommandons d'utiliser toujours la dernière version stable. Consultez notre page Fin de vie / fin de support pour comprendre notre politique de versions.
Vous pouvez intégrer votre cluster Kubernetes à un réseau privé via le vRack OVHcloud. Pour plus d'informations, consultez notre guide Utiliser le vRack.
Configurez le node pool par défaut. Un node pool est un groupe de nœuds partageant la même configuration. Consultez le guide Gérer les node pools pour plus d'informations.
Définissez la taille du node pool par défaut.
Activez optionnellement l'Autoscaling et définissez la taille minimale et maximale du pool.
Choisissez le mode de facturation (mensuel ou horaire) et activez optionnellement le mode anti-affinité.
Info
L'anti-affinité répartit les nœuds sur différents hyperviseurs pour une meilleure tolérance aux pannes. Les node pools en anti-affinité sont limités à 5 nœuds. La facturation mensuelle ne peut pas être convertie en facturation horaire par la suite.
Saisissez un nom pour votre cluster et cliquez sur Envoyer.
Le cluster sera disponible dans quelques minutes.
Warning
Une fois un cluster créé, la région et l'identifiant du réseau privé ne peuvent plus être modifiés.
Nous recommandons d'utiliser toujours la dernière version stable. Consultez notre page Fin de vie / fin de support pour comprendre notre politique de versions.
Notez l'id retourné dans la réponse — il sera nécessaire pour créer le node pool.
Nous recommandons d'utiliser toujours la dernière version stable. Consultez notre page Fin de vie / fin de support pour comprendre notre politique de versions.
Notez l'id dans la sortie — il sera nécessaire pour créer le node pool.
Les noms de node pool n'acceptent que les caractères minuscules, les chiffres et le tiret -. Les underscores et les points ne sont pas supportés.
Warning
Une fois un cluster créé, la région et l'identifiant du réseau privé ne peuvent plus être modifiés.
Info
Installez Terraform CLI (version 0.12.x minimum) avant de commencer.
OVHcloud fournit un provider Terraform disponible dans le registre officiel Terraform.
L'identifiant de votre projet Public Cloud correspond au service_name. Récupérez-le via le bouton Copier dans le presse-papier dans la section Public Cloud.
Utilisez des variables d'environnement pour éviter de stocker des secrets dans votre code source : OVH_ENDPOINT, OVH_APPLICATION_KEY, OVH_APPLICATION_SECRET, OVH_CONSUMER_KEY.
variables.tf :
variable service_name { type = string default = "<your_service_name>"}
ovh_kube_cluster.tf :
resource "ovh_cloud_project_kube" "my_kube_cluster" { service_name = "${var.service_name}" name = "my_kube_cluster" region = "GRA7" version = "1.34"}resource "ovh_cloud_project_kube_nodepool" "node_pool" { service_name = "${var.service_name}" kube_id = ovh_cloud_project_kube.my_kube_cluster.id name = "my-pool" flavor_name = "b2-7" desired_nodes = 3 max_nodes = 3 min_nodes = 3}
output.tf :
output "kubeconfig" { value = ovh_cloud_project_kube.my_kube_cluster.kubeconfig sensitive = true}
Warning
Les noms de node pool n'acceptent que les caractères minuscules, les chiffres et le tiret -. Les underscores et les points génèrent une erreur gzip: invalid header.
CDKTF traduit le code Go en HCL Terraform et utilise le provider Terraform OVHcloud. Définissez les identifiants nécessaires sous forme de variables d'environnement :
terraform output -raw kubeconfig > ~/.kube/my_kube_cluster.ymlkubectl --kubeconfig=~/.kube/my_kube_cluster.yml get nodes
Le fichier kubeconfig a été enregistré localement sous kubeconfig.yaml lors du déploiement :
kubectl --kubeconfig=kubeconfig.yaml get nodes
pulumi stack output kubeconfig --show-secrets -s dev > kubeconfig.yamlkubectl --kubeconfig=kubeconfig.yaml get nodes
Problèmes connus
« not enough xxx quotas »
Par défaut, les quotas de ressources Public Cloud (RAM, CPU, espace disque, nombre d'instances, etc.) sont limités pour des raisons de sécurité. Si vous manquez de ressources lors de la création d'un node pool, suivez le guide Augmenter les quotas Public Cloud pour les augmenter.
Via Terraform
Via Pulumi
« gzip: invalid header »
Cette erreur survient lorsque le nom d'un node pool ou d'un flavor contient _ ou .. Seuls les caractères minuscules, les chiffres et le tiret - sont acceptés :
name = "my-pool"flavor_name = "b2-7"
« Provider is missing a required configuration key »
Vous avez oublié d'exporter les variables d'environnement OVHcloud requises :
Seuls les caractères minuscules, les chiffres et le tiret - sont acceptés dans les noms de node pool. Renommez votre node pool avec une valeur valide :
Name: pulumi.String("my-desired-pool"),
Suppression (nettoyage)
Via l'espace client OVHcloud
Via l'API OVHcloud
Via la CLI OVHcloud
Via Terraform
Via CDK pour Terraform
Via Pulumi
Dans la section Managed Kubernetes Service, cliquez sur le bouton ... en regard de votre cluster et sélectionnez Supprimer.
Appelez l'endpoint suivant pour supprimer le cluster et toutes ses ressources associées :
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en œuvre de nos solutions, contactez votre commercial ou rendez-vous sur la page Professional Services pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l'équipe Professional Services.