Nota:
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Crea un progetto OCI DevOps, imposta autorizzazioni e repository di codici per i microservizi
Introduzione
Questa è parte dei tre di una serie di esercitazioni in sei parti che ti mostra come distribuire un set temporaneo di risorse in un cluster OKE utilizzando microservizi Golang che rappresentano l'uso di SDK OCI, OCI-CLI, Resource Manager, OCI DevOps e Helm per distribuire ed eliminare Apache Airflow.
Obiettivo
In questa esercitazione verrà descritto come creare il progetto OCI DevOps, impostare le autorizzazioni e il repository di codici per i microservizi.
Prerequisiti
- Completamento dell'esercitazione precedente in questo percorso di apprendimento, Parte 2/6 - Preparazione e configurazione dello stack di Resource Manager OCI per la creazione di nodi aggiuntivi in OKE
Task 1: creare gruppi e criteri dinamici
-
Creare gruppi dinamici necessari per i servizi DevOps. Per ulteriori informazioni, vedere gruppi dinamici.
-
Creare i gruppi dinamici seguenti utilizzando le regole di corrispondenza riportate di seguito.
Gruppo dinamico Regola di corrispondenza DevOpsDynamicGroup Qualsiasi {resource.type = 'devopsdeploypipeline', resource.type = 'devopsbuildpipeline', resource.type = 'devopsrepository', resource.type = 'devopsconnection'} DeployDynamicGroup Tutti {resource.type = 'devopsdeploypipeline'} BuildPipelineDynamicGroup ALL {resource.type = 'devopsbuildpipeline'} ConnectionDynamicGroup ALL {resource.type = 'devopsconnection'}
-
-
Creare un gruppo di utenti per gli utenti DevOps. Per ulteriori informazioni, vedere gruppi di utenti.
-
Creare un gruppo denominato: oci-devops-users.
-
Aggiungere l'utente utilizzato per impostare l'interfaccia CLI OCI. Questo utente verrà utilizzato per interagire con OCI dal microservizio "go-microservice". Il microservizio chiamerà le risorse OCI per attivare le pipeline di build e la creazione di kubeconfig.
-
In questa esercitazione viene utilizzato "devmaster" aggiunto al gruppo "oci-devops-users".
-
-
Creare criteri per i servizi DevOps. Per ulteriori informazioni, consulta Criteri IAM.
-
Creare un criterio denominato: 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
-
Creare un criterio denominato: 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
-
Creare un criterio denominato: ConnectionsPolicy.
Allow dynamic-group ConnectionDynamicGroup to read secret-family in oci-resource-manager-lab
-
Task 2: impostazione del vault e del registro
-
Creare il registro OCI seguente per le immagini Docker e i grafici Helm. Per ulteriori informazioni, consulta il registro OCI.
Nome repository go-login (privato) go-microservice (privato) airflow-helm/airflow (privato) elm-go-login/chart-go-login (privato) elm-go-microservizi/chart-go-microservice (privato) -
Prendere nota dello spazio di nomi del registro, questa operazione sarà necessaria in un secondo momento.
-
-
Creare il TOKEN AUTTO sull'utente per poter estrarre/push i grafici Helm nel registro OCI.
Nota: il criterio IAM è già stato fornito per il gruppo oci-devops-users per gestire il repository nel compartimento oci-resource-manager-lab. Assicurarsi di ottenere un utente appartenente al gruppo oci-devops-user.
-
Andare alla pagina utente della console di Oracle Cloud.
-
Creare un token AUTH e prendere nota. Il token viene visualizzato una sola volta. Memorizzeremo questo token nel vault per uso futuro nella pipeline di build DevOps.
-
-
Crea il vault e memorizza il token di autenticazione e altri segreti. Per ulteriori informazioni, vedere OCI Vault.
-
Al termine della creazione, fare clic sul vault e creare le chiavi di cifratura master.
-
Fare clic sui segreti e aggiungere i segreti seguenti.
Nome segreto Valore OCIRUser spazio dei nomi di registro/nomeutente OCIRToken auth_token_you_just_created
Suggerimento: è necessario ottenere lo spazio di nomi dal repository del registro OCI.
-
Task 3: Preparare il progetto OCI DevOps
-
L'argomento di notifica è necessario per qualsiasi progetto OCI DevOps, pertanto è necessario crearlo prima. Per creare un argomento di notifica, fare clic qui.
-
Creare un nuovo progetto DevOps. Per creare un progetto DevOps, fare clic qui.
Nota: ricordarsi di fare clic su Abilita log per eseguire pipeline di build.
-
Crea e imposta il repository di codici per i microservizi. Esistono due microservizi che utilizzeremo per questa esercitazione.
Nome repository Informazioni go-login Progetto Golang per generare un token JWT go-microservizio Codice Golang per chiamare le risorse su OCI utilizzando l'SDK -
Il codice è pronto e disponibile per il download nei passi successivi riportati di seguito.
-
Andare alla home page del servizio DevOps, selezionare Servizi per sviluppatori, quindi selezionare Progetti.
-
Selezionare il progetto DevOps creato in precedenza e fare clic su Repository di codici.
-
Fare clic su Crea repository e creare il repository per il login.
Nota: ripetere il passo 3 e creare il repository go-microservice.
-
-
Impostare le credenziali GIT nella casella di accesso bastion. Per duplicare i repository git, è necessario impostare il file di configurazione SSH nella virtual machine bastion. Vai alla tua shell jump-box bastion e segui le istruzioni riportate di seguito.
-
Controllare che le chiavi siano presenti (le sono state create durante l'impostazione dell'interfaccia CLI OCI).
ls -lrt ~/.oci
Nota: se sono stati completati i passi precedenti di questa serie di esercitazioni, attenersi alle istruzioni per impostare l'interfaccia CLI OCI.
-
Creare un file ~/.ssh/config e includere il contenuto impostando il nome utente e la posizione della chiave.
Host devops.scmservice.*.oci.oraclecloud.com User your_devops_user@your_tenant_name IdentityFile ~/.oci/oci_api_key.pem PubkeyAcceptedKeyTypes=+ssh-rsa
-
Correggere l'autorizzazione per ~/.ssh/config.
chmod 600 ~/.ssh/config
-
-
Inserire i dati nel repository OCI con il codice go-login.
-
Recuperare l'URL dal repository creato facendo clic sull'opzione "clone".
-
Recuperare il file go-login-package.zip e decomprimerlo all'interno della posizione del repository clonato go-login OCI.
È necessario sostituire la stringaYOUR_SSH_CLONE_URL
con l'URL ottenuto dall'opzione di copia nel passo precedente.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
Questa operazione caricerà il codice go-login nel repository personale in OCI.
-
-
Popolare il repository OCI con il codice laboratorio go-microservices.
-
Recuperare l'URL dal repository creato facendo clic sull'opzione "clone".
-
Recuperare il file go-microservice-package.zip ed estrarlo all'interno della posizione del repository clonato go-microservice OCI.
È necessario sostituire la stringaYOUR_SSH_CLONE_URL
con l'URL ottenuto dall'opzione di copia nel passo precedente.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
Questa operazione caricerà il codice go-microservice nel repository personale in OCI.
-
Fase successiva
Per passare all'esercitazione successiva in questo percorso di apprendimento, fare clic qui.
Collegamenti correlati
Approvazioni
- Autore - Joao Tarla (Oracle LAD A-Team Solution Engineer)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Explorer di Oracle Learning.
Per la documentazione sul prodotto, visitare il sito 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.