Remarques :
- Ce tutoriel est disponible dans un environnement d'atelier gratuit fourni par Oracle.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Gérer les environnements d'exécution dans Oracle Linux Automation Manager Private Automation Hub
Introduction
Private Automation Hub est un référentiel Oracle Linux Automation Manager permettant de gérer localement les collections, les images d'environnement d'exécution et tout autre contenu organisé au sein de l'infrastructure d'un client.
Ce tutoriel explique comment installer Private Automation Hub et télécharger un environnement d'exécution personnalisé vers son registre de conteneurs. Pour plus de détails sur la création d'environnements d'exécution personnalisés, reportez-vous à notre tutoriel sur l'utilitaire Builder.
Objectifs
Dans ce tutoriel, vous apprendrez à :
- Sécuriser les variables de mot de passe avec
ansible-vault
- Installer Private Automation Hub à l'aide de variables
- Charger un environnement d'exécution personnalisé dans le registre Private Automation Hub
Prérequis
- Deux systèmes exécutant Oracle Linux
- Un pour l'installation de Private Automation Hub
- Autre possibilité d'exécuter l'utilitaire Builder et d'agir en tant que client de Private Automation Hub
Déployer Oracle Linux
Remarque : si vous êtes en cours d'exécution dans votre propre location, lisez le projet linux-virt-labs
GitHub README.md et complétez les prérequis avant de déployer l'environnement d'exercice.
-
Ouvrez un terminal sur le bureau Luna.
-
Clonez le projet
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Accédez au répertoire de travail.
cd linux-virt-labs/olam
-
Installez les ensembles requis.
ansible-galaxy collection install -r requirements.yml
-
Mettez à jour la configuration de l'instance Oracle Linux.
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "devops-node" type: "server" 2: instance_name: "ol-pah" type: "server" passwordless_ssh: true use_olam_builder: true use_devops_vnc: true add_pah_ports: true olam_type: none EOF
-
Créez un fichier d'inventaire.
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
Déployez l'environnement d'exercice.
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
L'environnement d'atelier gratuit requiert la variable supplémentaire
ansible_python_interpreter
pour localhost car il installe le package RPM pour le kit SDK Oracle Cloud Infrastructure pour Python. L'emplacement d'installation de ce package se trouve sous les modules Python par défaut du système en fonction de votre version d'Oracle Linux. L'utilisation d'une variable d'inventaire évite d'avoir un impact sur les lectures en cours d'exécution sur des hôtes autres que localhost.La forme de déploiement par défaut utilise l'UC AMD. Vous pouvez modifier la forme des instances en transmettant une nouvelle définition de variable de forme sur la ligne de commande.
Par exemple :
-e instance_shape="VM.Standard3.Flex"
De même, la version par défaut de l'image Oracle Linux utilise la variable
os_version
définie dans le fichier `default_vars.yml. Vous pouvez modifier cette valeur en transmettant la version majeure d'Oracle Linux sur la ligne de commande.Par exemple :
-e os_version="9"
Important : attendez que le guide de lecture s'exécute correctement et atteignez la tâche de pause. A ce stade du manuel, l'installation d'Oracle Linux est terminée et les instances sont prêtes. Notez la lecture précédente, qui affiche les adresses IP publiques et privées des noeuds qu'elle déploie.
Installation des packages Private Automation Hub
-
Ouvrez un terminal et connectez-vous via SSH à l'instance ol-pah.
ssh oracle@<ip_address_of_instance>
-
Installez le référentiel Oracle Linux Automation Manager.
Oracle Linux 8 ::
sudo dnf install -y oraclelinux-automation-manager-release-el8
Oracle Linux 9 ::
sudo dnf install -y oraclelinux-automation-manager-release-el9
-
Installez le package Private Automation Hub.
sudo dnf install -y ol-private-automation-hub-installer
Cette commande installe les guides d'installation et les rôles d'installation Private Automation Hub,
ansible-core
,python3.11
et d'autres dépendances de package.
Installer Private Automation Hub
Lors de l'installation de Private Automation Hub, vous devez définir les mots de passe du compte superutilisateur Private Automation Hub admin
et de sa base de données back-end. Plutôt que de les transmettre au playbook en plein air, nous allons effectuer cette étape de manière plus sécurisée en utilisant ansible-vault
.
L'utilitaire ansible-vault
, fourni avec Oracle Linux Automation Engine, permet le cryptage et le décryptage des fichiers de données structurées, y compris les fichiers texte, les variables et les livres de lecture YAML.
Nous allons crypter un fichier variable contenant nos deux mots de passe à nos fins.
-
Copiez le livre de jeux Private Automation Hub dans le répertoire de travail.
cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
-
Accédez au répertoire de travail.
cd ~/single_node
-
Créez un fichier d'inventaire.
Le fichier d'inventaire de ce livre de jeux requiert le nom d'hôte et le nom d'utilisateur SSH où le livre de jeux installera Private Automation Hub. Vous définissez le fichier d'inventaire au format INI ou YAML. L'inventaire d'échantillons
hosts.singlenode.example
dans le manuel d'installation utilise YAML. Nous utiliserons donc le format INI ici pour présenter une autre option.tee hosts > /dev/null <<EOF [hub] ol-pah ansible_host=ol-pah ansible_user=oracle EOF
Contrairement à l'exemple qui utilise
hub
comme alias pour ansible_host, ce fichier d'inventaire INI utilisehub
comme nom de groupe. Les groupes permettent de créer des relations parent-enfant entre les hôtes et de les classer dans une ou plusieurs catégories pour exécuter des tâches ou affecter des variables. -
Créez un coffre contenant les variables de mot de passe.
ansible-vault create vault_passwords.yml
Lors de l'exécution de la commande, elle vous invite à créer un mot de passe de coffre. L'utilitaire
ansible-vault
utilise ce mot de passe pour déchiffrer le contenu du coffre et accéder à ce contenu à partir d'un livre de jeux. Le mot de passe peut être n'importe quelle combinaison de caractères, mais n'oubliez pas, car vous ne pouvez pas le récupérer.Une fois que vous avez entré et confirmé le mot de passe, l'utilitaire ouvre le fichier
vault_passwords.yml
dans votre éditeur par défaut. Pour l'environnement d'exercice libre, l'éditeur estvi
. Saisissezi
pour entrer en modeINSERT
et coller ces exemples de variables de mot de passe Private Automation Hub.Remarque : Il s'agit des variables utilisées par le livre de jeux lors de l'installation de Private Automation Hub et de la définition des mots de passe de superutilisateur et de base de données.
--- olpah_admin_password: password olpah_db_password: password
Fermez et enregistrez le fichier en saisissant
ESC
,:wq!
, puisENTER
. -
Vérifiez le contenu du coffre.
ansible-vault view vault_passwords.yml
Entrez le mot de passe du coffre à l'invite et
ansible-vault
affiche le contenu du coffre dans le terminal. -
Exécutez le livre de jeux Private Automation Hub.
ansible-playbook single-node-install.yml -i hosts -e "@vault_passwords.yml" --ask-vault-pass
-i
définit le fichier d'inventaire.-e
définit les variables d'exécution en tant que paireskey=value
ou dans un fichier de variables.--ask-vault-pass
invite à saisir le mot de passe du coffre
Il existe d'autres méthodes pour fournir le mot de passe du coffre, que vous pouvez consulter dans la documentation en amont.
Remarque : l'installation de Private Automation Hub prend de 10 à 20 minutes. Au cours de l'installation, la progression du livre de lecture défile dans le terminal jusqu'à ce que toutes les tâches soient terminées.
Ouvrez une session VNC vers l'instance DevOps.
La session VNC vous permet de vous connecter à l'interface utilisateur Web de Private Automation Hub à l'aide du nom d'hôte ou du nom de domaine qualifié complet (FQDN) dans l'environnement d'exercice gratuit. L'utilisation du nom d'hôte ou du nom de domaine qualifié complet est requise car la protection intégrée de Django protège l'interface utilisateur Web contre les attaques CSRF (Cross-Site Request Forgery).
-
Quittez la session SSH existante.
exit
-
Ouvrez un nouveau terminal et connectez-vous à l'instance devops-node via SSH.
L'option
-L
active le transfert local, qui ouvre un port local pour la connexion via un tunnel SSH au serveur VNC distant.ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>
-
Passez au bureau Luna.
-
Ouvrez le visualiseur TigerVNC en cliquant sur le menu Applications, sur Internet, puis sur Visualiseur TigerVNC.
-
Connectez-vous à l'environnement GUI du serveur déployé en saisissant
localhost:5914
dans la zone de texte VNC Server et en appuyant sur le bouton Connect. -
Entrez le mot de passe de l'utilisateur
oracle
oracle et appuyez sur le bouton OK. -
Le bureau de l'interface graphique du serveur s'affiche avec une première configuration de connexion.
-
Appuyez trois fois sur le bouton Next, puis sur le bouton Skip, suivi du bouton Start Using Oracle Linux Server. Enfin, fermez ou réduisez la fenêtre Mise en route.
Connexion à Private Automation Hub
-
Ouvrez un navigateur Web dans la session VNC et entrez l'URL.
https://ol-pah
Remarque : Approuvez l'avertissement de sécurité en fonction du navigateur utilisé. Pour Chrome, cliquez sur le bouton
Advanced
, puis sur le lienProceed to localhost (unsafe)
. -
Connectez-vous à l'interface utilisateur Web de Private Automation Hub.
Utilisez le nom utilisateur
admin
et le mot de passepassword
. Ce mot de passe est la valeur que nous avons définie pourolpah_admin_password
dans le fichier de variables d'exécution. -
L'interface utilisateur Web s'affiche après une connexion réussie.
Ajouter un environnement d'exécution à l'aide de l'interface utilisateur Web
Les environnements d'exécution sont l'un des éléments gérés par Private Automation Hub. Cette fonctionnalité permet à Private Automation Hub de servir de référentiel pour les images de conteneur, ce qui permet aux administrateurs d'interagir avec elles à l'aide de Podman et de l'interface utilisateur Web.
-
Cliquez sur Registres distants dans l'interface utilisateur Web sous Environnements d'exécution dans le menu de navigation.
-
Cliquez sur le bouton Ajouter un registre distant.
-
Saisissez les valeurs suivantes dans les champs spécifiques.
- Nom :
Quay Upstream Registry
- URL :
https://quay.io
- Nom :
-
Cliquez sur le bouton Enregistrer.
Le registre distant que vous venez de créer s'affiche dans le panneau Registres distants.
-
Cliquez sur Environnements d'exécution sous Environnements d'exécution dans le menu de navigation.
-
Cliquez sur le bouton Ajouter un environnement d'exécution.
L'interface utilisateur Web affiche la boîte de dialogue Ajouter un environnement d'exécution. Nous pouvons extraire des images de conteneur à partir de registres en amont ou autres via cette boîte de dialogue.
-
Saisissez ou sélectionnez les valeurs suivantes dans les champs spécifiques.
- Nom :
upstream/awx-ee
- Nom en amont :
ansible/awx-ee
- Registry : Registre en amont Quay
- Ajouter des balises à inclure : saisissez
latest
, puisENTER
- Nom :
-
Cliquez sur le bouton Enregistrer.
L'environnement d'exécution nouvellement créé apparaît dans le panneau Environnements d'exécution.
-
Synchronisez l'environnement d'exécution upstream/awx-ee à partir du registre distant.
-
Cliquez sur le menu vertical à trois points à droite de l'élément upstream/awx-ee.
-
Sélectionner Synchroniser à partir du registre
Une boîte de dialogue contextuelle apparaît, indiquant que la synchronisation a démarré.
-
Cliquez sur le lien de la page de détails dans la boîte de dialogue contextuelle pour afficher le statut de cette tâche.
-
La tâche affiche une icône Terminé.
-
Cliquez sur Environnements d'exécution sous Environnements d'exécution dans le menu de navigation.
-
Cliquez sur le lien upstream/awx-ee dans le panneau Environnements d'exécution.
Ce lien affiche les instructions d'extraction de cette image à partir de Private Automation Hub sous l'onglet Détails.
-
Cliquez sur l'onglet Images.
Ce panneau affiche plus de détails sur l'image, notamment sa balise, sa taille et sa synthèse sha256.
-
Environnement d'exécution Push à l'aide de Podman
-
Ouvrez un terminal et connectez-vous via SSH à l'instance devops-node.
ssh oracle@<ip_address_of_instance>
Cette instance contient une installation de l'utilitaire Builder et un environnement d'exécution personnalisé prédéfini. Pour plus de détails sur l'exécution de ces tâches, reportez-vous à Création d'environnements d'exécution personnalisés à l'aide de l'utilitaire de génération d'Oracle Linux Automation Manager.
-
Accédez au répertoire de travail du projet.
cd ~/my_custom_ee_project
Ce répertoire contient les fichiers de données de l'utilitaire Builder, que Podman utilise pour créer l'image de l'environnement d'exécution personnalisé.
-
Répertoriez les images locales existantes.
podman images
La sortie affiche notre image personnalisée et les images
olam-ee
etolam-builder
par défaut d'Oracle Linux Automation Manager. -
Connectez-vous à Private Automation Hub.
podman login -u admin https://ol-pah.$(hostname -d) --tls-verify=0
-u
est un utilisateur disposant de privilèges permettant d'accéder au registre de conteneurs.ol-pah.$(hostname -d)
est le nom de domaine qualifié complet du registre de conteneur.--tls-verify=0
désactive la vérification des certificats TLS car l'environnement d'exercice libre utilise des certificats autosignés
La commande invite à saisir une valeur
Password:
. Entrez le mot de passe correspondant aux informations d'identification de connexion de l'utilisateur Private Automation Hubadmin
. -
Marquez l'image personnalisée locale.
Avant de propager l'image vers le registre Private Automation Hub, créez la structure de référentiel et la balise requises à l'aide de l'image locale.
podman tag localhost/my_custom_ee ol-pah.$(hostname -d)/my_first_olam_ee_image
-
Vérifiez que la nouvelle image balisée existe.
podman images
Exemple de résultat :
[oracle@devops-node my_custom_ee_project]$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/my_custom_ee latest fbc43634b168 5 hours ago 2.29 GB ol-pah.lv.vcn5ef1c2b6.oraclevcn.com/my_first_olam_ee_image latest fbc43634b168 5 hours ago 2.29 GB <none> <none> 92aa94db3699 5 hours ago 1.4 GB <none> <none> cc087fbfa018 5 hours ago 1.45 GB container-registry.oracle.com/oracle_linux_automation_manager/olam-ee latest 368657c8376d 5 weeks ago 1.25 GB container-registry.oracle.com/oracle_linux_automation_manager/olam-builder latest 5e98580f7956 5 weeks ago 546 MB
-
Chargez l'image personnalisée dans Private Automation Hub.
Remarque : remplacez
<IMAGE ID>
par l'ID d'image réel demy_first_olam_ee_image
dans la sortiepodman images
.podman push --tls-verify=0 <IMAGE ID> ol-pah.$(hostname -d)/my_first_olam_ee_image:latest
-
Confirmez le chargement dans l'interface utilisateur Web.
-
Basculez vers le navigateur contenant l'interface utilisateur Web de Private Automation Hub.
-
Accédez à Environnements d'exécution.
-
Notez le nouveau fichier my_first_olam_ee_image.
-
Etapes suivantes
La sortie de l'interface utilisateur Web confirme que vous disposez d'un hub d'automatisation Private Automation Hub fonctionnel et que vous pouvez charger et stocker vos images personnalisées. Consultez nos autres tutoriels à l'aide d'Oracle Linux Automation Manager pour vous entraîner.
Liens connexes
- Documentation d'Oracle Linux Automation Manager
- Formation Oracle Linux Automation Manager
- Centre de formation Oracle Linux
Ressources de formation supplémentaires
Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.
Manage Execution Environments in Oracle Linux Automation Manager Private Automation Hub
G39664-01
Copyright ©2023, Oracle and/or its affiliates.