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.
Crear un proyecto DevOps de OCI, configurar permisos y repositorio de código para microservicios
Introducción
Esta es la parte tres de una serie de tutoriales de seis partes que muestra cómo desplegar un juego temporal de recursos en un cluster de OKE mediante microservicios de Golang que representan el uso del SDK de OCI, OCI-CLI, Resource Manager, OCI DevOps y Helm para desplegar y destruir Apache Airflow.
Objetivo
En este tutorial aprenderá a crear el proyecto DevOps de OCI, configurar permisos y repositorio de código para microservicios.
Requisitos
- Finalización del tutorial anterior en esta ruta de aprendizaje, Parte 2/6: Preparación y configuración de la pila de OCI Resource Manager para crear nodos adicionales en OKE
Tarea 1: Creación de políticas y grupos dinámicos
-
Cree grupos dinámicos necesarios para los servicios DevOps. Para obtener más información, consulte grupos dinámicos.
-
Cree los siguientes grupos dinámicos mediante estas reglas de coincidencia:
Grupo Dinámico Regla de coincidencia DevOpsDynamicGroup Cualquier {resource.type = 'devopsdeploypipeline', resource.type = 'devopsbuildpipeline', resource.type = 'devopsrepository', resource.type = 'devopsconnection'} DeployDynamicGroup Todos los {resource.type = 'devopsdeploypipeline'} BuildPipelineDynamicGroup TODOS {resource.type = 'devopsbuildpipeline'} ConnectionDynamicGroup TODOS {resource.type = 'devopsconnection'}
-
-
Cree un grupo para los usuarios DevOps. Para obtener más información, consulte grupos de usuarios.
-
Cree un grupo denominado: oci-devops-users.
-
Agregue el usuario que utilizó para configurar la CLI de OCI. Este usuario se utilizará para interactuar con OCI desde el microservicio "go-microservice". El microservicio llamará a recursos de OCI para disparar pipelines de compilación y la creación de kubeconfig.
-
En este tutorial, utilizamos "devmaster" agregado al grupo "oci-devops-users".
-
-
Cree políticas para los servicios DevOps. Para obtener más información, consulte Políticas de IAM.
-
Cree una política denominada: OCILabDeployPolicy.
Allow dynamic-group DeployDynamicGroup to manage all-resources in oci-resource-manager-lab Allow dynamic-group BuildPipelineDynamicGroup to use devops-family in oci-resource-manager-lab Allow dynamic-group BuildPipelineDynamicGroup to manage repos in oci-resource-manager-lab Allow dynamic-group BuildPipelineDynamicGroup to manage all-artifacts in oci-resource-manager-lab
-
Cree una política denominada: OCILabBuildPolicy.
Allow dynamic-group BuildPipelineDynamicGroup to manage repos in compartment oci-resource-manager-lab Allow dynamic-group BuildPipelineDynamicGroup to read secret-family in tenancy Allow dynamic-group BuildPipelineDynamicGroup to manage devops-family in compartment oci-resource-manager-lab Allow dynamic-group BuildPipelineDynamicGroup to manage all-artifacts in tenancy Allow dynamic-group BuildPipelineDynamicGroup to use ons-topics in compartment oci-resource-manager-lab Allow dynamic-group BuildPipelineDynamicGroup to read cluster-node-pools in compartment oci-resource-manager-lab Allow dynamic-group BuildPipelineDynamicGroup to use clusters in compartment oci-resource-manager-lab Allow dynamic-group BuildPipelineDynamicGroup to manage virtual-network-family in tenancy Allow group oci-devops-users to manage devops-family in compartment oci-resource-manager-lab Allow group oci-devops-users to manage repos in compartment oci-resource-manager-lab
-
Cree una política denominada: ConnectionsPolicy.
Allow dynamic-group ConnectionDynamicGroup to read secret-family in oci-resource-manager-lab
-
Tarea 2: Configuración del almacén y el registro
-
Cree el siguiente registro de OCI para imágenes de Docker y gráficos de Helm. Para obtener más información, consulte Registro de OCI.
Nombre de repositorio go-login (privado) microservicio go (privado) circulación de aire-helm/circulación de aire (privada) helm-go-login/chart-go-login (privado) helm-go-microservices/chart-go-microservice (privado) -
Anote el espacio de nombres de su registro; será necesario más adelante.
-
-
Cree AUTH TOKEN en su usuario para poder extraer/empujar gráficos de Helm en el registro de OCI.
Nota: Ya hemos proporcionado la política de IAM para que el grupo oci-devops-users gestione el repositorio en el compartimento oci-resource-manager-lab. Asegúrese de obtener un usuario que pertenezca al grupo oci-devops-user.
-
Vaya a la página de usuario en la consola de Oracle Cloud.
-
Cree un token AUTH y tome nota. El token se muestra solo una vez. Almacenaremos este token de forma segura en el almacén para uso futuro en el pipeline de compilación DevOps.
-
-
Cree un almacén y almacene el token de autenticación y otros secretos. Para obtener más información, consulte OCI Vault.
-
Una vez finalizada la creación, haga clic en el almacén y cree las claves de cifrado maestras.
-
Haga clic en los secretos y agregue los siguientes secretos.
Nombre secreto Valor OCIRUser registrar espacio de nombres/nombre de usuario OCIRToken auth_token_you_just_created
Consejo: Debe obtener el espacio de nombres del repositorio de registro de OCI.
-
Tarea 3: Preparación del proyecto DevOps de OCI
-
Se necesita un tema de notificación para cualquier proyecto DevOps de OCI, por lo que debemos crearlo primero. Para crear un tema de notificación, haga clic aquí.
-
Cree un nuevo proyecto DevOps. Para crear un proyecto DevOps, haga clic aquí.
Nota: Recuerde hacer clic en Activar log para ejecutar pipelines de compilación.
-
Cree y configure el repositorio de código para microservicios. Hay dos microservicios que usaremos para este tutorial.
Nombre de repositorio Información inicio de sesión Proyecto Golang para generar un token JWT microservicio go Código Golang para llamar a recursos en OCI mediante SDK -
El código está listo y disponible para descargar en los siguientes pasos.
-
Vaya a la página inicial del servicio DevOps, seleccione Servicios para desarrolladores y, a continuación, seleccione Proyectos.
-
Seleccione el proyecto DevOps que ha creado anteriormente y haga clic en Repositorios de código.
-
Haga clic en Crear repositorio y cree el repositorio para ir a la conexión.
Nota: Repita el paso 3 y cree el repositorio go-microservice.
-
-
Configure las credenciales de GIT en el buzón de inicio bastión. Debe configurar el archivo de configuración de SSH en la máquina virtual bastión para poder clonar los repositorios de git. Vaya al shell del bastión jump-box y siga las instrucciones que se muestran a continuación.
-
Compruebe si las claves están allí (las ha creado durante la configuración de la CLI de OCI).
ls -lrt ~/.oci
Nota: Debe tenerlo si ha completado los pasos anteriores de esta serie de tutoriales, en caso de que no lo tenga, siga las instrucciones para configurar la CLI de OCI.
-
Cree un archivo ~/.ssh/config e incluya el contenido mediante la configuración del nombre de usuario y la ubicación de la clave.
Host devops.scmservice.*.oci.oraclecloud.com User your_devops_user@your_tenant_name IdentityFile ~/.oci/oci_api_key.pem PubkeyAcceptedKeyTypes=+ssh-rsa
-
Corrija el permiso para ~/.ssh/config.
chmod 600 ~/.ssh/config
-
-
Rellene el repositorio de OCI con el código go-login de laboratorio.
-
Obtenga la URL del repositorio que ha creado haciendo clic en la opción "clonar".
-
Obtenga el archivo go-login-package.zip y descomprímalo en la ubicación del repositorio clonado go-login de OCI.
Debe sustituir la cadenaYOUR_SSH_CLONE_URL
por la URL que obtuvo de la opción de clonación en el paso anterior.cd $HOME git clone <YOUR_SSH_CLONE_URL> cd go-login wget https://docs.us.oracle.com/en/learn/resource-manager-airflow-oke-part3/files/go-login-package.zip unzip go-login-package.zip rm go-login-package.zip git add . git commit -m "initial load" git push
De esta forma, se cargará el código go-login en su propio repositorio en OCI.
-
-
Rellene el repositorio de OCI con el código go-microservices de laboratorio.
-
Obtenga la URL del repositorio que ha creado haciendo clic en la opción "clonar".
-
Obtenga el archivo go-microservice-package.zip y descomprímalo en la ubicación del repositorio clonado go-microservice de OCI.
Debe sustituir la cadenaYOUR_SSH_CLONE_URL
por la URL que obtuvo de la opción de clonación en el paso anterior.cd $HOME git clone <YOUR_SSH_CLONE_URL> cd go-microservice wget https://docs.us.oracle.com/en/learn/resource-manager-airflow-oke-part3/files/go-microservice-package.zip unzip go-microservice-package.zip rm go-microservice-package.zip git add . git commit -m "initial load" git push
De esta forma, se cargará el código de microservicio en su propio repositorio en OCI.
-
Siguiente Paso
Para continuar con el siguiente tutorial en esta ruta de aprendizaje, haga clic aquí.
Enlaces relacionados
Agradecimientos
- Autor: Joao Tarla (ingenier de soluciones de equipos A de LAD de Oracle)
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.
Create an OCI Devops project, set up permissions and code repository for microservices
F79750-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.