Aller au contenu principal
Version: 1.0.0

Kubernetes

Le service Managed Kubernetes offre une solution optimisée pour gérer efficacement les charges de travail serveur. Kubernetes, devenu un standard de l'industrie, fournit une API unifiée et accessible, principalement configurée en YAML, facilitant la gestion des infrastructures par les équipes.


Aperçu

Le service Kubernetes repose sur des modèles de conception logicielle robustes, permettant une récupération continue via la méthode de réconciliation. Il garantit également une mise à l'échelle fluide sur plusieurs serveurs, éliminant les défis des API complexes des plateformes de virtualisation traditionnelles.

Cette solution managée simplifie considérablement la gestion des charges de travail en éliminant le besoin de solutions personnalisées ou de modifications de code source, économisant temps et efforts.


Détails du Déploiement

Le service déploie un cluster Kubernetes standard en utilisant :

  • Cluster API : Pour la gestion des clusters Kubernetes.
  • Kamaji : Fournisseur du plan de contrôle (Control Plane).
  • KubeVirt : Fournisseur de l'infrastructure pour l'orchestration des machines virtuelles.

Les charges de travail utilisent des nœuds worker déployés en tant que machines virtuelles, tandis que le plan de contrôle est exécuté dans des conteneurs.

Fonctionnalités Disponibles

  • Services LoadBalancer pour gérer l'accès externe.
  • Provisionnement facile de volumes persistants pour les applications.

Liens Utiles :


Accès au Cluster Déployé

Pour accéder au cluster Kubernetes déployé, utilisez la commande suivante pour obtenir le fichier kubeconfig :

kubectl get secret -n <namespace> kubernetes-<clusterName>-admin-kubeconfig -o go-template='{{ printf "%s\n" (index .data "super-admin.conf" | base64decode) }}' > kubeconfig.yaml

Cela génère un fichier kubeconfig.yaml que vous pouvez utiliser avec kubectl pour interagir avec le cluster.


Machines Virtuelles et Séries de Ressources

Les nœuds worker du cluster Kubernetes sont déployés en tant que machines virtuelles avec des caractéristiques adaptées à différentes charges de travail. Ces caractéristiques incluent :

  • Burstable CPU pour les charges de travail variables.
  • Hugepages pour améliorer les performances mémoire.
  • vCPU-To-Memory Ratios pour une utilisation optimale des ressources.

Pour plus de détails sur les séries et les ressources des machines virtuelles, consultez la page Machines Virtuelles.


Paramètres Configurables

Paramètres Généraux

NomDescriptionValeur Par Défaut
hostNom d'hôte utilisé pour accéder au cluster Kubernetes."" (nom du cluster)
controlPlane.replicasNombre de réplicas pour les composants du plan de contrôle.2
storageClassClasse de stockage utilisée pour les données des utilisateurs."replicated" ou "local"

Configuration des Groupes de Nœuds

NomDescriptionValeur Par Défaut
nodeGroupsConfiguration des groupes de nœuds, incluant les types d'instances, le stockage et les rôles attribués.{}

Exemple pour un groupe de nœuds :

nodeGroups:
md0:
minReplicas: 0
maxReplicas: 10
instanceType: "u1.medium"
ephemeralStorage: 20Gi
roles:
- ingress-nginx
resources:
cpu: ""
memory: ""

Add-ons Disponibles

Les fonctionnalités suivantes peuvent être activées pour améliorer les capacités du cluster :

Cert-Manager

Gère automatiquement les certificats SSL/TLS.

Configuration :

addons:
certManager:
enabled: true
valuesOverride: {}

Ingress-NGINX Controller

Gère l'accès HTTP/HTTPS au cluster.

Configuration :

addons:
ingressNginx:
enabled: true
hosts:
- example.org
- foo.example.net
valuesOverride: {}

Flux CD

Implémente des pratiques GitOps pour le déploiement des applications.

Configuration :

addons:
fluxcd:
enabled: true
valuesOverride: {}

Agents de Monitoring

Permet l'intégration avec des agents de monitoring comme FluentBit pour la collecte des logs et des métriques.

Configuration :

addons:
monitoringAgents:
enabled: true
valuesOverride: {}

Ressources Additionnelles