Note :
- Ce tutoriel est disponible dans un environnement de laboratoire gratuit fourni par Oracle.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Gérer les environnements d'exécution dans Oracle Linux Automation Manager Private Automation Hub
Présentation
Private Automation Hub est un référentiel Oracle Linux Automation Manager permettant de gérer les collections, les images d'environnement d'exécution et tout autre contenu organisé localement dans l'infrastructure d'un client.
Ce tutoriel explique comment installer Private Automation Hub et charger un environnement d'exécution personnalisé dans son registre de conteneurs. Pour plus de détails sur la création d'environnements d'exécution personnalisés, consultez notre tutoriel sur l'utilitaire Builder.
Objectifs
Dans ce tutoriel, vous apprendrez à :
- Sécurisez 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éalables
- Deux systèmes exécutant Oracle Linux
- Une pour l'installation de Private Automation Hub
- Autre pour exécuter l'utilitaire Builder et agir en tant que client pour Private Automation Hub
Déployer Oracle Linux
Note : Si vous exécutez votre propre location, lisez les préalables du projet linux-virt-labs
GitHub README.md et remplissez les conditions requises avant de déployer l'environnement de laboratoire.
-
Ouvrez un terminal sur le Luna Desktop.
-
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 collections requises.
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
-
Sert à créer 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 de l'exercice.
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
L'environnement de laboratoire gratuit nécessite la variable supplémentaire
ansible_python_interpreter
pour localhost, car il installe l'ensemble RPM pour la trousse SDK Oracle Cloud Infrastructure pour Python. L'emplacement d'installation de cet ensemble est 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 une incidence sur les lectures exécutées sur des hôtes autres que localhost.La forme de déploiement par défaut utilise l'unité centrale 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 principale d'Oracle Linux sur la ligne de commande.Par exemple :
-e os_version="9"
Important : Attendez que le livre de jeu s'exécute avec succès et atteignez la tâche Mettre en pause. À ce stade du livre de jeu, l'installation d'Oracle Linux est terminée et les instances sont prêtes. Notez la lecture précédente, qui imprime les adresses IP publiques et privées des noeuds qu'il déploie.
Installer les ensembles 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 l'ensemble Private Automation Hub.
sudo dnf install -y ol-private-automation-hub-installer
Cette commande installe les livres de jeu et les rôles d'installation Private Automation Hub,
ansible-core
,python3.11
et d'autres dépendances d'ensemble.
Installer Private Automation Hub
Lors de l'installation de Private Automation Hub, vous devez définir les mots de passe pour le compte de superutilisateur admin
de Private Automation Hub et sa base de données dorsale. Plutôt que de les transmettre au livre de jeux à l'air libre, procédons à cette étape en toute sécurité en utilisant ansible-vault
.
L'utilitaire ansible-vault
, qui est fourni avec Oracle Linux Automation Engine, permet le chiffrement et le déchiffrement des fichiers de données structurés, y compris les fichiers texte, les variables et les livres de jeu YAML.
Nous allons crypter un fichier variable contenant nos deux mots de passe à nos fins.
-
Copiez le livre de jeu 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
-
Sert à créer un fichier d'inventaire.
Le fichier d'inventaire de ce livre de jeu nécessite le nom d'hôte et le nom d'utilisateur SSH où le livre de jeu installera le Private Automation Hub. Vous définissez le fichier d'inventaire au format INI ou YAML. L'exemple d'inventaire
hosts.singlenode.example
dans le livre de jeu d'installation utilise YAML, nous allons donc utiliser le format INI ici pour démontrer une option alternative.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 catégoriser en une ou plusieurs catégories pour exécuter des tâches ou affecter des variables. -
Créez une chambre forte 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 chambre forte. L'utilitaire
ansible-vault
utilise ce mot de passe pour déchiffrer le contenu de la chambre forte et accéder à ce contenu à partir d'un livre de jeu. 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 de laboratoire gratuit, l'éditeur estvi
. Entrezi
pour entrer le modeINSERT
et collez ces exemples de variables de mot de passe Private Automation Hub.Note : Il s'agit des variables utilisées par le livre de jeu lors de l'installation de Private Automation Hub et de la définition des mots de passe du superutilisateur et de la base de données.
--- olpah_admin_password: password olpah_db_password: password
Fermez et enregistrez le fichier en entrant
ESC
,:wq!
, puisENTER
. -
Vérifiez le contenu du coffre-fort.
ansible-vault view vault_passwords.yml
Entrez le mot de passe de la chambre forte à l'invite et
ansible-vault
affiche le contenu de la chambre forte dans le terminal. -
Exécutez le livre de jeu 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 toutes les variables d'exécution en tant que paireskey=value
ou dans un fichier de variable--ask-vault-pass
invite à entrer le mot de passe de la chambre forte
Il existe d'autres méthodes pour fournir le mot de passe de la chambre forte, que vous pouvez consulter dans la documentation en amont.
Note : L'installation de Private Automation Hub prend 10 à 20 minutes. Au cours de l'installation, la progression du livre de jeu défile dans le terminal jusqu'à ce que toutes les tâches soient terminées.
Ouvrir une session VNC vers l'instance DevOps
La session VNC vous permet de vous connecter à l'interface utilisateur Web Private Automation Hub à l'aide du nom d'hôte ou du nom de domaine complet dans l'environnement de laboratoire gratuit. L'utilisation du nom d'hôte ou du nom de domaine complet est requise, car la protection intégrée de Django protège l'interface utilisateur Web contre les attaques par falsification de demande intersites (CSRF).
-
Quittez la session SSH existante.
exit
-
Ouvrez un nouveau terminal et connectez-vous à l'instance devops-node au moyen de SSH.
L'option
-L
active le transfert local, qui ouvre un port local pour se connecter au serveur VNC distant au moyen d'un tunnel SSH.ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>
-
Passez au Luna Desktop.
-
Ouvrez le visualiseur TigerVNC en cliquant sur le menu Applications, Internet, puis sur Visualiseur TigerVNC.
-
Connectez-vous à l'environnement GUI du serveur déployé en entrant
localhost:5914
dans la zone de texte Serveur VNC et en appuyant sur le bouton Connexion. -
Entrez le mot de passe de l'utilisateur
oracle
oracle et cliquez 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 Suivant, puis sur le bouton Ignorer, suivi du bouton Démarrer à l'aide d'Oracle Linux Server. Enfin, fermez ou réduisez la fenêtre Démarrage.
Se connecter à Private Automation Hub
-
Ouvrez un navigateur Web dans la session VNC et entrez l'URL.
https://ol-pah
Note : 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 Private Automation Hub.
Utilisez le nom d'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 des 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
L'un des éléments gérés par Private Automation Hub est les environnements d'exécution. Cette fonction 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.
-
Entrez 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 nouvellement créé apparaît 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. Cette boîte de dialogue permet d'extraire des images de conteneur de l'amont ou d'autres registres.
-
Entrez ou sélectionnez les valeurs suivantes dans les champs spécifiques.
- Nom :
upstream/awx-ee
- Nom de l'amont :
ansible/awx-ee
- Registre : Registre en amont Quay
- Ajouter des marqueurs à inclure : Entrez
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 à trois points vertical à droite de l'élément en amont/en amont.
-
Sélectionnez Synchroniser à partir du registre
Une boîte de dialogue contextuelle s'affiche et indique que la synchronisation a commencé.
-
Cliquez sur le lien de la page de détails dans la boîte de dialogue contextuelle pour voir le statut de la tâche.
-
La tâche affiche une icône Terminée.
-
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 pour extraire cette image de Private Automation Hub dans l'onglet Détails.
-
Cliquez sur l'onglet Images.
Ce panneau affiche plus de détails sur l'image, notamment son marqueur, sa taille et son condensé sha256.
-
Pousser l'environnement d'exécution à l'aide de Podman
-
Ouvrez un terminal et connectez-vous au moyen de 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, voir Créer des environnements d'exécution personnalisés avec l'utilitaire Oracle Linux Automation Manager Builder.
-
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é.
-
Liste des 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 pour accéder au registre de conteneurol-pah.$(hostname -d)
est le nom de domaine complet du registre de conteneur--tls-verify=0
désactive la vérification du certificat TLS car l'environnement de laboratoire gratuit utilise des certificats auto-signés
La commande invite à entrer
Password:
. Entrez le mot de passe correspondant aux données d'identification de connexion pour l'utilisateuradmin
de Private Automation Hub. -
Marquez l'image personnalisée locale.
Avant de pousser l'image vers le registre Private Automation Hub, créez la structure de référentiel et le marqueur requis à 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 marquée existe.
podman images
Exemple de sortie :
[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.
Note : Remplacez
<IMAGE ID>
par l'ID image réel demy_first_olam_ee_image
à partir de 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.
-
Passez au navigateur contenant l'interface utilisateur Web de Private Automation Hub.
-
Naviguez jusqu'à Environnements d'exécution.
-
Notez la nouvelle my_first_olam_ee_image.
-
Étapes suivantes
La sortie de l'interface utilisateur Web confirme que vous disposez d'un 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 mettre en pratique vos compétences.
Liens connexes
- Documentation sur Oracle Linux Automation Manager
- Formation sur Oracle Linux Automation Manager
- Parcours d'apprentissage pour Oracle Linux
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Manage Execution Environments in Oracle Linux Automation Manager Private Automation Hub
G39663-01
Copyright ©2023, Oracle and/or its affiliates.