Google a reconnu la complexité de Kubernetes, il a donc développé le mode "Pilote automatique"

Le nouveau mode GKE est plus cher et moins flexible, mais plus simple et plus sûr





GKE Autopilot gère les pods pour vous



Deux choses sont bien connues à propos des clusters Kubernetes. Le premier est qu'il s'agit du meilleur outil pour la tâche critique d'orchestration de conteneurs. Et deuxièmement, sa complexité est un obstacle à la mise en œuvre et une cause fréquente d'erreurs. Même Google, l'inventeur et principal promoteur de Kubernetes, l'admet.



Pour simplifier le déploiement et la gestion des clusters, la société a fourni à tous les clients GKE un accès au service Autopilot , que Google utilise depuis longtemps dans ses propres clusters Borg . Il s'agit d'une configuration automatique des ressources basée sur l'apprentissage automatique.



«Malgré 6 ans de progrès, Kubernetes est toujours incroyablement complexe » , a déclaré Drew Bradstock, responsable produit pour Google Kubernetes Engine (GKE), à The Register. "Ces dernières années, nous avons vu de nombreuses entreprises adopter Kubernetes, mais se heurter ensuite à des difficultés."



GKE est une plate-forme Kubernetes qui s'exécute principalement sur Google Cloud Platform (GCP). Il est également disponible sur d'autres clouds ou localement dans le cadre d' Anthos .



Pilote automatique - nouveau mode de fonctionnementGKE, il est plus automatisé et préconfiguré pour réduire les coûts d'exploitation de la gestion des clusters, optimiser les clusters pour la production et la haute disponibilité.





En utilisant Autopilot dans la propre infrastructure de Google,



Kubernetes source a les concepts de clusters (un ensemble de serveurs physiques ou virtuels), de nœuds (serveurs individuels), de pods (un bloc de contrôle représentant un ou plusieurs conteneurs sur un nœud) et de conteneurs eux-mêmes. GKE est entièrement géré au niveau du cluster. Le pilote automatique étend cela aux nœuds et aux pods.



Le moyen le plus simple de comprendre les fonctionnalités et les limites d'Autopilot est de consulter la description du système.... Notez les paramètres "préconfigurés" qui ne peuvent pas être modifiés.



Comparaison des modes pilote automatique et standard


Fondamentalement, il s'agit d'une autre façon de réserver et de gérer les ressources GKE qui sacrifie la flexibilité au profit de la commodité. Étant donné que Google gère la majeure partie de la configuration, il garantit une disponibilité supérieure de 99,9% pour les pods Autopilot avec plusieurs zones (voir SLA ).



Dans le cloud Google, les régions sont composées de trois zones ou plus. Placer toutes les ressources dans une zone est moins fiable que dans plusieurs zones, et l'expansion dans plusieurs régions donne la tolérance de panne maximale. Les clusters sur Autopilot sont toujours répartis par régions, pas par zones: c'est plus fiable, mais plus cher.



Une autre limitation d'Autopilot est le système d'exploitation Linux pré-installé avec Containerd, "optimisé pour les conteneurs". Il n'y a aucun moyen d'utiliser Linux avec Docker ou Windows Server. Le nombre maximum de pods par nœud est de 32, et non de 110 comme sur le GKE standard.



Il n'y a pas d'accès SSH aux nœuds, les nœuds Autopilot sont bloqués. Le support GPU et TPU (Tensor Processing Unit) n'est pas disponible, bien que prévu pour l'avenir. «Abandonner SSH a été une décision difficile», déclare Bradstock. Bien sûr, cela limite les options de contrôle. Mais Bradstock a déclaré que la décision était basée sur des recherches qui ont montré un taux élevé d'erreurs critiques dans la configuration du cluster.



De l'argent



Le modèle de tarification est également différent ici. Vous n'êtes pas facturé pour les instances de calcul (machines virtuelles), mais pour l'utilisation réelle du processeur, de la mémoire et du stockage par tous les pods. Plus 0,10 USD par heure et par cluster sur Autopilot, tout comme GKE standard.



La question évidente est de savoir lequel sera le plus cher, un cluster standard ou un pilote automatique. La réponse n'est pas simple. Puisqu'il s'agit en quelque sorte d'un service premium, Autopilot coûte plus cher qu'un déploiement GKE standard soigneusement optimisé. "Il y a une prime par rapport à un GKE régulier", a déclaré Bradstock, "parce que nous fournissons non seulement des fonctionnalités, mais un support SRE (Site Reliability Engineering) complet et des garanties SLA."



Cependant, Autopilot peut être moins cher qu'un déploiement GKE mal configuré qui n'est pas complètement chargé, car il est difficile d'évaluer la spécification correcte pour les instances de calcul. Fonction d'allocation cumulative (CDF) de la mémoire inutilisée et des machines occupées pour 5000 tâches après l'activation du pilote automatique dans la propre infrastructure de Google, source Réduction des erreurs de mémoire (MOO) et du partage de mémoire inutilisé pour 500 tâches après l'activation du pilote automatique dans l'infrastructure Google, source















Pourquoi ne pas simplement utiliser Cloud Run, qui exécute les charges de travail de conteneur sans configuration de cluster, nœud ou pod, même sur GKE? «Cloud Run est un excellent environnement pour les développeurs, une application peut passer de zéro à 1000 instances et redescendre à zéro, c'est à cela que servent les clouds», explique Bradstock. "Autopilot facilite la vie des personnes qui souhaitent utiliser Kubernetes, qui souhaitent tout voir et tout contrôler, qui souhaitent utiliser des scripts tiers, qui souhaitent créer leur propre plate-forme."



Un problème certain est la compatibilité avec les modules complémentaires existants avec des outils tiers pour Kubernetes. Certains d'entre eux ne sont pas encore compatibles avec Autopilot, mais d'autres fonctionnent déjà, comme la surveillance Datadog. Les DaemonSets sont également pris en charge - cette fonctionnalité est utilisée par de nombreux outils pour exécuter des démons sur tous les nœuds.



La configuration pour le stockage, le calcul et la mise en réseau a contraint un certain niveau de flexibilité et certaines intégrations à abandonner: «Mais nous voulons absolument qu'un écosystème tiers fonctionne sur [Autopilot]», déclare Bradstock.



Avec le lancement d'Autopilot, la gamme d'options permettant d'exécuter Kubernetes dans le cloud Google s'élargit. Le compromis est non seulement un coût plus élevé et moins de flexibilité, mais aussi une désorientation potentielle des Devops dans les usines. Cependant, la logique principale est que les entreprises ont intérêt à se concentrer sur leur cœur de métier plutôt que sur les services fournis par l'entrepreneur.



L'ingénierie Google a une bien meilleure réputation que le service client. Le développeur Kevin Lin a récemment décrit à quoi ressemblait le système de bonus de démarrage AWS et Google.



Google s'est avéré être une organisation lente et inefficace qui a fini par référer le client à un partenaire tiers. «La première conversation portait sur le montant que je prévoyais de dépenser pour Google (au lieu d'appeler Amazon là où ils voulaient m'aider à mettre le service en marche). Google Cloud a une très bonne ergonomie et des ingénieurs de classe mondiale, mais une terrible réputation de service client », a-t-il déclaré.



C'est une preuve supplémentaire que les bons ingénieurs ne sont pas le seul facteur important dans le choix d'un cloud.



All Articles