L'éditeur php Xiaoxin est là pour vous présenter comment créer un opérateur Kubernetes pour les mises à jour progressives. Un opérateur Kubernetes est un contrôleur personnalisé qui étend les fonctionnalités de la plateforme Kubernetes. Les mises à jour progressives sont un moyen de mettre à jour progressivement une application sans interrompre le service. En créant un opérateur spécifiquement pour les mises à jour progressives, nous pouvons gérer les mises à niveau et les restaurations de l'application de manière plus flexible. Cet article présentera les étapes de base de la création d'un opérateur Kubernetes et expliquera en détail comment implémenter la fonction de mise à jour continue. Regardons de plus près!
J'ai créé une application Kubernetes (par exemple, déployer D1, en utilisant l'image Docker I1) qui s'exécutera sur un cluster client.
Exigence 1 :
Maintenant, je souhaite effectuer une mise à jour continue à chaque fois que je mets à jour mon image Docker I1 sans aucun effort du côté client (D'une manière ou d'une autre, le cluster client devrait automatiquement extraire la dernière image Docker)
Exigence 2 :
Chaque fois que je mets à jour une configMap spécifique, le cluster client devrait automatiquement démarrer en utilisant la nouvelle configMap
Comment dois-je atteindre cet objectif ?
J'ai entendu dire que l'opérateur k8s est utile
Commencez par Exigence 2 :
Chaque fois que je mets à jour une configMap spécifique, le cluster client doit Commencez automatiquement à utiliser le nouveau configMap
Si la carte de configuration est installée dans le déploiement, elle sera automatiquement mise à jour, mais si elle est injectée en tant qu'environnement, le redémarrage est la seule option, sauf si vous utilisez une solution side-car ou redémarrez le processus.
Référence : Mettre à jour la carte de configuration sans redémarrer le POD
Comment dois-je y parvenir ?
Vous utilisez des tâches Cron Kubernetes ?
De quel côté allez-vous exécuter vos cronjobs ? Si c'est un client, c'est tout Comme ça aussi.
Sinon, vous pouvez utiliser l'API exposée pour poursuivre le déploiement, ce qui exécutera le travail pour Lorsque vous transférez une image, mettez à jour le déploiement avec la dernière balise à votre registre Docker.
Opérateur Kubernetes ?
ou autre chose ?
Si vous souhaitez simplement mettre à jour le déploiement, exécuter l'API dans un déploiement ou un travail, vous pouvez le planifier de manière contrôlée et il n'y aura aucun problème avec l'opérateur, ce sera un problème plus natif si vous peut créer, Pour gérer et déployer une méthode, alors c'est une bonne façon de le faire.
Si à l'avenir vous devez gérer tous vos clusters (déploiements, services, pare-feu, réseaux) sur plusieurs clients à partir d'une seule source de vérité, vous pouvez explorer Anthos.
Gestion de la configuration Antos pour la synchronisation du référentiel Git
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!