‫CRD et le modèle d'opérateur.
‫C’est là que les choses commencent à devenir vraiment
‫intéressantes avec Kubernetes. Parce que lorsque nous
‫commençons à ajouter tous ces outils tiers, il existe
‫toutes ces API dans Kubernetes pour l'étendre.
‫Kubernetes lui-même devient sa propre plate-forme pour que vous puissiez faire des
‫choses pour lesquelles il n'a jamais été conçu ou que
‫vous n'auriez jamais pensé pouvoir faire.
‫Tout d’abord, si vous n’avez pas compris jusqu’à présent
‫dans ce cours, vous pouvez ajouter des éléments tiers à Kubernetes.
‫Il n'utilise pas uniquement l'API Kubernetes.
‫Désormais, avec les ressources personnalisées et les contrôleurs personnalisés,
‫vous pouvez modifier l'API.
‫Vous pouvez réellement utiliser
‫l'API pour l'étendre. Ensuite, même kubectl, sur la
‫ligne de commande, obtient de nouvelles commandes et peut voir de nouveaux types
‫de ressources et de nouveaux contrôleurs. Il y a
‫quelques années, CoreOS a publié un bel
‫article sur le modèle d'opérateur, qui leur
‫permettait d'implémenter des ressources personnalisées et
‫des contrôleurs personnalisés de manière à vous permettre
‫essentiellement d'utiliser des logiciels auparavant compliqués
‫dans Kubernetes, mais Kubernetes est conscient de
‫ce logiciel. Peut-être que si vous
‫aviez un système de surveillance complexe tel que
‫Prométhée et que vous souhaitiez le déployer, l'exécuter, le garder
‫à jour et qu'il ne fasse que
‫tout faire avec, vous ne vouliez pas nécessairement apprendre
‫toutes les différentes parties et comment ils fonctionnent dans Kubernetes.
‫Certains d'entre eux pourraient avoir besoin de StatefulSet.
‫Certains pourraient avoir besoin de déploiements et de services.
‫Certains pourraient avoir besoin d'une sorte de travail cron dedans.
‫Je veux dire qu'il y a tous ces types de ressources
‫dont il pourrait avoir besoin pour avoir une solution de
‫surveillance pleinement opérationnelle.
‫Ce n'est qu'un exemple.
‫Fondamentalement, tous ces logiciels adoptent maintenant ce
‫modèle et implémentent leur propre code personnalisé dans
‫Kubernetes afin de l'étendre.
‫Essentiellement, il vous donne les commandes
‫kubectl pour utiliser ces outils comme s'ils
‫faisaient nativement partie de Kubernetes.
‫Ce qui se passe pour toutes sortes de choses open source, c'est que vous
‫pouvez ajouter ces choses dans ... Dans les ressources, vous verrez un tas
‫de listes et différents sites Web, vous pouvez
‫réellement trouver ces choses.
‫Vous les considérez comme des fichiers YAML
‫très complexes qui ne vous permettent pas seulement de déployer
‫quelque chose, puis de s'exécuter, mais qui contiennent
‫des commandes et d'autres API qui s'étendent
‫à partir de Kubernetes.
‫C'est un domaine assez excitant parce qu'il est plutôt nouveau
‫et qu'il montre simplement que Kubernetes prend tout
‫en charge. Il n'y a pas
‫de limite à ce qu'il ne peut ni gérer ni contrôler.
‫Je dirais qu'évidemment vous ne voulez pas tout
‫ajouter ici car chacun d'eux ajouterait
‫ses propres informations à Kubernetes dans la base de données
‫ETCD, étendrait l'API et le plan de contrôle, etc.
‫Cela pourrait être un domaine
‫potentiel dans lequel, si vous ajoutez trop, vous allez vous retrouver
‫avec trop de complexité dans votre système lui-même.
‫À l'heure actuelle, du moins pour des tâches telles
‫que la surveillance, les bases de données, les sauvegardes et
‫la journalisation, ce sont les domaines dans lesquels je me
‫concentrerais sur l'obtention de déploiements de type CRD
‫et de type d'opérateur plutôt que de simplement trouver un YAML sur
‫Internet et en disant, je veux déployer
‫cela avec ce fichier YAML.
‫Cela lui donne plus d'intelligence.
‫Il y a beaucoup de ressources sur chacun
‫de ceux-ci et bien sûr, chacun aurait une implémentation et
‫une utilisation différentes. Je recommande vivement de les vérifier
‫maintenant qu'ils existent.