Nota:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a Oracle Cloud Infrastructure Free Tier.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Integración de Oracle Cloud Infrastructure Container Engine for Kubernetes con Google Anthos
Introducción
Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) es una potente solución para las organizaciones que desean modernizar su infraestructura y adoptar un enfoque nativo de la nube para el desarrollo y despliegue de aplicaciones. Con la ampliación automática, las actualizaciones y la aplicación de parches de seguridad, OKE garantiza operaciones fiables tanto para el plano de control como para los nodos de trabajador, lo que reduce aún más la carga de gestión. Por otro lado, Google Anthos es una plataforma híbrida y multinube que permite a las organizaciones gestionar y desplegar aplicaciones en diferentes entornos sin problemas.
La integración de OKE y Google Anthos reúne lo mejor de ambos mundos, lo que permite a los usuarios aprovechar las ventajas de ambos servicios para lograr una solución de orquestación de contenedores flexible, segura y altamente escalable, y reducir los costos. Con esta integración, los usuarios pueden desplegar y gestionar fácilmente aplicaciones en contenedores en varias nubes y entornos locales.
Objetivos
Integre OKE con Google Anthos.
Requisitos
- Regístrese o inicie sesión en su cuenta de Oracle Cloud Infrastructure (OCI).
- Regístrese o inicie sesión en una cuenta de Google Cloud Platform (GCP).
- Google Anthos habilitado en la cuenta de GCP.
Tarea 1: Creación de un cluster de Kubernetes en OCI
-
Haga clic en el menú de navegación
situado cerca de la esquina superior izquierda de la consola web.
-
Vaya a Servicios para desarrolladores y, a continuación, haga clic en Clusters de Kubernetes (OKE).
-
Seleccione la opción Crear cluster.
-
Seleccione la opción Creación rápida y haga clic en Enviar.
Nota: Esto creará todos los recursos necesarios para desplegar un cluster de OKE.
-
Introduzca el nombre, seleccione el compartimento para este cluster y seleccione el tipo de nodo como Gestionado.
-
(Opcional) También puede seleccionar la forma, la imagen y el número de nodos.
-
Haga clic en Siguiente dos veces y, a continuación, en Crear.
Tarea 2: registro del cluster en OCI Cloud Shell
-
Una vez creado el cluster, debe registrarlo en el archivo
~/.kube/config
dentro de OCI Cloud Shell. -
Vaya al cluster y seleccione la opción Acceder a cluster.
-
Esto abrirá una nueva ventana con los pasos sobre cómo acceder al cluster desde OCI Cloud Shell. Realice los pasos.
Tarea 3: Crear una cuenta de servicio
-
Una vez que el cluster se haya registrado en OCI Cloud Shell, puede acceder e interactuar con este cluster.
-
Para crear la cuenta de servicio, siga los pasos 2-4 de esta documentación: Adding a Service Account Authentication Token to a Kubeconfig File.
Tarea 4: Registrar el cluster de nuevo en OCI Cloud Shell
Una vez creada la cuenta de servicio, debe volver a registrar el cluster en OCI Cloud Shell. Para mantener las cosas más fáciles y limpias, cree una copia de seguridad de la configuración actual antes de continuar con los siguientes pasos.
-
Para crear una copia de seguridad de
~/.kube/config
, abra OCI Cloud Shell. -
Ejecute el siguiente comando:
mv ~/.kube/config ~/.kube/config.bkp
-
Siga los pasos de Tarea 2: registro del cluster en OCI Cloud Shell.
Tarea 5: Copiar ~/.kube/config de OCI en GCP
Copie el archivo ~/.kube/config
que se ha vuelto a crear en la Tarea 4: vuelva a registrar el cluster en OCI Cloud Shell en GCP Cloud Shell.
-
Copie el contenido del archivo
cat ~/.kube/config
, seleccione todo el contenido de OCI Cloud Shell y pulse ctrl+c (copia). -
Vaya a GCP Cloud Shell y ejecute el comando
vim ~/.kube/config
, vaya a la parte inferior del archivo de configuración y pulse ctrl+v (pegar).
Tarea 6: Verificar la conexión en GCP
-
Una vez que tenga la entrada del archivo de configuración en su lugar, compruebe si la conexión está funcionando. Ejecute el siguiente comando en GCP y OCI Cloud Shell.
kubectl get nodes
-
Si las IP coinciden, todo está en orden, si no lo hacen, intente repetir Tarea 5: copiar ~/.kube/config de OCI a GCP de nuevo.
Tarea 7: Obtener el TOKEN de OCI
Obtenga el TOKEN generado en la Tarea 3: creación de una cuenta de servicio.
-
Ejecute el siguiente comando en OCI Cloud Shell:
TOKEN=`kubectl -n kube-system get secret oke-kubeconfig-sa-token -o jsonpath='{.data.token}' | base64 --decode
-
Después de obtener el código, ejecute el siguiente comando.
echo $TOKEN
y copie el token. -
Vaya a GCP Cloud Shell y cree una variable denominada
token
.TOKEN="|the token you copied|"
-
Ejecute los pasos 6-7 desde esta documentación: Adición de un token de autenticación de cuenta de servicio a un archivo Kubeconfig en GCP Cloud Shell.
Nota: Para las tareas restantes, solo usaremos GCP.
Tarea 8: Crear una cuenta de servicio en GCP y obtener la clave JSON
-
Abra GCP Cloud Shell.
-
Ejecute el siguiente comando para crear una cuenta de servicio denominada
connect-register-sa
.gcloud iam service-accounts create connect-register-sa --project PROJECT_ID
Nota: Sustituya PROJECT_ID por el ID del proyecto en la nube en GCP que desea que sea el principal de su cuenta de servicio
connect-register-sa
. -
Ejecute el siguiente comando para crear la clave JSON.
gcloud iam service-accounts keys create connect-register-key.json --iam-account SERVICE_ACCOUNT_EMAIL
Nota: Sustituya SERVICE_ACCOUNT_EMAIL por la dirección de correo electrónico de su cuenta de servicio
connect-register-sa
.
Tarea 9: Otorgar los permisos necesarios a la cuenta de servicio
Para gpc-cloud-agent
, que se instalará en el cluster de OKE, para comunicarse con GCP Anthos, necesitamos otorgar algunos permisos adicionales a la cuenta de servicio que acabamos de crear.
-
Ejecute el siguiente comando para otorgar el permiso
gkehub.editor
.gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" --role "roles/gkehub.editor"
Nota: Sustituya
FLEET_HOST_PROJECT_ID
porGCP PROJECT_ID
ySERVICE_ACCOUNT_EMAIL
por el correo electrónico de su cuenta de servicioconnect-register-sa
. -
Ejecute el siguiente comando para otorgar el permiso
gkehub.connect
.gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SERVICE_ACCOUNT_EMAIL --role "roles/gkehub.connect"
Nota: Sustituya
PROJECT_ID
porGCP PROJECT_ID
ySERVICE_ACCOUNT_EMAIL
por el correo electrónico de su cuenta de servicioconnect-register-sa
.
Tarea 10: registro del cluster de OKE en GCP Anthos
Una vez que tengamos todos los permisos en su lugar, podemos continuar con el registro del cluster de OKE en Google Anthos.
-
Ir a Google Anthos.
-
Seleccione Clusters y, a continuación, seleccione la opción REGISTER EXISTING CLUSTER.
-
Haga clic en AÑADIR CLUSTER EXTERNO.
-
Seleccione un nombre de cluster, una ubicación, un proveedor y haga clic en GENERATE REGISTRATION COMMAND (Generar contraseña de registro).
-
Copie el comando y sustituya el contexto de cluster por el contexto de cluster de OKE (se puede encontrar en el archivo
~/.kube/config
), sustituya la ruta del archivo de clave de cuenta de servicio por la ruta del archivo JSON creado en la Tarea 8: creación de una cuenta de servicio en GCP y obtención de la clave JSON(connect-register-key.json) y, por último, sustituya la ruta del archivokubeconfig
(normalmente es~/.kube/config
). -
Ejecute el comando en GCP Cloud Shell.
Tarea 11: inicio de sesión en el cluster de OKE
-
Una vez completado el registro del cluster de OKE en Anthos, debe iniciar sesión en el cluster desde Anthos.
-
Puede iniciar sesión en el cluster mediante el TOKEN generado en la Tarea 3: creación de una cuenta de servicio.
Enlaces relacionados
Confirmaciones
-
Autor: Dragos Nicu (ingeniero sénior de la nube)
-
Contribuyente: Andrei Ilas (arquitecto principal de Cloud)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre los productos, visite 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.