Remarques :

Déployer Oracle Cloud Native Environment sur Oracle Roving Edge Infrastructure

Introduction

Oracle Roving Edge Infrastructure permet aux clients de distribuer leurs workloads cloud au-delà de leur location Oracle Cloud Infrastructure (OCI) pour fournir des services cloud et exécuter des workloads d'application dans la vente au détail, les satellites et d'autres emplacements périphériques. Par conséquent, les clients peuvent traiter les données plus rapidement et plus près de leurs utilisateurs et aux points d'ingestion des données pour générer des informations opportunes à partir de leurs données.

Oracle Cloud Native Environment est une suite entièrement intégrée pour le développement et la gestion d'applications natives du cloud. Le module Kubernetes est le module de base. Il est utilisé pour déployer et gérer les conteneurs et installe et configure automatiquement les conteneurs CRI-O, runC et Kata. CRI-O gère l'exécution de conteneur pour un cluster Kubernetes. L'exécution peut être des conteneurs runC ou Kata.

Public visé

Administrateurs, développeurs et utilisateurs Oracle Roving Edge Infrastructure.

Objectif

Prérequis

Tâche 1 : mise à jour d'Oracle Linux

  1. Vérifiez qu'Oracle Linux est à jour sur les trois instances. Accédez à chaque instance via ssh et exécutez la commande pour mettre à jour les instances.

    sudo dnf -y update
    
  2. Redémarrez l'instance.

    sudo reboot
    
  3. Reconnectez-vous via ssh.

    ssh oracle@<ip_address_of_ol_node>
    

Tâche 2 : installation et activation du référentiel Yum Oracle Cloud Native Environment

  1. Installez le référentiel yum sur chaque instance Oracle Linux à l'aide de la commande suivante.

    sudo dnf -y install oracle-olcne-release-el8
    

    Exemple de sortie :

    [opc@ocne-operator .ssh]$ sudo dnf -y install oracle-olcne-release-el8
    Last metadata expiration check: 1:07:19 ago on Wed 15 Nov 2023 11:43:56 PM GMT.
    Dependencies resolved.
    =====================================================================================================================================================
    Package                                      Architecture               Version                         Repository                             Size
    =====================================================================================================================================================
    Installing:
    oracle-olcne-release-el8                     x86_64                     1.0-8.el8                       ol8_baseos_latest                      17 k
    
    Transaction Summary
    =====================================================================================================================================================
    Install  1 Package
    
    Total download size: 17 k
    Installed size: 19 k
    Downloading Packages:
    oracle-olcne-release-el8-1.0-8.el8.x86_64.rpm                                                                         26 kB/s |  17 kB     00:00
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    Total                                                                                                                 26 kB/s |  17 kB     00:00
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
    Preparing        :
    Installing       : oracle-olcne-release-el8-1.0-8.el8.x86_64
    Running scriptlet: oracle-olcne-release-el8-1.0-8.el8.x86_64
    Installed:
    oracle-olcne-release-el8-1.0-8.el8.x86_64
    Complete!
    
  2. Activez le référentiel Oracle Cloud Native Environment actuel sur les trois instances Oracle Linux.

    sudo dnf config-manager --enable ol8_olcne17 ol8_addons ol8_baseos_latest ol8_appstream ol8_UEKR7
    

    Exemple de sortie :

    [opc@ocne-operator .ssh]$ sudo dnf config-manager --enable ol8_olcne17 ol8_addons ol8_baseos_latest ol8_appstream ol8_UEKR7
    
  3. Désactivez toutes les versions précédentes du référentiel OCNE sur chaque instance Oracle Linux.

    sudo dnf config-manager --disable ol8_olcne12 ol8_olcne13 ol8_olcne14 ol8_olcne15 ol8_olcne16 ol8_developer
    

    Exemple de sortie :

    [opc@ocne-operator .ssh]$ sudo dnf config-manager --disable ol8_olcne12 ol8_olcne13 ol8_olcne14 ol8_olcne15 ol8_olcne16 ol8_developer
    

Tâche 3 : installer et activer Chrony

  1. Vérifiez si chrony est installé sur chaque instance Oracle Linux.

    sudo dnf list --installed chrony
    

    Exemple de sortie :

    [opc@ocne-operator .ssh]$ sudo dnf list --installed chrony
    Installed Packages
    chrony.x86_64         4.2-1.0.1.el8                                                         @anaconda
    
  2. Si chrony n'est pas installé sur l'instance Oracle Linux, installez et activez chrony.

    sudo dnf -y install chrony
    sudo systemctl enable --now chronyd
    

Tâche 4 : désactiver le swap

  1. Désactivez le swap sur toutes les instances Oracle Linux.

    sudo swapoff -a
    sudo sed -i '/swap/ s/^#*/#/' /etc/fstab
    

    Exemple de sortie :

    [opc@ocne-operator .ssh]$ sudo swapoff -a
    [opc@ocne-operator .ssh]$ sudo sed -i '/swap/ s/^#*/#/' /etc/fstab
    [opc@ocne-operator .ssh]$
    

Tâche 5 : configurer le pare-feu Oracle Linux Firewall

  1. Choisissez l'instance Oracle Linux que vous utiliserez en tant qu'ocne-operator. Définissez ensuite les règles de pare-feu pour le noeud opérateur.

    sudo firewall-cmd --add-port=8091/tcp --permanent
    sudo firewall-cmd –reload
    

    Exemple de sortie :

    [opc@ocne-operator .ssh]$ sudo firewall-cmd --add-port=8091/tcp --permanent
    success
    [opc@ocne-operator .ssh]$ sudo firewall-cmd --reload
    success
    
  2. Choisissez l'instance Oracle Linux que vous utiliserez pour ocne-control. Définissez les règles de pare-feu pour le noeud du plan de contrôle.

    sudo firewall-cmd --zone=trusted --add-interface=cni0 --permanent
    sudo firewall-cmd --add-port=8090/tcp --permanent
    sudo firewall-cmd --add-port=10250/tcp --permanent
    sudo firewall-cmd --add-port=10255/tcp --permanent
    sudo firewall-cmd --add-port=8472/udp --permanent
    sudo firewall-cmd --add-port=6443/tcp --permanent
    sudo firewall-cmd –reload
    

    Exemple de sortie :

    [root@ocne-control vars]# sudo firewall-cmd --zone=trusted --add-interface=cni0 --permanent
    success
    [root@ocne-control vars]# sudo firewall-cmd --add-port=8090/tcp --permanent
    success
    [root@ocne-control vars]# sudo firewall-cmd --add-port=10250/tcp --permanent
    success
    [root@ocne-control vars]# sudo firewall-cmd --add-port=10255/tcp --permanent
    success
    [root@ocne-control vars]# sudo firewall-cmd --add-port=8472/udp --permanent
    success
    [root@ocne-control vars]# sudo firewall-cmd --add-port=6443/tcp --permanent
    success
    [root@ocne-control vars]# sudo firewall-cmd --reload
    success
    
  3. Ajoutez les règles de pare-feu suivantes sur l'instance Oracle Linux ocne-control. Ces ports sont utilisés pour la haute disponibilité et doivent passer la validation.

    sudo firewall-cmd --add-port=10251/tcp --permanent
    sudo firewall-cmd --add-port=10252/tcp --permanent
    sudo firewall-cmd --add-port=2379/tcp --permanent
    sudo firewall-cmd --add-port=2380/tcp --permanent
    sudo firewall-cmd –reload
    

    Exemple de sortie :

    [opc@ocne-control ~]$ sudo firewall-cmd --add-port=10251/tcp --permanent
    success
    [opc@ocne-control ~]$ sudo firewall-cmd --add-port=10252/tcp --permanent
    success
    [opc@ocne-control ~]$ sudo firewall-cmd --add-port=2379/tcp --permanent
    success
    [opc@ocne-control ~]$ sudo firewall-cmd --add-port=2380/tcp --permanent
    success
    [opc@ocne-control ~]$ sudo firewall-cmd --reload
    success
    
  4. Déterminez quelle instance Oracle Linux sera l'instance ocne-worker. Définissez les règles de pare-feu pour l'instance ocne-worker.

    sudo firewall-cmd --zone=trusted --add-interface=cni0 --permanent
    sudo firewall-cmd --add-port=8090/tcp --permanent
    sudo firewall-cmd --add-port=10250/tcp --permanent
    sudo firewall-cmd --add-port=10255/tcp --permanent
    sudo firewall-cmd --add-port=8472/udp --permanent
    sudo firewall-cmd –reload
    

    Exemple de sortie :

    [opc@ocne-worker ~]$ sudo firewall-cmd --zone=trusted --add-interface=cni0 --permanent
    success
    [opc@ocne-worker ~]$ sudo firewall-cmd --add-port=8090/tcp --permanent
    success
    [opc@ocne-worker ~]$ sudo firewall-cmd --add-port=10250/tcp --permanent
    success
    [opc@ocne-worker ~]$ sudo firewall-cmd --add-port=10255/tcp --permanent
    success
    [opc@ocne-worker ~]$ sudo firewall-cmd --add-port=8472/udp --permanent
    success
    [opc@ocne-worker ~]$ sudo firewall-cmd --reload
    success
    

Tâche 6 : activation et chargement du module de filtrage de pont

  1. Sur les instances Oracle Linux pour ocne-control et ocne-worker, activez et chargez le module de filtrage de pont.

    sudo modprobe br_netfilter
    sudo sh -c 'echo "br_netfilter" > /etc/modules-load.d/br_netfilter.conf'
    

    Exemple de sortie :

    [opc@ocne-control ~]$ sudo modprobe br_netfilter
    [opc@ocne-control ~]$ sudo sh -c 'echo "br_netfilter" > /etc/modules-load.d/br_netfilter.conf'
    [opc@ocne-control ~]$
    [opc@ocne-worker ~]$ sudo modprobe br_netfilter
    [opc@ocne-worker ~]$ sudo sh -c 'echo "br_netfilter" > /etc/modules-load.d/br_netfilter.conf'
    [opc@ocne-worker ~]$
    

Tâche 7 : configurer le noeud opérateur

Le noeud opérateur effectue et gère le déploiement des environnements, y compris le déploiement du cluster Kubernetes. Un noeud opérateur peut être un noeud du cluster Kubernetes ou un hôte distinct. Les étapes suivantes de cette tâche incluent l'installation de l'interface de ligne de commande Oracle Cloud Native Environment Platform, du serveur d'API de plate-forme et des utilitaires sur l'instance Oracle Linux que vous avez désignée comme noeud opérateur.

  1. Sur l'instance ocne-operator Oracle Linux, installez l'interface de ligne de commande de plate-forme, Platform API Server et les utilitaires.

    sudo dnf -y install olcnectl olcne-api-server olcne-utils
    

    Exemple de sortie :

    [opc@ocne-operator .ssh]$ sudo dnf -y install olcnectl olcne-api-server olcne-utils
    Installed:
    conmon-3:2.1.6-1.module+el8.8.0+21045+adcb6a64.x86_64                         container-selinux-2:2.205.0-2.module+el8.8.0+21045+adcb6a64.noarch
    containernetworking-plugins-1:1.2.0-1.module+el8.8.0+21045+adcb6a64.x86_64    containers-common-2:1-64.0.1.module+el8.8.0+21056+d98a0860.x86_64
    criu-3.15-3.0.1.module+el8.8.0+21125+a7f95b8d.x86_64                          fuse-overlayfs-1.11-1.module+el8.8.0+21056+d98a0860.x86_64
    kubectl-1.26.6-1.el8.x86_64                                                   libnet-1.1.6-15.el8.x86_64
    libslirp-4.4.0-1.module+el8.8.0+21045+adcb6a64.x86_64                         olcne-api-server-1.7.4-2.el8.x86_64
    olcne-selinux-1.0.0-8.el8.x86_64                                              olcne-utils-1.7.4-2.el8.x86_64
    olcnectl-1.7.4-2.el8.x86_64                                                   podman-3:4.4.1-16.module+el8.8.0+21191+109ddc60.x86_64
    podman-catatonit-3:4.4.1-16.module+el8.8.0+21191+109ddc60.x86_64              runc-1:1.1.4-1.0.1.module+el8.8.0+21119+51f68ed8.x86_64
    shadow-utils-subid-2:4.6-17.el8.x86_64                                        slirp4netns-1.2.0-2.module+el8.8.0+21045+adcb6a64.x86_64
    virtctl-0.58.0-3.el8.x86_64                                                   yq-4.34.1-1.el8.x86_64
    Complete!
    
  2. Sur l'instance Oracle Linux ocne-operator, activez le service olcne-api-server, mais ne le démarrez pas.

    sudo systemctl enable olcne-api-server.service
    

    Exemple de sortie :

    [opc@ocne-operator .ssh]$ sudo systemctl enable olcne-api-server.service
    Created symlink /etc/systemd/system/multi-user.target.wants/olcne-api-server.service → /usr/lib/systemd/system/olcne-api-server.service.
    [opc@ocne-operator .ssh]$
    

Tâche 8 : configurer les noeuds Kubernetes

Le plan de contrôle et les noeuds de processus actif Kubernetes contiennent les packages d'agent et d'utilitaire Oracle Cloud Native Environment Platform. Les étapes de cette tâche seront exécutées sur les instances Oracle Linux que vous avez désignées pour ocne-control et ocne-worker.

  1. Sur ocne-control et ocne-worker, les instances Oracle Linux installent le package et les utilitaires Platform Agent.

    sudo dnf -y install olcne-agent olcne-utils
    
  2. Sur les instances Oracle Linux ocne-control et ocne-worker, activez le service olcne-agent (mais ne le démarrez pas).

    sudo systemctl enable olcne-agent.service
    

    Exemple de sortie :

    [opc@ocne-control ~]$ sudo systemctl enable olcne-agent.service
    Created symlink /etc/systemd/system/multi-user.target.wants/olcne-agent.service → /usr/lib/systemd/system/olcne-agent.service.
    [opc@ocne-control ~]$
    
    [opc@ocne-worker ~]$ sudo systemctl enable olcne-agent.service
    Created symlink /etc/systemd/system/multi-user.target.wants/olcne-agent.service → /usr/lib/systemd/system/olcne-agent.service.
    

Remarque : jusqu'à présent, les tâches ont terminé la configuration initiale et l'installation logicielle de chaque instance Oracle Linux qui fera partie du cluster à 3 noeuds natif Oracle Cloud.

Tâche 9 : configuration des certificats d'autorité de certification privée X.509

Utilisez le script /etc/olcne/gen-certs-helper.sh pour générer une autorité de certification et des certificats privés pour les instances Oracle Linux dans le cluster Oracle Cloud Native Environment. Exécutez le script à partir de /etc/olcne directory sur le noeud d'opérateur, en enregistrant les fichiers de certificat dans le répertoire en cours.

Sur l'instance Oracle Linux ocne-operator, créez les certificats X.509.

cd /etc/olcne
sudo ./gen-certs-helper.sh \
--cert-request-organization-unit "My Company Unit" \
--cert-request-organization "My Company" \
--cert-request-locality "My Town" \
--cert-request-state "My State" \
--cert-request-country US \
--cert-request-common-name domain.com \
--nodes ocne-control,ocne-operator,ocne-worker

Fournissez les informations de l'autorité de certification privée à l'aide des options --cert-request. Certaines de ces options existent dans l'exemple ci-dessous. Exécutez la commande gen-certs-helper.sh --help pour obtenir la liste complète des options.

Exemple de sortie :

[opc@ocne-operator ~]$ cd /etc/olcne
[opc@ocne-operator olcne]$ sudo ./gen-certs-helper.sh \
> --cert-request-organization-unit “Ultra” \
> --cert-request-organization “PDM” \
> --cert-request-locality “Broomfield” \
> --cert-request-state “CO” \
> --cert-request-country US \
> --cert-request-common-name g1vcn.oraclevcn.com \
> --nodes ocne-operator.g1sn1.g1vcn.oraclevcn.com,ocne-control.g1sn1.g1vcn.oraclevcn.com,ocne-worker.g1sn1.g1vcn.oraclevcn.com
[INFO] Generating CA
Generating a RSA private key
..............................................................+++++
.+++++
writing new private key to '/etc/olcne/configs/certificates/production/ca.key'
-----
[INFO] Generating certs for ocne-operator.g1sn1.g1vcn.oraclevcn.com
Generating RSA private key, 2048 bit long modulus (2 primes)
....................+++++
.................................................+++++
e is 65537 (0x010001)
Signature ok
subject=C = US, ST = \E2\80\9CCO\E2\80\9D, L = \E2\80\9CBroomfield\E2\80\9D, O = \E2\80\9CPDM\E2\80\9D, OU = \E2\80\9CUltra\E2\80\9D, CN = g1vcn.oraclevcn.com
Getting CA Private Key
[INFO] Generating certs for ocne-control.g1sn1.g1vcn.oraclevcn.com
Generating RSA private key, 2048 bit long modulus (2 primes)
.................................................................................+++++
..........................+++++
e is 65537 (0x010001)
Signature ok
subject=C = US, ST = \E2\80\9CCO\E2\80\9D, L = \E2\80\9CBroomfield\E2\80\9D, O = \E2\80\9CPDM\E2\80\9D, OU = \E2\80\9CUltra\E2\80\9D, CN = g1vcn.oraclevcn.com
Getting CA Private Key
[INFO] Generating certs for ocne-worker.g1sn1.g1vcn.oraclevcn.com
Generating RSA private key, 2048 bit long modulus (2 primes)
.........................+++++
...........................................................................+++++
e is 65537 (0x010001)
Signature ok
subject=C = US, ST = \E2\80\9CCO\E2\80\9D, L = \E2\80\9CBroomfield\E2\80\9D, O = \E2\80\9CPDM\E2\80\9D, OU = \E2\80\9CUltra\E2\80\9D, CN = g1vcn.oraclevcn.com
Getting CA Private Key
-----------------------------------------------------------
Script To Transfer Certs: /etc/olcne/configs/certificates/olcne-tranfer-certs.sh
-----------------------------------------------------------
[SUCCESS] Generated certs and file transfer script!
[INFO]    CA Cert: /etc/olcne/configs/certificates/production/ca.key
[INFO]    CA Key:  /etc/olcne/configs/certificates/production/ca.cert
[WARNING] The CA Key is the only way to generate more certificates, ensure it is stored in long term storage
[USER STEP #1]    Please ensure you have ssh access from this machine to: ocne-operator.g1sn1.g1vcn.oraclevcn.com,ocne-control.g1sn1.g1vcn.oraclevcn.com,ocne-worker.g1sn1.g1vcn.oraclevcn.com
[opc@ocne-operator olcne]$

Tâche 10 : transfert des certificats d'autorité de certification privée X.509

Après avoir généré les certificats, copiez-les sur chacune des instances Oracle Linux qui feront partie du cluster Oracle Cloud Native Environment.

  1. Sur l'instance Oracle Linux ocne-operator, mettez à jour les détails utilisateur dans le script de transfert fourni.

    sudo sed -i 's/USER=opc/USER=oracle/g' configs/certificates/olcne-tranfer-certs.sh
    

    Remarque : si nécessaire, mettez à jour la variable USER dans le script.

  2. Sur l'instance Oracle Linux ocne-operator, définissez les droits d'accès pour chaque élément node.key généré par le script de création de certificat.

    sudo chmod 644 /etc/olcne/configs/certificates/tmp-olcne/ocne-control.g1sn1.g1vcn.oraclevcn.com/node.key
    sudo chmod 644 /etc/olcne/configs/certificates/tmp-olcne/ocne-operator.g1sn1.g1vcn.oraclevcn.com/node.key
    sudo chmod 644 /etc/olcne/configs/certificates/tmp-olcne/ ocne-worker.g1sn1.g1vcn.oraclevcn.com/node.key
    

    Exemple de sortie :

    [opc@ocne-operator tmp-olcne]$ sudo chmod 644 /etc/olcne/configs/certificates/tmp-olcne/ocne-control.g1sn1.g1vcn.oraclevcn.com/node.key
    [opc@ocne-operator tmp-olcne]$ sudo chmod 644 /etc/olcne/configs/certificates/tmp-olcne/ocne-operator.g1sn1.g1vcn.oraclevcn.com/node.key
    [opc@ocne-operator tmp-olcne]$ sudo chmod 644 /etc/olcne/configs/certificates/tmp-olcne/ ocne-worker.g1sn1.g1vcn.oraclevcn.com/node.key
    
  3. Sur l'instance ocne-operator Oracle Linux, transférez les scripts vers les autres instances Oracle Linux qui feront partie du cluster Oracle Cloud Native Environment. Cette étape nécessite un mot de passe moins SSH configuré entre les noeuds, ce qui était l'un des prérequis.

    bash -ex /etc/olcne/configs/certificates/olcne-tranfer-certs.sh
    
  4. Vérifiez que les fichiers copiés sont correctement dans chacune des instances Oracle Linux.

    sudo -u olcne ls /etc/olcne/configs/certificates/production
    

    Exemple de sortie :

    [oracle@ocne-control ~]$ sudo -u olcne ls /etc/olcne/configs/certificates/production
    ca.cert  node.cert  node.key
    

Tâche 11 : configuration des certificats X.509 pour le service Kubernetes des adresses IP externes

La plate-forme externe ip-validation-webhook-service Kubernetes requiert la configuration de certificats X.509 avant le déploiement.

  1. Sur l'instance ocne-operator Oracle Linux, générez les certificats.

    cd /etc/olcne
    sudo ./gen-certs-helper.sh \
    --cert-dir /etc/olcne/configs/certificates/restrict_external_ip/ \
    --cert-request-organization-unit "My Company Unit" \
    --cert-request-organization "My Company" \
    --cert-request-locality "My Town" \
    --cert-request-state "My State" \
    --cert-request-country US \
    --cert-request-common-name cloud.example.com \
    --nodes <externalip-validation-webhook-service>,<externalip-validation-system.svc.cluster.local> \
    --one-cert \
    --byo-ca-cert /etc/olcne/configs/certificates/production/ca.cert \
    --byo-ca-key /etc/olcne/configs/certificates/production/node.key
    

    Remarque : les options --byo-CA-* utilisent le certificat d'autorité de certification (CA.cert) et la clé (node.key) copiés dans la tâche 10.

  2. Sur l'instance Oracle Linux ocne-operator, définissez les droits d'accès pour le répertoire contenant node.key généré par le script de création de certificat.

    sudo chown -R oracle:oracle /etc/olcne/configs/certificates/restrict_external_ip/
    

Tâche 12 : amorcer le serveur API de plate-forme

  1. Sur l'instance Oracle Linux ocne-operator, exécutez le script bootstrap pour configurer Platform API Server afin qu'il utilise les certificats.

    sudo /etc/olcne/bootstrap-olcne.sh \
    --secret-manager-type file \
    --olcne-node-cert-path /etc/olcne/configs/certificates/production/node.cert \
    --olcne-ca-path /etc/olcne/configs/certificates/production/ca.cert \
    --olcne-node-key-path /etc/olcne/configs/certificates/production/node.key \
    --olcne-component api-server
    

    Exemple de sortie :

    [opc@ocne-operator certificates]$ sudo /etc/olcne/bootstrap-olcne.sh \
    > --secret-manager-type file \
    > --olcne-node-cert-path /etc/olcne/configs/certificates/production/node.cert \
    > --olcne-ca-path /etc/olcne/configs/certificates/production/ca.cert \
    > --olcne-node-key-path /etc/olcne/configs/certificates/production/node.key \
    > --olcne-component api-server
    ● olcne-api-server.service - API server for Oracle Linux Cloud Native Environments
       Loaded: loaded (/usr/lib/systemd/system/olcne-api-server.service; enabled; vendor preset: disabled)
      Drop-In: /etc/systemd/system/olcne-api-server.service.d
               └─10-auth.conf
       Active: active (running) since Thu 2023-11-16 02:53:35 GMT; 2s ago
     Main PID: 53536 (olcne-api-serve)
        Tasks: 6 (limit: 48304)
       Memory: 10.1M
       CGroup: /system.slice/olcne-api-server.service
            └─53536 /usr/libexec/olcne-api-server -i /etc/olcne/modules --secret-manager-type file --olcne-ca-path /etc/olcne/configs/certificates/pr…
    
    Nov 16 02:53:35 ocne-operator systemd[1]: Started API server for Oracle Linux Cloud Native Environments.
    Nov 16 02:53:35 ocne-operator olcne-api-server[53536]: time=16/11/23 02:53:35 level=info msg=Api server listening on: 8091
    
  2. Sur l'instance Oracle Linux ocne-operator, vérifiez que le serveur API Platform est en cours d'exécution.

    sudo systemctl status olcne-api-server
    

    Exemple de sortie :

    [opc@ocne-operator certificates]$ sudo systemctl status olcne-api-server
    ● olcne-api-server.service - API server for Oracle Linux Cloud Native Environments
       Loaded: loaded (/usr/lib/systemd/system/olcne-api-server.service; enabled; vendor preset: disabled)
      Drop-In: /etc/systemd/system/olcne-api-server.service.d
               └─10-auth.conf
       Active: active (running) since Thu 2023-11-16 02:53:35 GMT; 1min 1s ago
     Main PID: 53536 (olcne-api-serve)
        Tasks: 6 (limit: 48304)
       Memory: 10.1M
       CGroup: /system.slice/olcne-api-server.service
            └─53536 /usr/libexec/olcne-api-server -i /etc/olcne/modules --secret-manager-type file --olcne-ca-path /etc/olcne/configs/certificates/pr>
    
    Nov 16 02:53:35 ocne-operator systemd[1]: Started API server for Oracle Linux Cloud Native Environments.
    Nov 16 02:53:35 ocne-operator olcne-api-server[53536]: time=16/11/23 02:53:35 level=info msg=Api server listening on: 8091
    lines 1-13/13 (END)
    
  3. Sur l'instance Oracle Linux ocne-operator, appuyez sur q pour quitter le processus et passer à la tâche suivante.

Tâche 13 : amorcer les agents de plate-forme

  1. Sur les instances Oracle Linux ocne-control et ocne-worker, exécutez le script d'initialisation pour configurer l'agent de plate-forme afin qu'il utilise les certificats.

    sudo /etc/olcne/bootstrap-olcne.sh \
    --secret-manager-type file \
    --olcne-node-cert-path /etc/olcne/configs/certificates/production/node.cert \
    --olcne-ca-path /etc/olcne/configs/certificates/production/ca.cert \
    --olcne-node-key-path /etc/olcne/configs/certificates/production/node.key \
    --olcne-component agent
    
    ● olcne-agent.service - Agent for Oracle Linux Cloud Native Environments
       Loaded: loaded (/usr/lib/systemd/system/olcne-agent.service; enabled; vendor preset: disabled)
      Drop-In: /etc/systemd/system/olcne-agent.service.d
               └─10-auth.conf
       Active: active (running) since Thu 2023-11-16 02:55:51 GMT; 2s ago
     Main PID: 52348 (olcne-agent)
        Tasks: 6 (limit: 48304)
       Memory: 3.1M
       CGroup: /system.slice/olcne-agent.service
               └─52348 /usr/libexec/olcne-agent --secret-manager-type file --olcne-ca-path /etc/olcne/configs/certificates/production/ca.cert --olcne-no…
    
    Nov 16 02:55:51 ocne-control systemd[1]: Started Agent for Oracle Linux Cloud Native Environments.
    Nov 16 02:55:51 ocne-control olcne-agent[52348]: time=16/11/23 02:55:51 level=info msg=Started server on[::]:8090
    [opc@ocne-control configs]$
    
    
    ● olcne-agent.service - Agent for Oracle Linux Cloud Native Environments
       Loaded: loaded (/usr/lib/systemd/system/olcne-agent.service; enabled; vendor preset: disabled)
      Drop-In: /etc/systemd/system/olcne-agent.service.d
               └─10-auth.conf
       Active: active (running) since Thu 2023-11-16 02:56:00 GMT; 2s ago
     Main PID: 52145 (olcne-agent)
        Tasks: 6 (limit: 48304)
       Memory: 5.1M
       CGroup: /system.slice/olcne-agent.service
               └─52145 /usr/libexec/olcne-agent --secret-manager-type file --olcne-ca-path /etc/olcne/configs/certificates/production/ca.cert --olcne-no…
    
    Nov 16 02:56:00 ocne-worker systemd[1]: Started Agent for Oracle Linux Cloud Native Environments.
    Nov 16 02:56:00 ocne-worker olcne-agent[52145]: time=16/11/23 02:56:00 level=info msg=Started server on[::]:8090
    [opc@ocne-worker ~]$
    

Tâche 14 : créer un fichier de configuration de la CLI de plate-forme

Les administrateurs peuvent utiliser un fichier de configuration pour simplifier la création et la gestion des environnements et des modules. Le fichier de configuration, écrit dans une syntaxe YAML valide, inclut toutes les informations sur les environnements et les modules à créer. L'utilisation d'un fichier de configuration enregistre les entrées répétées des options de commande de la CLI de plate-forme.

  1. Sur l'instance Oracle Linux ocne-operator, créez le fichier de configuration myenvironment.yaml avec l'éditeur de votre choix.

    cat ~/myenvironment.yaml
    environments:
      - environment-name: myenvironment
        globals:
          api-server: 127.0.0.1:8091
          secret-manager-type: file
          olcne-ca-path: /etc/olcne/pki/production/ca.cert
          olcne-node-cert-path: /etc/olcne/pki/production/node.cert
          olcne-node-key-path:  /etc/olcne/pki/production/node.key
        modules:
          - module: kubernetes
            name: mycluster
            args:
              container-registry: container-registry.oracle.com/olcne
              control-plane-nodes: 10.80.35.128:8090
              worker-nodes: 10.80.35.129:8090
              selinux: enforcing
              restrict-service-externalip: true
              restrict-service-externalip-ca-cert: /etc/olcne/pki/production/ca.cert
              restrict-service-externalip-tls-cert: /etc/olcne/pki/production/restrict_external_ip/production/node.cert
              restrict-service-externalip-tls-key: /etc/olcne/configs/certificates/restrict_external_ip/production/node.key
    

Tâche 15 : création de l'environnement et du module Kubernetes

  1. Sur l'instance Oracle Linux ocne-operator, créez l'environnement.

    cd ~
    olcnectl environment create --config-file myenvironment.yaml
    
  2. Sur l'instance Oracle Linux ocne-operator, créez le module Kubernetes.

    olcnectl module create --config-file myenvironment.yaml
    
  3. Sur l'instance Oracle Linux ocne-operator, validez le module Kubernetes.

    olcnectl module validate --config-file myenvironment.yaml
    
  4. Sur l'instance ocne-operator Oracle Linux, installez le module Kubernetes.

    olcnectl module install --config-file myenvironment.yaml
    
  5. Sur l'instance Oracle Linux ocne-operator, validez le déploiement du module Kubernetes.

    olcnectl module instances --config-file myenvironment.yaml
    

    Exemple de sortie :

    [opc@ocne-operator ~]$ olcnectl module instances --config-file myenvironment.yaml
    INSTANCE   	                                                           MODULE  	STATE
    ocne-control.g1sn1.g1vcn.oraclevcn.com:8090    node   	installed
    ocne-worker.g1sn1.g1vcn.oraclevcn.com:8090    node   	installed
    mycluster 	                                                        kubernetes	installed
    

Tâche 16 : configurer Kubectl

  1. Sur l'instance Oracle Linux ocne-control, configurez la commande kubectl.

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    export KUBECONFIG=$HOME/.kube/config
    echo 'export KUBECONFIG=$HOME/.kube/config' >> $HOME/.bashrc
    
  2. Sur l'instance Oracle Linux ocne-control, vérifiez que kubectl fonctionne.

    kubectl get nodes
    [opc@ocne-control ~]$ kubectl get nodes
    NAME    STATUS  ROLES      AGE  VERSION
    ocne-control  Ready  control-plane  12m  v1.26.6+1.el8
    ocne-worker  Ready  <none>     12m  v1.26.6+1.el8
    

Remerciements

Ressources de formation supplémentaires

Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, rendez-vous sur education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.