[LINUX] [Révision] OS Management Service a été publié sur Oracle Cloud Infrastructure.

2020/02/11 Compatible avec la région de Tokyo </ font>

J'ai écrit Article de OS Management Service le 2019/12, mais le réglage n'a pas été terminé en raison d'un manque de description dans le manuel. C'était. Comme le manuel a été considérablement développé par la suite, et que l'article original comprenait des opérations expérimentales, j'ai décidé de l'écrire avec de nouveaux ajouts et corrections.

1. Le service de gestion du système d'exploitation est disponible!

** OS Management Service ** a été publié. Cette fonctionnalité a déjà été introduite dans OOW 2019 et dans le Blog Oracle Linux sur Oracle Cloud Infrastructure.

Cependant, à ce stade (2020/02), il y a deux points à noter.

** 1er point: ** Seules les régions suivantes sont fournies. Soutient la région de Tokyo et la région de Séoul le 02/11/2020

OS Management Service is currently generally available in the following Oracle Cloud Infrastructure regions: US East (Ashburn), US West (Phoenix), Canada Southeast (Toronto), UK South (London), Germany Central (Frankfurt),, Japan East (Tokyo), South Korea Central (Seoul), Brazil East (Sao Paulo), and Australia East (Sydney).

** Deuxième point: ** La cible du service est Oracle Linux 6/7/8, et Oracle Autonomous Linux n'est pas inclus. </ font> Les blogs suivants semblent également couvrir Oracle Autonomous Linux, mais du moins pas pour le moment.

This service is included by default with Oracle Autonomous Linux images provided by Oracle Cloud Infrastructure, and you don’t need to install any special software to enable OS Management Service.

Au départ, je pensais qu'il était destiné à Oracle Autonomous Linux, alors je l'ai écrit avec le début suivant. Hey!

J'étais intéressé par les amateurs de Linux ** Oracle Autonomous Linux </ font> **. Je pense avoir écrit l'article le plus ancien et le plus détaillé au monde.

Enfin, le très attendu OS Management Service a été lancé.

2. Regardez le manuel

Jetons un coup d'œil au manuel "Présentation de la gestion du système d'exploitation".

The Oracle Cloud Infrastructure OS Management service provides tools for common operating system management tasks for Compute instances, focusing initially on managing software packages for Oracle Linux instances.

** OS Management Service est un outil de gestion du système d'exploitation pour les instances Compute, fournissant initialement des capacités de gestion de packages pour les instances Linux. ** </ font>

Voici quelques-uns des endroits qui vous intéressent.

  • OS Management Agent doit être installé pour gérer les instances Compute avec OS Management Service
  • Activer le service de gestion du système d'exploitation pour parcourir / ajouter / mettre à jour / supprimer des packages pour les instances Compute
  • Les instances de calcul enregistrées dans le service de gestion du système d'exploitation peuvent être gérées par correctif individuellement ou en groupes.
  • La gestion des packages d'instances de calcul peut être exécutée immédiatement ou planifiée (une fois, à intervalles réguliers) en tant que tâche.
  • Le système d'exploitation cible est Oracle Linux 6/7/8
  • Pour les instances Compute enregistrées auprès du service de gestion du système d'exploitation, les paramètres de référentiel Yum existants seront invalides.
  • Les instances de calcul enregistrées auprès du service de gestion du système d'exploitation font référence aux informations du référentiel Yum appelées «Source logicielle» situées dans le compartiment racine.
  • Lorsque le locataire utilise pour la première fois le service de gestion du système d'exploitation, l'enregistrement de l'instance Compute prend entre 60 et 90 minutes.

L'une des choses importantes ici est que ** "Le système d'exploitation cible est Oracle Linux 6/7/8" **. Oracle Autonomous Linux n'est pas inclus.

En réfléchissant calmement, les deux politiques sont exactement le contraire.

  • ** Oracle Autonomous Linux: ** Corrigé automatiquement quotidiennement. L'administrateur n'est pas impliqué dans la gestion des correctifs.
  • ** Service de gestion du système d'exploitation: ** L'administrateur gère les correctifs. Implémenté efficacement pour plusieurs instances manuellement ou automatiquement (planning à l'avance).

Oracle Autonomous Linux peut également être pris en charge à l'avenir, mais il est moins nécessaire pour le moment en raison des différentes politiques de gestion.

3. Architecture du service de gestion du système d'exploitation

Avant de le configurer, le mécanisme du service de gestion du système d'exploitation et les principaux composants seront expliqués. La figure ci-dessous est un schéma d'architecture déduit de la description dans le manuel et de la recherche réelle.

osms-arch00.PNG

OS Management Service
L'entité qui fournit les fonctions de gestion du système d'exploitation. Il fournit non seulement des informations sur les instances gérées, mais installe et met également à jour les packages pour les instances. Équivalent à la base de données du référentiel OMS + dans Oracle Enterprise Manager
OS Management Agent
Agent (osms-agent) s'exécutant sur une instance gérée. Installer après avoir créé une instance
Instance gérée
Instance de calcul enregistrée avec OS Management. osms-agent s'exécute et diverses opérations peuvent être effectuées via le service de gestion du système d'exploitation. De plus, les informations du référentiel (/etc/yum.repos.d/*repo) de l'instance enregistrée seront invalides
Sources de logiciels
Informations sur le référentiel Yum gérées de manière centralisée côté serveur. La source logicielle par défaut se trouve dans le compartiment racine de votre locataire, mais l'entité correspond aux informations du référentiel Yum (équivalentes à un fichier de référentiel) stockées dans la base de données des informations de gestion
Oracle Linux Yum Repository
Le référentiel Yum d'Oracle Linux comprend le "référentiel public Yum" accessible de n'importe où et le "référentiel Yum préparé pour chaque région OCI" accessible uniquement depuis OCI.

Parmi ceux-ci, les ** sources de logiciels ** sont particulièrement difficiles à comprendre. Cependant, pour le moment, il n'y a aucun problème à comprendre "celui qui gère et fournit de manière centralisée les informations du référentiel Yum côté serveur". C'est compliqué car il est, donc vous ne le saurez peut-être pas à moins de lire le manuel et de l'utiliser réellement.

4. Configuration du service de gestion du système d'exploitation

Explique comment configurer le service de gestion du système d'exploitation. Les tâches principales sont "l'octroi des autorisations" et "l'installation des agents". Avec ce réglage, les fonctions minimales peuvent être utilisées.

Mode chiennes. Le manuel officiel de la version initiale était mal fait et les informations minimales requises pour le réglage ont été omises. Il a été révisé et rempli, mais c'est toujours difficile. C'est stressant!

4-1. Conditions préalables à l'utilisation du service de gestion du système d'exploitation

Les conditions suivantes doivent être remplies pour utiliser OS Management.

  • Doit être la région cible du service de gestion du système d'exploitation
  • Vous devez avoir activé ** «Gérer les instances à l'aide d'Oracle Cloud Agent» ** lors de la création d'une instance Compute.
  • La passerelle de service ou la passerelle NAT peuvent être utilisées dans le sous-réseau privé
  • Passerelle Internet disponible sur les sous-réseaux publics
  • Le système d'exploitation cible est Oracle Linux 6/7/8

4-2. Procédure de configuration

La procédure de configuration de la gestion du système d'exploitation est la suivante. Outre l'octroi de stratégies (privilèges) à l'administrateur OS Management, il est nécessaire de configurer le principal d'instance afin que les instances gérées puissent utiliser OS Management.

** 1. Paramètres de stratégie pour l'administrateur OS Management **

  • Attribuez des stratégies aux utilisateurs qui exploitent la gestion du système d'exploitation via la console, la CLI ou REST

** 2. Configuration d'un principal d'instance ** --Création d'un groupe dynamique

  • Affectation de politiques à des groupes dynamiques

** 3. Installez OS Management Agent sur l'instance gérée **

C'est la fin du travail minimum. Au moment de l'enregistrement initial, il sera disponible 60 à 90 minutes après l'exécution de 3.

4-3. Confirmation de l'état initial

Vérifiez l'état avant le réglage. Connectez-vous à la console d'administration pour afficher les détails de l'instance. Cliquez sur ** [OS Management] ** en bas à gauche pour afficher ce qui suit. Le menu ** [OS Management] ** n'est pas affiché dans les régions non conformes telles que la région de Tokyo.

osmanage01.PNG

De plus, comme expliqué dans les conditions préalables, ** [Utiliser Oracle Cloud Agent pour gérer cette instance] ** doit être activé lors de la création de l'instance. Il est activé par défaut dans les nouvelles instances, c'est donc une bonne idée d'en créer une nouvelle.

Cette option s'affiche en cliquant sur ** Afficher les options avancées ** sur la page d'instanciation.

autonomous11.PNG

4-4. Paramètre de stratégie pour l'administrateur OS Management

Attribuez des stratégies aux utilisateurs qui exécutent la gestion du système d'exploitation via la console, l'interface de ligne de commande ou REST. Puisqu'il ne peut pas être attribué directement à l'utilisateur, spécifiez le groupe auquel appartient l'utilisateur.

  1. Sélectionnez ** [Identity] - [Policies] ** dans la console de gestion.
  2. Créez une stratégie avec le contenu suivant.
article valeur
NAME OsmsAdmin_policy
DESCRIPTION for OS Management Admin Group
Policy Statements AUTORISER le groupe à gérer OSMS-famille dans le compartiment
AUTORISER le groupe <nom du groupe> à gérer OSMS-famille dans le compartiment <nom du compartiment>

Il n'y a pas de problème s'il s'agit d'une instance que vous avez créée, mais vous avez besoin de l'autorisation READ pour l'instance gérée.

4-5. Configuration d'un principal d'instance

Le service de gestion du système d'exploitation nécessite non seulement un contrôle depuis la console de gestion, mais également un contrôle inverse depuis l'instance gérée. Par conséquent, créez des groupes et des stratégies dynamiques pour configurer les principaux d'instance.

4-5-1. Créer un groupe dynamique

  1. Sélectionnez ** [Identité] - [Groupes dynamiques] ** dans la console de gestion.
  2. Créez un groupe dynamique avec le contenu suivant.
article valeur
NAME OsmsManagedInstance_dgrp
DESCRIPTION for OS Management Service
Matching Rules ANY {instance.compartment.id = ''}

Exemple de règle


ANY {instance.compartment.id = 'ocidv1:compartment:oc1:phx:samplecompartmentocid6q6igvfauxmima74jv', instance.compartment.id = 'ocidv1:compartment:oc1:phx:samplecompartmentocidythksk89ekslsoelu2'}

4-5-2. Affectation des politiques

  1. Sélectionnez ** [Identity] - [Policies] ** dans la console de gestion.
  2. Créez une stratégie avec le contenu suivant.
article valeur
NAME OsmsInstancePrincipal_policy
DESCRIPTION for OS Management Service
Policy Statements1 Allow dynamic-group <dynamic group name> to use osms-managed-instances in tenancy
Policy Statements2 ALLOW dynamic-group <dynamic group name> to read instance-family in tenancy
Policy Statements3 ALLOW service osms to read instances in tenancy

Exemple de politique


Allow dynamic-group OsmsManagedInstance_dgrp to use osms-managed-instances in tenancy
ALLOW dynamic-group OsmsManagedInstance_dgrp to read instance-family in tenancy 
ALLOW service osms to read instances in tenancy

4-6. Installation de l'agent de gestion du système d'exploitation

Installez l'agent de gestion du système d'exploitation (ʻosms-agent`) sur l'instance gérée.

  1. Connectez-vous à l'instance avec ssh.

  2. Assurez-vous que le référentiel contenant osms-agent est activé. Ce n'est pas grave si oci_yum_included ou ol7_ociyum_configm est activé. Pour plus d'informations sur le référentiel, consultez cette entrée.

# yum repolist enabled
Loaded plugins: langpacks, ulninfo
repo id                         repo name                                              status
ol7_UEKR5/x86_64                Latest Unbreakable Enterprise Kernel Release 5 for Ora   193
ol7_addons/x86_64               Oracle Linux 7Server Add ons (x86_64)                    387
★ Omis
ol7_oci_included/x86_64 Logiciel Oracle pour les utilisateurs OCI sur Oracle Linux 7Server 117 ★ Ce
ol7_optional_latest/x86_64      Oracle Linux 7Server Optional Latest (x86_64)          11778
ol7_software_collections/x86_64 Software Collection Library release 3.0 packages for O 14300
repolist: 77122
  1. Installez osms-agent. Osms-agent est pré-installé sur les images Oracle Linux après 2020/1/28.
# yum install osms-agent -y
★ Omis
Running transaction
  Installing : osms-agent-0.0.1-444.el7.x86_64                                  1/1
  Verifying  : osms-agent-0.0.1-444.el7.x86_64                                  1/1

Installed:
  osms-agent.x86_64 0:0.0.1-444.el7

Complete!
  1. Vous pouvez voir que le service osms-agent est en cours d'exécution.
# systemctl is-active osms-agent
active
  1. La configuration initiale prend du temps, alors laissez-la pendant au moins 2 heures au cas où. Lorsque le paramétrage est terminé, l'affichage de la console de gestion change comme suit.

osms-con04.PNG

L'enregistrement sera terminé immédiatement pour la deuxième unité et les suivantes une fois la configuration initiale terminée.

** Dépannage ** </ font> Si l'écran ne change pas au bout de 2 heures ou plus et que les fichiers suivants continuent d'afficher des erreurs toutes les quelques minutes, essayez de démarrer Postfix. Ensuite, laissez-le pendant 2 heures.

/var/log/messages /var/log/osms-agent/agent.log

Démarrer Postfix


# systemctl start postfix

J'ai fait plusieurs choses en même temps, donc je n'ai pas trouvé la cause profonde. .. .. .. S'il-te-plaît apprend-moi.

** Conseils ** </ font> Le syslog d'osms-agent peut être facilement extrait avec la commande suivante. </ font>

# journalctl -u osms-agent

5. Vérifiez l'état après le réglage

Une fois configuré, jetons un œil à l'intérieur de la console de gestion et de l'instance gérée.

5-1. Vérification de la console de gestion

  1. Affichez les détails de l'instance de calcul. osms-con04.PNG

  2. Cliquez sur ** "..." ** à droite pour afficher une fenêtre contextuelle. Il existe trois menus: Afficher les détails de la gestion du système d'exploitation, Installer les mises à jour de sécurité et Installer toutes les mises à jour. osms-con05.PNG

  3. Cliquez sur ** «Afficher les détails de la gestion du système d'exploitation» ** pour afficher la page suivante. osms-con06.PNG

  4. Ensuite, sélectionnez ** [Calcul] - [Gestion du système d'exploitation] ** dans le menu de la console de gestion. Ici, ** [Software Sources] ** est affiché. Certains d'entre eux sont affichés ici et s'étendent sur plusieurs pages. osms-con03.PNG

  5. L'écran suivant est lorsque vous créez un groupe d'instances et avez deux instances comme membres. En regroupant, vous pouvez demander à plusieurs instances de se mettre à jour en même temps. osms-con08.PNG

** Attention ** Les membres du même groupe d'instances ne peuvent être membres que de la même version et du même type de système d'exploitation.

5-2. Confirmation de l'instance gérée

Connectez-vous à l'instance avec ssh et vérifiez le fichier de dépôt.

Après avoir installé osms-agent et terminé la configuration du service de gestion du système d'exploitation, tous les fichiers de référentiel seront renommés comme suit:

$ ls /etc/yum.repos.d/
ksplice-ol7.repo.osms-backup                oracle-linux-ol7.repo.osms-backup
ksplice-uptrack.repo.osms-backup            oracle-softwarecollection-ol7.repo.osms-backup
oci-included-ol7.repo.osms-backup           uek-ol7.repo.osms-backup
oracle-epel-ol7.repo.osms-backup            virt-ol7.repo.osms-backup
oraclelinux-developer-ol7.repo.osms-backup

La commande yum lit le fichier /etc/yum.repos.d / *. Repo, donc je m'inquiète si yum peut être utilisé avec ça. Cependant, si vous vérifiez le référentiel, vous pouvez voir qu'il est disponible (il faut du temps pour synchroniser les métadonnées la première fois).

# yum repolist enabled
Loaded plugins: langpacks, osmsplugin, ulninfo
This system is receiving updates from OSMS.★ Le fait est que c'est OSMS ★
repo id                         repo name                                 status
ol7_addons-x86_64               Oracle Linux 7Server Add ons (x86_64)        245
ol7_developer-x86_64            Oracle Linux 7Server Development Packages    650
ol7_developer_epel-x86_64       Oracle Linux 7Server Development Packages 20,231
ol7_ksplice-x86_64              Ksplice for Oracle Linux 7 (x86_64)        6,749
ol7_latest-x86_64               Oracle Linux 7Server Latest (x86_64)      12,370
ol7_oci_included-x86_64         Oracle Software for OCI users on Oracle L    117
ol7_optional_latest-x86_64      Oracle Linux 7Server Optional Latest (x86  9,710
ol7_software_collections-x86_64 Software Collection Library release 3.0 p  9,983
ol7_uekr5-x86_64                Latest Unbreakable Enterprise Kernel Rele    195
repolist: 60,250

Quand je me suis demandé pourquoi, j'ai trouvé un fichier suspect dans osms-agent.

# rpm -qf /usr/share/yum-plugins/osmsplugin.py
osms-agent-0.0.1-444.el7.x86_64

La première ligne est le Copyright de Red Hat. En regardant le code après cela, il connecte la commande Yum et référence le référentiel distant (canaux OSMS). Un référentiel distant est une «source logicielle» de gestion du système d'exploitation **.

/usr/share/yum-plugins/osmsplugin.py


# Copyright (c) 1999-2016 Red Hat, Inc.  Distributed under GPLv2.
★ Omis
 def init_hook(conduit):
     """
     Plugin initialization hook. We setup the Spacewlk channels here.

     We get a list of OSMS channels from the server, then make a repo obj
     each one. This list of repos is then added to yum's list of repos vi
     conduit.
     """

     global rhn_enabled, external_proxy_dict

     conduit_conf = conduit.getConf()
     timeout = conduit.confFloat('main', 'timeout', conduit_conf.timeout)

La raison pour laquelle il s'agit du copyright de Red Hat est ** Red Hat Satellite ** / ** [Spacewalk](https: // spacewalkproject) Parce que j'utilise le code de .github.io /) **.

Ensuite, quand je le vérifie avec netstat, osms-agent a une session. 169.254.169.254 est le réseau interne d'OCI et 129.146.12.149 est le réseau Oracle Service Network de la région de Phoenix (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/addressranges.htm) Il s'agit de l'adresse IP globale utilisée par # osn-ranges).

# netstat -anp | grep osms
tcp        0      0 127.0.0.1:9003          0.0.0.0:*               LISTEN      2173/osms-agent
tcp        1      0 10.0.2.23:54778         169.254.169.254:80      CLOSE_WAIT  2173/osms-agent
tcp       32      0 10.0.2.23:39368         129.146.12.149:443      CLOSE_WAIT  2173/osms-agent
tcp        1      0 10.0.2.23:54776         169.254.169.254:80      CLOSE_WAIT  2173/osms-agent
unix  2      [ ACC ]     STREAM     LISTENING     26635    2173/osms-agent      ///var/lib/osms-agent/osms-agent.sock
unix  3      [ ]         STREAM     CONNECTED     25321    2166/osms-agent

5-3. Comment annuler l'enregistrement

La description manuelle concernant la désinscription semble évoluer de jour en jour. Veuillez vous référer au manuel pour les dernières informations.

  1. Arrêtez et désactivez osms-agent.
# systemctl stop osms-agent
# systemctl disable osms-agent
  1. Exclure des instances / groupes si possible.
  2. Exécutez la commande suivante pour restaurer la définition du fichier de référentiel.
# osms unregister
# yum clean all
  1. Assurez-vous que l'extension du fichier de référentiel est restaurée.
# ls /etc/yum.repos.d/
ksplice-ol7.repo       oracle-epel-ol7.repo            oracle-softwarecollection-ol7.repo
ksplice-uptrack.repo   oraclelinux-developer-ol7.repo  uek-ol7.repo
oci-included-ol7.repo  oracle-linux-ol7.repo           virt-ol7.repo

6. Résumé

Je n'utilise pas toutes les fonctionnalités, mais je vais l'écrire avec quelques conjectures.

  • ** OS Management Service est un service pour Oracle Linux 6/7/8. Non applicable à Oracle Autonomous Linux </ font> **
  • ** La gestion des packages pour plusieurs groupes de serveurs est possible </ font> **
  • ** OS Management Service est Red Hat Satellite et son clone [Spacewalk]( Version de service géré des outils de gestion des packages tels que https://spacewalkproject.github.io/) </ font> **

Comme vous pouvez le voir en le faisant fonctionner, la configuration / l'exploitation du service de gestion du système d'exploitation n'est pas facile en raison de la difficulté du manuel. C'est un service géré, donc ce n'est pas aussi fastidieux que de déployer Red Hat Satellite ou Spacewalk sur site, mais vous ne réaliserez peut-être pas l'effet à moins d'avoir au moins une douzaine de nœuds ou plus.

Et si c'est une fonctionnalité d'entreprise, j'aimerais voir la "fonction d'instantané du référentiel" sur Red Hat Satellite.

Le manuel dit ** mise au point initialement **, donc je suis sûr qu'il sera étendu à l'avenir.