Présentation d'Anthos

Anthos est une plate-forme moderne de gestion d'applications qui fournit une expérience de développement et d'exploitation cohérente pour les environnements cloud et sur site. Cette page présente chaque couche de l'infrastructure Anthos et montre comment en exploiter les fonctionnalités.

Le diagramme suivant décrit les composants Anthos et leurs interactions dans un environnement d'entreprise classique :

Schéma montrant les composants Anthos
Composants Anthos (cliquez pour agrandir)

Anthos est composé de plusieurs produits et fonctionnalités. Vous trouverez ci-dessous une liste des composants et leur disponibilité :

  • Google Kubernetes Engine (GA)
  • GKE On-Prem (bêta)
  • Google Cloud Platform Marketplace (version bêta)
  • Gestion de la configuration Anthos (bêta)
  • GKE Hub (Alpha)
  • Cloud Service Mesh (Alpha)

Environnement de calcul

L'environnement informatique principal d'Anthos repose sur Google Kubernetes Engine (GKE) et GKE On-Prem pour gérer les installations Kubernetes dans les environnements dans lesquels vous souhaitez déployer vos applications. Ces offres regroupent les versions en amont de Kubernetes et fournissent des fonctionnalités de gestion pour la création, le scaling et la mise à niveau des clusters Kubernetes conformes.

Kubernetes est composé de deux éléments principaux : le plan de contrôle et les composants de nœud. Avec GKE, Google Cloud Platform héberge le plan de contrôle, et le serveur d'API Kubernetes est le seul composant du plan de contrôle accessible aux clients. GKE gère les composants de nœud dans le projet du client à l'aide d'instances dans Compute Engine. Avec GKE On-Prem, tous les composants sont hébergés dans l'environnement de virtualisation sur site du client.

Lorsque Kubernetes est installé et en cours d'exécution, vous avez accès à une couche d'orchestration commune qui gère le déploiement, la configuration, la mise à niveau et le scaling des applications.

Environnement de mise en réseau

Pour tirer pleinement parti des fonctionnalités fournies par Anthos, il faut que vos clusters GKE et GKE On-Prem soient connectés en IP. De plus, votre environnement GKE On-Prem doit pouvoir atteindre les points de terminaison des API de Google, par exemple Stackdriver pour la surveillance et les alertes, et GKE Hub pour l'enregistrement des clusters avec la console Google Cloud Platform.

Vous pouvez connecter vos environnements sur site avec GCP de différentes manières. Le moyen le plus simple de commencer consiste à mettre en place un VPN de site à site entre les environnements utilisant un VPN Cloud. Si vous avez des exigences plus strictes en matière de latence et de débit, vous pouvez choisir entre l'interconnexion Cloud Interconnect dédiée et partenaire. Pour en savoir plus sur le choix d'un type d'interconnexion, consultez la section VPN Cloud et autres types d'interconnexions.

Kubernetes permet aux utilisateurs de provisionner des équilibreurs de charge des couches 4 et 7. GKE utilise l'équilibrage de la charge réseau pour la couche 4 et l'équilibrage de la charge HTTP(S) pour la couche 7. Les deux sont des services gérés et ne nécessitent aucune configuration ou gestion des comptes supplémentaire de votre part. En revanche, GKE On-Prem utilise un dispositif d'équilibrage de charge sur site.

Gestion des services

Dans Kubernetes, les services sont composés de nombreux pods, qui exécutent des conteneurs. Dans une architecture de microservices, une seule application peut être composée de nombreux services, dont chacun peut avoir plusieurs versions déployées simultanément.

Avec une application monolithique, il n'y a pas de problèmes liés au réseau, car la communication se fait par le biais d'appels de fonction isolés dans le monolithe. Dans une architecture de microservices, la communication de service à service se produit sur le réseau.

Les réseaux peuvent être peu fiables et peu sûrs, les services doivent donc être en mesure d'identifier et de gérer les particularités du réseau. Par exemple, si le service A appelle le service B et qu'il y a une panne de réseau, que doit faire le service A lorsqu'il ne reçoit pas de réponse ? Doit-il recommencer l'appel ? Si oui, à quelle fréquence ? Ou comment le service A sait-il que le service B renvoie l'appel ?

Vous pouvez résoudre ces problèmes de réseau de plusieurs manières. Par exemple :

  • Vous pouvez utiliser des bibliothèques clientes à l'intérieur de l'application pour atténuer certaines incohérences du réseau. La gestion de plusieurs versions de bibliothèque dans un environnement polyglotte requiert diligence, rigueur et, parfois, duplication.

  • Vous pouvez utiliser Istio, qui est une mise en œuvre Open Source du modèle de maillage de service. Istio utilise des proxy side-car pour améliorer la sécurité, la fiabilité et la visibilité du réseau. Avec un maillage de services, comme Istio, ces fonctions sont extraites du conteneur principal de l'application et mises en œuvre dans un proxy commun hors processus fourni sous la forme d'un conteneur séparé dans le même pod.

    Voici certaines des caractéristiques d'Istio :

    • Contrôle détaillé du trafic avec des règles de routage riches pour le trafic HTTP, gRPC, WebSocket et TCP.

    • Fonctionnalités de résilience des requêtes telles que nouvelles tentatives d'exécution, basculements, disjoncteurs et injection de pannes.

    • Couche de stratégie enfichable et API de configuration prenant en charge le contrôle d'accès et la limitation de débit.

    • Métriques, journaux et traces automatiques pour l'intégralité du trafic au sein d'un cluster, y compris les entrées et sorties de cluster.

    • Communication sécurisée de service à service avec authentification et autorisation basées sur les comptes de service.

    • Facilitation de tâches telles que les tests A et B, le déploiement de Canary, l'injection de pannes et la limitation de débit.

Cloud Service Mesh (CSM) gère Istio dans GKE et GKE On-Prem, offrant tous les avantages d'Istio en Open Source, sans la complexité de la configuration, de l'installation, de la mise à niveau et de la configuration de l'autorité de certification.

CSM fournit également les intégrations suivantes aux fonctionnalités GCP :

Gestion centralisée de la configuration

Schéma montrant l'architecture d'Anthos Config Management
Architecture Anthos Config Management (cliquez pour agrandir)

Le fait de couvrir plusieurs environnements ajoute une complexité supplémentaire en termes de gestion des ressources et de cohérence. Anthos fournit un modèle unifié pour le calcul, la mise en réseau et même la gestion de services pour les clouds et les centres de données.

La configuration sous forme de code est une approche courante pour gérer cette complexité. Anthos fournit une configuration sous forme de code via Anthos Config Management, qui déploie l'opérateur Anthos Config Management sur vos clusters GKE ou GKE On-Prem, vous permettant de surveiller et d'appliquer les modifications de configuration détectées dans un référentiel Git.

Cette approche exploite les concepts de base de Kubernetes, tels que les espaces de noms, les étiquettes et les annotations, pour déterminer comment et où appliquer les modifications de configuration à tous vos clusters Kubernetes, quel que soit leur emplacement. Le référentiel fournit une source de vérité unique, versionnée, sécurisée et contrôlée pour toutes vos configurations Kubernetes. Tout code YAML ou JSON pouvant être appliqué à l'aide de commandes kubectl peut être géré avec l'opérateur Anthos Config Management et appliqué à tout cluster Kubernetes utilisant Anthos Config Management.

Anthos Config Management présente les avantages suivants pour vos clusters Kubernetes Engine :

  • Source unique de vérité, de contrôle et de gestion

    • Permet l'utilisation des flux de travail de révision de code, de validation et de rollback.

    • Évite les opérations masquées, où les clusters Kubernetes ne sont plus synchronisés en raison de modifications manuelles.

    • Permet l'utilisation de pipelines CI/CD pour effectuer des tests et des déploiements de façon automatisée.

  • Déploiement en une seule étape sur tous les clusters

    • Anthos Config Management transforme un seul commit Git en plusieurs commandes kubectl sur tous les clusters.

    • Rollback en annulant simplement la modification dans Git. Le rollback est alors automatiquement déployé à grande échelle.

  • Modèle d'héritage riche pour appliquer les modifications

    • À l'aide d'espaces de noms, vous pouvez créer une configuration pour tous les clusters, certains clusters, certains espaces de noms ou même des ressources personnalisées.

    • À l'aide de l'héritage d'espaces de noms, vous pouvez créer un modèle d'espaces de noms en couches permettant l'héritage de configuration dans la structure de dossiers du dépôt.

Interface utilisateur unifiée

Lorsque le nombre de clusters Kubernetes d'une organisation augmente, il peut être difficile de comprendre le fonctionnement de chaque environnement. Le tableau de bord GKE fournit une console sécurisée permettant d'afficher l'état des clusters Kubernetes et des charges de travail Kubernetes. Avec GKE Hub, vous pouvez enregistrer vos clusters GKE On-Prem en toute sécurité avec GCP, et afficher les mêmes informations que celles disponibles pour vos clusters GKE via le tableau de bord GKE.

Pour connecter un cluster, déployez GKE Connect Agent, qui configure un tunnel sécurisé permettant à la console GCP de gérer les ressources de votre cluster. Toutes les demandes via l'agent GKE Connect sont incluses dans les journaux d'audit du cluster. Vous pouvez limiter les capacités de l'agent à l'aide de la fonctionnalité RBAC native du cluster.

Avantages

Anthos est une plate-forme de services distincts qui travaillent de concert pour apporter de la valeur à l'ensemble de l'entreprise. Cette section décrit comment il peut être utilisé par les différents rôles dans une organisation et les avantages dont chaque groupe bénéficiera.

Anthos pour le développement

Pour le développeur, Anthos fournit une plate-forme de gestion de conteneurs à la pointe de la technologie, basée sur Kubernetes. Les développeurs peuvent utiliser cette plate-forme pour créer et déployer rapidement et facilement des applications existantes basées sur des conteneurs et des architectures basées sur des microservices.

Principaux avantages :

  • Gestion de flux compatible avec Git et workflows CI/CD pour la configuration et le code avec Anthos Config Management.

  • Instrumentation sans code du code avec Istio et Stackdriver pour assurer une observabilité uniforme.

  • Protection sans code des services à travers mTLS et limitation avec CSM (Istio).

  • Prise en charge de Google Cloud Platform Marketplace permettant de déposer rapidement et facilement des produits du commerce dans des clusters.

Anthos pour les opérations

Pour les opérations, Anthos assure un déploiement et une gestion centralisés, efficaces et modélisés de clusters, permettant à l'équipe des opérations de fournir et de gérer rapidement une infrastructure conforme aux normes de l'entreprise.

Principaux avantages :

  • Déploiement à commande unique de nouveaux clusters avec GKE et GKE On-Prem (gkectl).

  • Gestion de la configuration centralisée et conformité avec la configuration en tant que code et Anthos Config Management.

  • Déploiement et rollback simplifiés avec les archivages Git et Anthos Config Management.

  • Volet unique de visibilité sur tous les clusters, de l'infrastructure à la performance et à la topologie des applications avec Stackdriver et CSM (Istio).

Anthos pour la sécurité

Pour la sécurité, Anthos permet d'appliquer les normes de sécurité sur les clusters, les applications déployées et même le workflow de gestion de la configuration à l'aide d'une approche de configuration sous forme de code et d'une gestion centralisée.

Principaux avantages :

  • Workflow centralisé, qui peut être contrôlé et sécurisé en utilisant des dépôts de configuration conformes à Git avec Anthos Config Management.

  • Application de la conformité des configurations de cluster à l'aide d'espaces de noms et d'une configuration héritée avec Anthos Config Management.

  • Sécurisation sans code de microservices avec Istio, assurant la gestion de mTLS et des certificats au sein du cluster.

  • Protection des services intégrée à travers la régulation et le routage d'Istio.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…