Remarque :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeur pour les informations d'identification Oracle Cloud Infrastructure, la location et les compartiments. A la fin de votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Intégrer Oracle Cloud Infrastructure Container Engine for Kubernetes avec Google Anthos
Introduction
OKE (Oracle Cloud Infrastructure Container Engine for Kubernetes) est une solution puissante destinée aux entreprises souhaitant moderniser leur infrastructure et adopter une approche native du cloud en matière de développement et de déploiement d'applications. Grâce à la mise à l'échelle automatique, aux mises à niveau et à l'application de patches de sécurité, OKE garantit des opérations fiables pour les noeuds de plan de contrôle et de processus actif, ce qui réduit encore la charge de gestion. D'autre part, Google Anthos est une plate-forme hybride et multicloud qui permet aux entreprises de gérer et de déployer des applications dans différents environnements de manière transparente.
L'intégration d'OKE et de Google Anthos rassemble le meilleur des deux mondes, permettant aux utilisateurs d'exploiter les avantages des deux services pour atteindre une solution d'orchestration de conteneurs hautement évolutive, sécurisée et flexible et réduire les coûts. Grâce à cette intégration, les utilisateurs peuvent facilement déployer et gérer des applications en conteneur dans plusieurs clouds et environnements on-premise.
Objectifs
Intégrez OKE à Google Anthos.
Prérequis
- Inscrivez-vous à votre compte Oracle Cloud Infrastructure (OCI) ou connectez-vous.
- Connectez-vous à un compte Google Cloud Platform (GCP).
- Google Anthos a activé le compte GCP.
Tâche 1 : création d'un cluster Kubernetes dans OCI
-
Cliquez sur le menu de navigation
dans l'angle supérieur gauche de la console Web.
-
Accédez à Services de développeur, puis cliquez sur Clusters Kubernetes (OKE).
-
Sélectionnez l'option Créer un cluster.
-
Sélectionnez l'option Création rapide et cliquez sur Soumettre.
Remarque : cette opération crée toutes les ressources nécessaires pour déployer un cluster OKE.
-
Entrez le nom, sélectionnez le compartiment pour ce cluster et sélectionnez le type de noeud Géré.
-
(Facultatif) Vous pouvez également choisir la forme, l'image et le nombre de noeuds.
-
Cliquez deux fois sur Suivant, puis cliquez sur Créer.
Tâche 2 : inscription du cluster dans OCI Cloud Shell
-
Une fois le cluster créé, vous devez l'inscrire dans le fichier
~/.kube/config
dans OCI Cloud Shell. -
Accédez au cluster et sélectionnez l'option Accéder au cluster.
-
Cela ouvrira une nouvelle fenêtre avec les étapes permettant d'accéder au cluster à partir d'OCI Cloud Shell. Suivez les étapes décrites.
Tâche 3 : création d'un compte de service
-
Une fois le cluster inscrit auprès d'OCI Cloud Shell, vous pouvez accéder à ce cluster et interagir avec lui.
-
Pour créer le compte de service, suivez les étapes 2-4 de cette documentation : Ajout d'un jeton d'authentification de compte de service à un fichier Kubeconfig.
Tâche 4 : réinscription du cluster dans OCI Cloud Shell
Une fois le compte de service créé, vous devez à nouveau inscrire le cluster dans OCI Cloud Shell. Pour simplifier et nettoyer les choses, créez une sauvegarde de la configuration actuelle avant de passer aux étapes suivantes.
-
Pour créer une sauvegarde de
~/.kube/config
, ouvrez OCI Cloud Shell. -
Exécutez la commande suivante :
mv ~/.kube/config ~/.kube/config.bkp
-
Suivez les étapes décrites dans Tâche 2 : inscrire le cluster dans OCI Cloud Shell.
Tâche 5 : copie de ~/.kube/config d'OCI vers GCP
Copiez le fichier ~/.kube/config
recréé dans Tâche 4 : enregistrer à nouveau le cluster dans OCI Cloud Shell dans GCP Cloud Shell.
-
Copiez le contenu du fichier
cat ~/.kube/config
, sélectionnez tout le contenu dans OCI Cloud Shell et appuyez sur Ctrl+c (copier). -
Accédez à GCP Cloud Shell et exécutez la commande
vim ~/.kube/config
, accédez au bas du fichier de configuration et appuyez sur Ctrl+v (coller).
Tâche 6 : vérifier la connexion dans GCP
-
Une fois l'entrée du fichier de configuration en place, vérifiez que la connexion fonctionne. Exécutez la commande suivante dans GCP et OCI Cloud Shell.
kubectl get nodes
-
Si les adresses IP correspondent, tout est dans l'ordre, si ce n'est pas le cas, réessayez de répéter la tâche 5 : copie de ~/.kube/config d'OCI vers GCP.
Tâche 7 : obtention de TOKEN à partir d'OCI
Obtenez le TOKEN généré dans Tâche 3 : création d'un compte de service.
-
Exécutez la commande suivante dans OCI Cloud Shell :
TOKEN=`kubectl -n kube-system get secret oke-kubeconfig-sa-token -o jsonpath='{.data.token}' | base64 --decode
-
Après avoir obtenu le code, exécutez la commande suivante.
echo $TOKEN
et copiez le jeton. -
Accédez à GCP Cloud Shell et créez une variable nommée
token
.TOKEN="|the token you copied|"
-
Exécutez les étapes 6-7 de cette documentation : Ajout d'un jeton d'authentification de compte de service à un fichier Kubeconfig dans GCP Cloud Shell.
Remarque : pour les tâches restantes, nous utiliserons uniquement GCP.
Tâche 8 : créer un compte de service dans GCP et obtenir la clé JSON
-
Ouvrez GCP Cloud Shell.
-
Exécutez la commande suivante pour créer un compte de service nommé
connect-register-sa
.gcloud iam service-accounts create connect-register-sa --project PROJECT_ID
Remarque : remplacez PROJECT_ID par l'ID du projet cloud dans GCP qui doit être le parent de votre compte de service
connect-register-sa
. -
Exécutez la commande suivante pour créer la clé JSON.
gcloud iam service-accounts keys create connect-register-key.json --iam-account SERVICE_ACCOUNT_EMAIL
Remarque : remplacez SERVICE_ACCOUNT_EMAIL par l'adresse électronique de votre compte de service
connect-register-sa
.
Tâche 9 : accorder les droits d'accès requis au compte de service
Pour gpc-cloud-agent
, qui sera installé dans le cluster OKE, pour communiquer avec GCP Anthos, nous devons accorder des autorisations supplémentaires au compte de service que nous venons de créer.
-
Exécutez la commande suivante pour accorder le droit d'accès
gkehub.editor
.gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" --role "roles/gkehub.editor"
Remarque : remplacez
FLEET_HOST_PROJECT_ID
parGCP PROJECT_ID
etSERVICE_ACCOUNT_EMAIL
par l'adresse électronique de votre compte de serviceconnect-register-sa
. -
Exécutez la commande suivante pour accorder le droit d'accès
gkehub.connect
.gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SERVICE_ACCOUNT_EMAIL --role "roles/gkehub.connect"
Remarque : remplacez
PROJECT_ID
parGCP PROJECT_ID
etSERVICE_ACCOUNT_EMAIL
par l'adresse électronique de votre compte de serviceconnect-register-sa
.
Tâche 10 : enregistrement du cluster OKE dans GCP Anthos
Une fois que nous avons toutes les autorisations en place, nous pouvons procéder à l'enregistrement du cluster OKE dans Google Anthos.
-
Allez sur Google Anthos.
-
Sélectionnez Clusters, puis l'option REGISTER EXISTING CLUSTER.
-
Cliquez sur ADD EXTERNAL CLUSTER.
-
Sélectionnez un nom, un emplacement et un fournisseur de cluster, puis cliquez sur Enregistrer la commande d'inscription.
-
Copiez la commande et remplacez le contexte de cluster par le contexte de cluster OKE (qui se trouve dans le fichier
~/.kube/config
), remplacez le chemin service-account-key-file par le chemin d'accès au fichier JSON créé dans Tâche 8 : créer un compte de service dans GCP et obtenir la clé JSON (connect-register-key.json), puis remplacez enfin le chemin d'accès au fichierkubeconfig
(généralement, il s'agit de~/.kube/config
). -
Exécutez la commande dans GCP Cloud Shell.
Tâche 11 : connexion au cluster OKE
-
Une fois l'enregistrement du cluster OKE dans Anthos terminé, vous devez vous connecter au cluster à partir d'Anthos.
-
Vous pouvez vous connecter au cluster à l'aide du TOKEN généré dans Tâche 3 : créer un compte de service.
Liens connexes
Accusés de réception
-
Auteur - Dragos Nicu (ingénieur cloud senior)
-
Contributeur - Andrei Ilas (architecte cloud principal)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour consulter la documentation produit, consultez Oracle Help Center.
Integrate Oracle Cloud Infrastructure Container Engine for Kubernetes with Google Anthos
F80662-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.