Hinweis:

Kubernetes-Cluster auf Oracle Cloud Native Environment skalieren

Einführung

In diesem Tutorial wird die Skalierung eines vorhandenen Kubernetes-Clusters in Oracle Cloud Native Environment erläutert.

Bei einer vertikalen Skalierung eines Kubernetes-Clusters werden Knoten hinzugefügt, die ebenfalls horizontal skaliert werden, indem Knoten entfernt werden. Knoten können Control-Plane- oder Worker-Knoten sein. Oracle empfiehlt, das Cluster nicht gleichzeitig vertikal oder horizontal zu skalieren. Führen Sie stattdessen eine vertikale und anschließend eine horizontale Skalierung in zwei separaten Befehlen durch.

Um Split-Brain-Szenarios zu vermeiden und das Quorum beizubehalten, wird empfohlen, die Kubernetes-Cluster-Control-Plane oder Worker-Knoten in ungeraden Zahlen zu skalieren. Beispiel: 3, 5 oder 7 Control-Plane- oder Worker-Knoten stellen die Zuverlässigkeit des Clusters sicher.

In diesem Tutorial wird ein vorhandenes hochverfügbares Kubernetes-Cluster verwendet, das auf Oracle Cloud Native Environment ausgeführt wird, und es werden drei Module bereitgestellt:

Das erste Deployment besteht aus den folgenden Komponenten:

Es baut auf den Übungen auf:

Ziele

In diesem Tutorial/in dieser Übung werden zwei neue Control-Plane-Knoten und zwei neue Worker-Knoten konfiguriert und dem Cluster hinzugefügt. Das Tutorial/die Übung zeigt dann, wie Sie das Cluster horizontal skalieren, indem Sie dieselben Knoten aus dem Cluster entfernen.

In diesem Szenario werden X.509 private CA-Zertifikate verwendet, um die Kommunikation zwischen den Knoten zu sichern. Es gibt weitere Methoden zum Verwalten und Bereitstellen der Zertifikate, z. B. mit dem HashiCorp Vault Secrets-Manager oder mit eigenen Zertifikaten, die von einer vertrauenswürdigen Certificate Authority (CA) signiert wurden. Diese anderen Methoden sind in diesem Tutorial nicht enthalten.

Voraussetzungen

Hinweis: Wenn Sie die freie Übungsumgebung verwenden, werden diese Voraussetzungen als Ausgangspunkt angegeben.

Zusätzlich zu den Anforderungen eines hochverfügbaren Kubernetes-Clusters, das auf Oracle Cloud Native Environment ausgeführt wird, ist Folgendes erforderlich:

Übungsumgebung einrichten

Hinweis: Bei Verwendung der kostenlosen Übungsumgebung finden Sie unter Oracle Linux Lab - Grundlagen weitere Anweisungen zur Verbindung und Verwendung.

Informationen: Die kostenlose Laborumgebung stellt Oracle Cloud Native Environment auf den bereitgestellten Knoten bereit und kann Umgebungen erstellen. Das Deployment dauert nach dem Start etwa 20 bis 25 Minuten. Aus diesem Grund können Sie die Ausführung schrittweise beenden und dann zum Abschluss der Übung zurückkehren.

Sofern nicht anders angegeben, können alle Schritte in der freien Laborumgebung vom ocne-operator-Knoten ausgeführt werden. Es wird empfohlen, zunächst ein Terminalfenster zu öffnen und eine Verbindung zum Knoten herzustellen. In einer Installation mit mehreren Knoten von Oracle Cloud Native Environment werden die kubectl-Befehle entweder auf dem Operator, einem Control-Plane-Knoten oder einem anderen für kubectl konfigurierten System ausgeführt.

  1. Öffnen Sie ein Terminal, und stellen Sie eine Verbindung über ssh zum ocne-operator-System her.

    ssh oracle@<ip_address_of_ol_node>
    

Kubernetes-Modul installieren

Wichtig Alle Vorgänge, sofern nicht anders angegeben, werden über den Knoten ocne-operator ausgeführt.

In der kostenlosen Übungsumgebung wird während des Deployments eine hochverfügbare Oracle Cloud Native Environment-Installation erstellt, einschließlich Vorbereiten der Umgebung und Modulkonfiguration.

  1. Zeigen Sie die Datei myenvironment.yaml an.

    cat ~/myenvironment.yaml
    

    Das Deployment der kostenlosen Übungsumgebung verwendet drei Control-Plane-Knoten und fünf Worker-Knoten beim Erstellen des Clusters.

    Beispielausgabe:

    [oracle@ocne-operator ~]$ cat ~/myenvironment.yaml
    environments:
      - environment-name: myenvironment
        globals:
          api-server: 127.0.0.1:8091
          secret-manager-type: file
          olcne-ca-path: /etc/olcne/configs/certificates/production/ca.cert
          olcne-node-cert-path: /etc/olcne/configs/certificates/production/node.cert
          olcne-node-key-path:  /etc/olcne/configs/certificates/production/node.key
        modules:
          - module: kubernetes
            name: mycluster
            args:
              container-registry: container-registry.oracle.com/olcne
              load-balancer: 10.0.0.168:6443
              master-nodes:
                - ocne-control01.lv.vcnf998d566.oraclevcn.com:8090
                - ocne-control02.lv.vcnf998d566.oraclevcn.com:8090
                - ocne-control03.lv.vcnf998d566.oraclevcn.com:8090
              worker-nodes:
                - ocne-worker01.lv.vcnf998d566.oraclevcn.com:8090
                - ocne-worker02.lv.vcnf998d566.oraclevcn.com:8090
                - ocne-worker03.lv.vcnf998d566.oraclevcn.com:8090
                - ocne-worker04.lv.vcnf998d566.oraclevcn.com:8090
                - ocne-worker05.lv.vcnf998d566.oraclevcn.com:8090
              selinux: enforcing
              restrict-service-externalip: true
              restrict-service-externalip-ca-cert: /etc/olcne/configs/certificates/restrict_external_ip/production/ca.cert
              restrict-service-externalip-tls-cert: /etc/olcne/configs/certificates/restrict_external_ip/production/node.cert
              restrict-service-externalip-tls-key: /etc/olcne/configs/certificates/restrict_external_ip/production/node.key
          - module: helm
            name: myhelm
            args:
              helm-kubernetes-module: mycluster      
          - module: oci-ccm
            name: myoci
            oci-ccm-helm-module: myhelm
            oci-use-instance-principals: true
            oci-compartment: ocid1.compartment.oc1..aaaaaaaau2g2k23u6mp3t43ky3i4ky7jpyeiqcdcobpbcb7z6vjjlrdnuufq
            oci-vcn: ocid1.vcn.oc1.eu-frankfurt-1.amaaaaaaw6qx2pia2xkfmnnknpk3jll6emb76gtcza3ttbqqofxmwjb45rka
            oci-lb-subnet1: ocid1.subnet.oc1.eu-frankfurt-1.aaaaaaaawfjs5zrb6wdmg43522a4l5aak5zr6vvkaaa6xogttha2ufsip7fq         
    

    Der Domainteil des FQDN für die Knoten ist bei jedem Deployment der freien Laborumgebung eindeutig.

  2. Installieren Sie das Kubernetes-Modul.

    olcnectl module install --config-file myenvironment.yaml
    

    Hinweis: Das Deployment von Kubernetes auf den Knoten dauert 20-25 Minuten.

    Beispielausgabe:

    [oracle@ocne-operator ~]$ olcnectl module install --config-file myenvironment.yaml
    Modules installed successfully.
    Modules installed successfully.
    Modules installed successfully.
    

    Warum werden drei Module erfolgreich installiert? Dies liegt daran, dass die in diesem Beispiel verwendete Datei myenvironment.yaml drei separate Module definiert:

    • - module: kubernetes
    • - module: helm
    • - module: oci-ccm

    Es ist wichtig, dies zu verstehen, da später in diesen Schritten auch einige Antworten dreimal zurückgegeben werden - einmal für jedes Modul, das in der Datei myenvironment.yaml definiert ist.

  3. Prüfen Sie das Deployment des Kubernetes-Moduls.

    olcnectl module instances --config-file myenvironment.yaml
    

    Beispielausgabe:

    [oracle@ocne-operator ~]$ olcnectl module instances --config-file myenvironment.yaml
    INSTANCE                                        	MODULE    	STATE    
    mycluster                                       	kubernetes	installed
    myhelm                                          	helm      	installed
    myoci                                           	oci-ccm   	installed
    ocne-control01.lv.vcnf998d566.oraclevcn.com:8090	node      	installed
    ocne-control02.lv.vcnf998d566.oraclevcn.com:8090	node      	installed
    ocne-control03.lv.vcnf998d566.oraclevcn.com:8090	node      	installed
    ocne-worker01.lv.vcnf998d566.oraclevcn.com:8090 	node      	installed
    ocne-worker02.lv.vcnf998d566.oraclevcn.com:8090 	node      	installed
    ocne-worker03.lv.vcnf998d566.oraclevcn.com:8090 	node      	installed
    ocne-worker04.lv.vcnf998d566.oraclevcn.com:8090 	node      	installed
    ocne-worker05.lv.vcnf998d566.oraclevcn.com:8090 	node      	installed
    

kubectl einrichten

  1. Richten Sie den Befehl kubectl ein.

    1. Kopieren Sie die Konfigurationsdatei von einem der Control-Plane-Knoten.

      mkdir -p $HOME/.kube
      ssh -o StrictHostKeyChecking=no 10.0.0.150 "sudo cat /etc/kubernetes/admin.conf" > $HOME/.kube/config
      

      Beispielausgabe:

      [oracle@ocne-operator ~]$ mkdir -p $HOME/.kube
      [oracle@ocne-operator ~]$ ssh -o StrictHostKeyChecking=no 10.0.0.150 "sudo cat /etc/kubernetes/admin.conf" > $HOME/.kube/config
      Warning: Permanently added '10.0.0.150' (ECDSA) to the list of known hosts.
      
    2. Exportieren Sie die Konfiguration zur Verwendung durch den Befehl kubectl.

      sudo chown $(id -u):$(id -g) $HOME/.kube/config
      export KUBECONFIG=$HOME/.kube/config
      echo 'export KUBECONFIG=$HOME/.kube/config' >> $HOME/.bashrc
      
  2. Stellen Sie sicher, dass kubectl funktioniert.

    kubectl get nodes
    

    Beispielausgabe:

    [oracle@ocne-operator ~]$ kubectl get nodes
    NAME             STATUS   ROLES                  AGE   VERSION
    ocne-control01   Ready    control-plane,master   17m   v1.23.7+1.el8
    ocne-control02   Ready    control-plane,master   16m   v1.23.7+1.el8
    ocne-control03   Ready    control-plane,master   15m   v1.23.7+1.el8
    ocne-worker01    Ready    <none>                 16m   v1.23.7+1.el8
    ocne-worker02    Ready    <none>                 15m   v1.23.7+1.el8
    ocne-worker03    Ready    <none>                 14m   v1.23.7+1.el8
    ocne-worker04    Ready    <none>                 15m   v1.23.7+1.el8
    ocne-worker05    Ready    <none>                 15m   v1.23.7+1.el8
    [oracle@ocne-operator ~]$
    

Bestätigen Sie, dass das Oracle Cloud Infrastructure Cloud Controller Manager-Modul bereit ist

Bevor Sie fortfahren, müssen Sie warten, bis das Oracle Cloud Infrastructure Cloud Controller Manager-Modul die Kommunikation mit der OCI-API herstellt. Das Oracle Cloud Infrastructure Cloud Controller Manager-Modul führt auf jedem Knoten einen Pod aus, der Funktionen wie das Anhängen des Blockspeichers verarbeitet. Nach der Installation verhindert dieser Controller, dass Pods geplant werden, bis dieser dedizierte Pod bestätigt, dass er initialisiert, ausgeführt und mit der OCI-API kommuniziert wird. Bis diese Kommunikation erfolgreich hergestellt wurde, wird ein Versuch, fortzufahren, wahrscheinlich eine erfolgreiche Verwendung von Cloud-Speicher oder Load Balancern durch Kubernetes verhindern.

  1. Rufen Sie den Status der oci-cloud-controller-manager-Pods der Komponente ab.

    kubectl -n kube-system get pods -l component=oci-cloud-controller-manager
    

    Beispielausgabe:

    [[oracle@ocne-operator ~]$ kubectl -n kube-system get pods -l component=oci-cloud-controller-manager
    NAME                                 READY   STATUS    RESTARTS      AGE
    oci-cloud-controller-manager-9d9gh   1/1     Running   1 (48m ago)   50m
    oci-cloud-controller-manager-jqzs6   1/1     Running   0             50m
    oci-cloud-controller-manager-xfm9w   1/1     Running   0             50m
    
  2. Rufen Sie den Status der csi-oci-Pods der Rolle ab.

    kubectl -n kube-system get pods -l role=csi-oci
    

    Beispielausgabe:

    [[oracle@ocne-operator ~]$ kubectl -n kube-system get pods -l role=csi-oci
    NAME                                  READY   STATUS             RESTARTS      AGE
    csi-oci-controller-7fcbddd746-2hb5c   4/4     Running            2 (50m ago)   51m
    csi-oci-node-7jd6t                    3/3     Running            0             51m
    csi-oci-node-fc5x5                    3/3     Running            0             51m
    csi-oci-node-jq8sm                    3/3     Running            0             51m
    csi-oci-node-jqkvl                    3/3     Running            0             51m
    csi-oci-node-jwq8g                    3/3     Running            0             51m
    csi-oci-node-jzxqt                    3/3     Running            0             51m
    csi-oci-node-rmmmb                    3/3     Running            0             51m
    csi-oci-node-zc287                    1/3     Running            0             51m
    

Hinweis: Warten Sie, bis diese beiden Befehle STATUS als Running anzeigen, bevor Sie fortfahren.

Wenn die Werte in der Spalte READY nicht alle gestarteten Container anzeigen und die Werte in der Spalte STATUS nach 15 Minuten nicht als Running angezeigt werden, starten Sie die Übung neu.

(Optional) Neue Kubernetes-Knoten einrichten

Hinweis: Die Schritte in diesem Abschnitt sind nicht in der kostenlosen Übungsumgebung erforderlich, da sie bereits während des ersten Deployments der Übung abgeschlossen wurden. Fahren Sie mit dem nächsten Abschnitt fort, und fahren Sie dort fort.

Beim vertikalen Skalieren (Hinzufügen von Knoten) müssen alle im Abschnitt Prerequisites dieses Tutorials aufgeführten Voraussetzungen erfüllt sein.

In diesem Tutorial/in dieser Übung sind die Knoten ocne-control04 und ocne-control05 die neuen Control-Plane-Knoten, während die Knoten ocne-worker06 und ocne-worker07 die neuen Worker-Knoten sind. Neben den Voraussetzungen müssen diese neuen Knoten den Oracle Cloud Native Environment Platform Agent installieren und aktivieren.

  1. Installieren und aktivieren Sie den Platform Agent.

    sudo dnf install olcne-agent olcne-utils
    sudo systemctl enable olcne-agent.service
    
  2. Wenn Sie einen Proxy-Server verwenden, konfigurieren Sie ihn mit CRI-O. Erstellen Sie auf jedem Kubernetes-Knoten ein systemdefiniertes CRI-O-Konfigurationsverzeichnis. Erstellen Sie eine Datei mit dem Namen proxy.conf im Verzeichnis, und fügen Sie die Proxyserverinformationen hinzu.

    sudo mkdir /etc/systemd/system/crio.service.d
    sudo vi /etc/systemd/system/crio.service.d/proxy.conf
    
  3. Ersetzen Sie die entsprechenden Proxywerte in der Umgebung mit der Beispieldatei proxy.conf:

    [Service]
    Environment="HTTP_PROXY=proxy.example.com:80"
    Environment="HTTPS_PROXY=proxy.example.com:80"
    Environment="NO_PROXY=.example.com,192.0.2.*"
    
  4. Wenn der docker- oder containerd-Service ausgeführt wird, stoppen und deaktivieren Sie sie.

    sudo systemctl disable --now docker.service
    sudo systemctl disable --now containerd.service
    

Private CA-Zertifikate X.509 einrichten

Richten Sie X.509 Private CA-Zertifikate für die neuen Control-Plane-Knoten und die Worker-Knoten ein.

  1. Erstellen Sie eine Liste neuer Knoten.

    VAR1=$(hostname -d)
    for NODE in 'ocne-control04' 'ocne-control05' 'ocne-worker06' 'ocne-worker07'; do VAR2+="${NODE}.$VAR1,"; done
    VAR2=${VAR2%,}
    

    Das angegebene bash-Skript ruft den Domainnamen des Operatorknotens ab und erstellt eine durch Komma getrennte Liste der Knoten, die dem Cluster während der vertikalen Skalierung hinzugefügt werden sollen.

  2. Generieren Sie eine private CA und ein Set von Zertifikaten für die neuen Knoten.

    Verwenden Sie die Option --byo-CA-cert, um den Speicherort des vorhandenen CA-Zertifikats anzugeben, und die Option --byo-CA-key, um den Speicherort des vorhandenen CA-Schlüssels anzugeben. Verwenden Sie die Option --nodes, und geben Sie den FQDN der neuen Control Plane und der Worker-Knoten an.

    cd /etc/olcne
    sudo ./gen-certs-helper.sh \
    --cert-dir /etc/olcne/configs/certificates/ \
    --byo-ca-cert /etc/olcne/configs/certificates/production/ca.cert \
    --byo-ca-key /etc/olcne/configs/certificates/production/ca.key \
    --nodes $VAR2
    

    Beispielausgabe:

    [oracle@ocne-operator ~]$ cd /etc/olcne
    [oracle@ocne-operator olcne]$ sudo ./gen-certs-helper.sh \
    > --cert-dir /etc/olcne/configs/certificates/ \
    > --byo-ca-cert /etc/olcne/configs/certificates/production/ca.cert \
    > --byo-ca-key /etc/olcne/configs/certificates/production/ca.key \
    > --nodes $VAR2
    [INFO] Generating certs for ocne-control04.lv.vcnf998d566.oraclevcn.com
    Generating RSA private key, 2048 bit long modulus (2 primes)
    .............................+++++
    ....................+++++
    e is 65537 (0x010001)
    Signature ok
    subject=C = US, ST = North Carolina, L = Whynot, O = your-company, OU = private cloud, CN = example.com
    Getting CA Private Key
    [INFO] Generating certs for ocne-control05.lv.vcnf998d566.oraclevcn.com
    Generating RSA private key, 2048 bit long modulus (2 primes)
    ...+++++
    ...........................................................+++++
    e is 65537 (0x010001)
    Signature ok
    subject=C = US, ST = North Carolina, L = Whynot, O = your-company, OU = private cloud, CN = example.com
    Getting CA Private Key
    [INFO] Generating certs for ocne-worker06.lv.vcnf998d566.oraclevcn.com
    Generating RSA private key, 2048 bit long modulus (2 primes)
    ......+++++
    .......................+++++
    e is 65537 (0x010001)
    Signature ok
    subject=C = US, ST = North Carolina, L = Whynot, O = your-company, OU = private cloud, CN = example.com
    Getting CA Private Key
    [INFO] Generating certs for ocne-worker07.lv.vcnf998d566.oraclevcn.com
    Generating RSA private key, 2048 bit long modulus (2 primes)
    ....................................................................................+++++
    .................................+++++
    e is 65537 (0x010001)
    Signature ok
    subject=C = US, ST = North Carolina, L = Whynot, O = your-company, OU = private cloud, CN = example.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-control04.lv.vcnf998d566.oraclevcn.com,ocne-control05.lv.vcnf998d566.oraclevcn.com,ocne-worker06.lv.vcnf998d566.oraclevcn.com,ocne-worker07.lv.vcnf998d566.oraclevcn.com
    

Zertifikate übertragen

Übertragen Sie die neu erstellten Zertifikate vom Operatorknoten auf alle neuen Knoten.

  1. Aktualisieren Sie die Benutzerdetails im angegebenen Übertragungsskript.

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

    Hinweis: Für das Tutorial ist dieser Schritt erforderlich, da der Standardbenutzer des Skripts opc ist. Da das Produkt sowohl in dieser Tutorial- als auch in der kostenlosen Übungsumgebung mit dem Benutzer oracle installiert wird, aktualisieren Sie die Variable USER im Skript entsprechend.

  2. Aktualisieren Sie die Berechtigungen für jede node.key, die vom Zertifikatserstellungsskript generiert wird.

    sudo chmod 644 /etc/olcne/configs/certificates/tmp-olcne/ocne-control*/node.key
    sudo chmod 644 /etc/olcne/configs/certificates/tmp-olcne/ocne-operator*/node.key
    sudo chmod 644 /etc/olcne/configs/certificates/tmp-olcne/ocne-worker*/node.key
    
  3. Übertragen Sie die Zertifikate an jeden neuen Knoten.

    Hinweis Für diesen Schritt muss ein kennwortloses SSH zwischen den Knoten konfiguriert sein. Die Konfiguration dieses Tutorials liegt außerhalb des Geltungsbereichs dieses Tutorials, ist jedoch in der freien Übungsumgebung vorkonfiguriert.

    bash -ex /etc/olcne/configs/certificates/olcne-tranfer-certs.sh
    

Platform Agent zur Verwendung der Zertifikate konfigurieren

Konfigurieren Sie den Platform Agent auf jedem neuen Knoten so, dass die im vorherigen Schritt kopierten Zertifikate verwendet werden. Wir führen diese Aufgabe über den Operatorknoten aus, indem wir den Befehl über ssh ausführen.

  1. Konfigurieren Sie den Knoten ocne-control04.

    ssh -o StrictHostKeyChecking=no ocne-control04 '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'
    

    Beispielausgabe:

    [oracle@ocne-operator olcne]$ ssh -o StrictHostKeyChecking=no ocne-control04 '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'
    Warning: Permanently added 'ocne-control04,10.0.0.153' (ECDSA) to the list of known hosts.
    ��� 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 Tue 2022-08-30 15:29:37 GMT; 2s ago
     Main PID: 152809 (olcne-agent)
        Tasks: 8 (limit: 202294)
       Memory: 11.1M
       CGroup: /system.slice/olcne-agent.service
               ������152809 /usr/libexec/olcne-agent --secret-manager-type file --olcne-ca-path /etc/olcne/configs/certificates/production/ca.cert --olcne-node-cert-path /etc/olcne/configs/certificates/production/node.cert --olcne-node-key-path /etc/olcne/configs/certificates/production/node.key
    
    Aug 30 15:29:37 ocne-control04 systemd[1]: Started Agent for Oracle Linux Cloud Native Environments.
    Aug 30 15:29:37 ocne-control04 olcne-agent[152809]: time=30/08/22 15:29:37 level=info msg=Started server on[::]:8090
    
  2. Konfigurieren Sie den Knoten ocne-control05.

    ssh -o StrictHostKeyChecking=no ocne-control05 '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'
    

    Beispielausgabe:

    [oracle@ocne-operator olcne]$ ssh -o StrictHostKeyChecking=no ocne-control05 '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'
    Warning: Permanently added 'ocne-control05,10.0.0.154' (ECDSA) to the list of known hosts.
    ��� 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 Tue 2022-08-30 15:34:13 GMT; 2s ago
     Main PID: 153413 (olcne-agent)
        Tasks: 7 (limit: 202294)
       Memory: 9.1M
       CGroup: /system.slice/olcne-agent.service
               ������153413 /usr/libexec/olcne-agent --secret-manager-type file --olcne-ca-path /etc/olcne/configs/certificates/production/ca.cert --olcne-node-cert-path /etc/olcne/configs/certificates/production/node.cert --olcne-node-key-path /etc/olcne/configs/certificates/production/node.key
    
    Aug 30 15:34:13 ocne-control05 systemd[1]: olcne-agent.service: Succeeded.
    Aug 30 15:34:13 ocne-control05 systemd[1]: Stopped Agent for Oracle Linux Cloud Native Environments.
    Aug 30 15:34:13 ocne-control05 systemd[1]: Started Agent for Oracle Linux Cloud Native Environments.
    Aug 30 15:34:13 ocne-control05 olcne-agent[153413]: time=30/08/22 15:34:13 level=info msg=Started server on[::]:8090
    
  3. Konfigurieren Sie den Knoten ocne-worker06.

    ssh -o StrictHostKeyChecking=no ocne-worker06 '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'
    

    Beispielausgabe:

    [oracle@ocne-operator olcne]$ ssh -o StrictHostKeyChecking=no ocne-worker06 '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'
    Warning: Permanently added 'ocne-worker06,10.0.0.165' (ECDSA) to the list of known hosts.
    ��� 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 Tue 2022-08-30 15:41:08 GMT; 2s ago
     Main PID: 153988 (olcne-agent)
        Tasks: 8 (limit: 202294)
       Memory: 5.2M
       CGroup: /system.slice/olcne-agent.service
               ������153988 /usr/libexec/olcne-agent --secret-manager-type file --olcne-ca-path /etc/olcne/configs/certificates/production/ca.cert --olcne-node-cert-path /etc/olcne/configs/certificates/production/node.cert --olcne-node-key-path /etc/olcne/configs/certificates/production/node.key
    
    Aug 30 15:41:08 ocne-worker06 systemd[1]: Started Agent for Oracle Linux Cloud Native Environments.
    Aug 30 15:41:08 ocne-worker06 olcne-agent[153988]: time=30/08/22 15:41:08 level=info msg=Started server on[::]:8090
    
  4. Konfigurieren Sie den Knoten ocne-worker07.

    ssh -o StrictHostKeyChecking=no ocne-worker07 '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'
    

    Beispielausgabe:

    [oracle@ocne-operator olcne]$ ssh -o StrictHostKeyChecking=no ocne-worker07 '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'
    Warning: Permanently added 'ocne-worker07,10.0.0.166' (ECDSA) to the list of known hosts.
    ��� 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 Tue 2022-08-30 15:43:23 GMT; 2s ago
     Main PID: 154734 (olcne-agent)
        Tasks: 8 (limit: 202294)
       Memory: 9.1M
       CGroup: /system.slice/olcne-agent.service
               ������154734 /usr/libexec/olcne-agent --secret-manager-type file --olcne-ca-path /etc/olcne/configs/certificates/production/ca.cert --olcne-node-cert-path /etc/olcne/configs/certificates/production/node.cert --olcne-node-key-path /etc/olcne/configs/certificates/production/node.key
    
    Aug 30 15:43:23 ocne-worker07 systemd[1]: olcne-agent.service: Succeeded.
    Aug 30 15:43:23 ocne-worker07 systemd[1]: Stopped Agent for Oracle Linux Cloud Native Environments.
    Aug 30 15:43:23 ocne-worker07 systemd[1]: Started Agent for Oracle Linux Cloud Native Environments.
    Aug 30 15:43:23 ocne-worker07 olcne-agent[154734]: time=30/08/22 15:43:23 level=info msg=Started server on[::]:8090
    

Auf OCI Load Balancer zugreifen und die Backends anzeigen

Da mehrere für die Kubernetes-Control Plane definierte Knoten einen Load Balancer erfordern, ist es interessant, die Konfiguration anzuzeigen, die beim Deployment der freien Übungsumgebung automatisch eingerichtet wurde. Dadurch werden die drei Knoten angezeigt, die bereitgestellt und konfiguriert werden, wenn die Übung mit dem Status Healthy erstellt wird, und die beiden Knoten, die in den nächsten Schritten mit dem Status Critical hinzugefügt werden.

  1. Wechseln Sie vom Terminal zum Luna-Desktop

  2. Öffnen Sie die Detailseite Luna Lab über das Symbol Luna Lab.

  3. Klicken Sie auf den Link OCI-Konsole.

    OCI-Link

  4. Die Anmeldeseite der Oracle Cloud-Konsole wird angezeigt.

    Konsolenanmeldung

  5. Geben Sie User Name und Password ein (auf der Registerkarte Luna Lab im Abschnitt Zugangsdaten).

    unpw

  6. Klicken Sie oben links auf das Hamburger-Menü und dann auf Networking und Load Balancer.

    Select-Networking

  7. Die Seite Load Balancer wird angezeigt.

    Load Balancer

  8. Suchen Sie das verwendete Compartment in der Dropdown-Liste.

    OCI-Compartment

  9. Klicken Sie auf den in der Tabelle aufgeführten Load Balancer (ocne-load-balancer).

    Load Balancer

  10. Scrollen Sie auf der Seite nach unten, und klicken Sie auf den Link zu den Backend-Sets (links im Abschnitt Ressourcen).

    Backend-Set

  11. Die Tabelle Backend-Sets wird angezeigt. Klicken Sie auf den Link ocne-lb-backend-set in der Spalte Name.

    Load Balancer

  12. Klicken Sie auf den Link zu den Backends (links im Abschnitt Ressourcen).

    Backend-Link

  13. Die Backends, die den Control-Plane-Knoten entsprechen, werden angezeigt.

    Hinweis Zwei der Backend-Knoten weisen den Status Kritisch - Verbindung nicht erfolgreich auf, weil diese Knoten noch nicht Teil des Kubernetes-Control-Plane-Clusters sind. Lassen Sie diese Browserregisterkarte geöffnet, da wir den Status der Backend-Knoten nach Abschluss der vertikalen Skalierungsschritte erneut prüfen.

    Backend-Tabelle

Kubernetes-Knoten anzeigen

Prüfen Sie die aktuell verfügbaren Kubernetes-Knoten im Cluster. Beachten Sie, dass es drei Control-Plane-Knoten und fünf Worker-Knoten gibt.

  1. Vergewissern Sie sich, dass alle Knoten den Status READY aufweisen.

    kubectl get nodes
    

    Beispielausgabe:

    [oracle@ocne-operator olcne]$ kubectl get nodes
    NAME             STATUS   ROLES                  AGE     VERSION
    ocne-control01   Ready    control-plane,master   5h15m   v1.23.7+1.el8
    ocne-control02   Ready    control-plane,master   5h14m   v1.23.7+1.el8
    ocne-control03   Ready    control-plane,master   5h13m   v1.23.7+1.el8
    ocne-worker01    Ready    <none>                 5h14m   v1.23.7+1.el8
    ocne-worker02    Ready    <none>                 5h13m   v1.23.7+1.el8
    ocne-worker03    Ready    <none>                 5h12m   v1.23.7+1.el8
    ocne-worker04    Ready    <none>                 5h13m   v1.23.7+1.el8
    ocne-worker05    Ready    <none>                 5h14m   v1.23.7+1.el8
    

Control-Plane- und Worker-Knoten zur Deployment-Konfigurationsdatei hinzufügen

Fügen Sie den vollqualifizierten Domainnamen (FQDN) und den Plattform-Agent-Zugriffsport (8090) zu allen Control-Plane- und Worker-Knoten hinzu, die dem Cluster hinzugefügt werden sollen.

Bearbeiten Sie die YAML-Deployment-Konfigurationsdatei, um die neuen Clusterknoten aufzunehmen. Fügen Sie die Control-Plane-Knoten unter dem Abschnitt master-nodes hinzu, während Sie die Worker-Knoten zum Abschnitt worker-node hinzufügen.

Der Dateiname für die Konfigurationsdatei in diesem Tutorial lautet myenvironment.yaml und enthält derzeit drei Control Plane- und fünf Worker-Knoten.

  1. Stellen Sie sicher, dass die aktuelle Umgebung drei Control-Plane-Knoten und fünf Worker-Knoten verwendet.

    cat ~/myenvironment.yaml
    

    Beispielausgabe:

    ...
              master-nodes:
                - ocne-control01.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control02.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control03.lv.vcneea798df.oraclevcn.com:8090
              worker-nodes:
                - ocne-worker01.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker02.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker03.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker04.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker05.lv.vcneea798df.oraclevcn.com:8090
    ...
    
  2. Fügen Sie die neue Control Plane und die Worker-Knoten zur Datei myenvironment.yaml hinzu.

    cd ~
    sed -i '19 i \            - ocne-control04.'"$(hostname -d)"':8090' ~/myenvironment.yaml
    sed -i '20 i \            - ocne-control05.'"$(hostname -d)"':8090' ~/myenvironment.yaml
    sed -i '27 i \            - ocne-worker06.'"$(hostname -d)"':8090' ~/myenvironment.yaml
    sed -i '28 i \            - ocne-worker07.'"$(hostname -d)"':8090' ~/myenvironment.yaml
    
  3. Bestätigen Sie, dass die Control-Plane- und Worker-Knoten der Datei myenvironment.yaml hinzugefügt wurden.

    cat ~/myenvironment.yaml
    

    Beispielauszug:

    ...
              master-nodes:
                - ocne-control01.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control02.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control03.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control04.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control05.lv.vcneea798df.oraclevcn.com:8090
              worker-nodes:
                - ocne-worker01.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker02.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker03.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker04.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker05.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker06.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker07.lv.vcneea798df.oraclevcn.com:8090   
    ...
    

Die Konfigurationsdatei enthält jetzt die neuen Control-Plane-Knoten (ocne-control04 und ocne-control05) und die neuen Worker-Knoten (ocne-worker06 und ocne-worker07). Dies stellt alle Control-Plane- und Worker-Knoten dar, die sich nach Abschluss der vertikalen Skalierung im Cluster befinden sollten.

Control-Plane- und Worker-Knoten vertikal skalieren

  1. Führen Sie den Befehl "modul update" aus.

    Verwenden Sie den Befehl olcnectl module update mit der Option --config-file, um den Speicherort der Konfigurationsdatei anzugeben. Der Plattform-API-Server validiert die Konfigurationsdatei mit dem Status des Clusters und erkennt, dass dem Cluster weitere Knoten hinzugefügt werden müssen. Beantworten Sie y, wenn Sie dazu aufgefordert werden.

    Hinweis: Die Prompts im Terminalfenster werden verzögert angezeigt, während die einzelnen Module aktualisiert werden. In der freien Laborumgebung kann diese Verzögerung bis zu 10-15 Minuten betragen.

    olcnectl module update --config-file myenvironment.yaml
    

    Beispielausgabe:

    [oracle@ocne-operator ~]$ olcnectl module update --config-file myenvironment.yaml
    ? [WARNING] Update will shift your workload and some pods will lose data if they rely on local storage. Do you want to continue? Yes
    Taking backup of modules before update
    Backup of modules succeeded.
    Updating modules
    Update successful
    ? [WARNING] Update will shift your workload and some pods will lose data if they rely on local storage. Do you want to continue? Yes
    Taking backup of modules before update
    Backup of modules succeeded.
    Updating modules
    Update successful
    ? [WARNING] Update will shift your workload and some pods will lose data if they rely on local storage. Do you want to continue? Yes
    Taking backup of modules before update
    Backup of modules succeeded.
    Updating modules
    Update successful
    
  2. (In der Cloud-Konsole) Stellen Sie sicher, dass im Backend-Set des Load Balancers fünf fehlerfreie Backend-Knoten angezeigt werden.

    Fehlerfrei

  3. Vergewissern Sie sich, dass die neuen Control-Plane- und Worker-Knoten dem Cluster hinzugefügt wurden.

    kubectl get nodes
    

    Beispielausgabe:

    [oracle@ocne-operator ~]$ kubectl get nodes
    NAME             STATUS   ROLES                  AGE   VERSION
    ocne-control01   Ready    control-plane,master   99m   v1.23.7+1.el8
    ocne-control02   Ready    control-plane,master   97m   v1.23.7+1.el8
    ocne-control03   Ready    control-plane,master   96m   v1.23.7+1.el8
    ocne-control04   Ready    control-plane,master   13m   v1.23.7+1.el8
    ocne-control05   Ready    control-plane,master   12m   v1.23.7+1.el8
    ocne-worker01    Ready    <none>                 99m   v1.23.7+1.el8
    ocne-worker02    Ready    <none>                 98m   v1.23.7+1.el8
    ocne-worker03    Ready    <none>                 98m   v1.23.7+1.el8
    ocne-worker04    Ready    <none>                 98m   v1.23.7+1.el8
    ocne-worker05    Ready    <none>                 98m   v1.23.7+1.el8
    ocne-worker06    Ready    <none>                 13m   v1.23.7+1.el8
    ocne-worker07    Ready    <none>                 13m   v1.23.7+1.el8
    

    Beachten Sie, dass neue Control-Plane-Knoten (ocne-control04 und ocne-control05) und die neuen Worker-Knoten (ocne-work06 und ocne-worker07) jetzt im Cluster enthalten sind. Damit wird bestätigt, dass die vertikale Skalierung funktioniert hat.

Control-Plane-Knoten horizontal skalieren

Um zu demonstrieren, dass die Control-Plane- und Worker-Knoten unabhängig skaliert werden können, werden die Control-Plane-Knoten in diesem Schritt einfach horizontal skaliert (entfernt).

  1. Stellen Sie sicher, dass die aktuelle Umgebung fünf Control-Plane-Knoten und sieben Worker-Knoten verwendet.

    cat ~/myenvironment.yaml
    

    Beispielausgabe:

    ...
              master-nodes:
                - ocne-control01.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control02.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control03.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control04.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control05.lv.vcneea798df.oraclevcn.com:8090
              worker-nodes:
                - ocne-worker01.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker02.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker03.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker04.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker05.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker06.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker07.lv.vcneea798df.oraclevcn.com:8090
    ...
    
  2. Um das Cluster wieder nach unten auf die ursprünglichen drei Control-Plane-Knoten zu skalieren, entfernen Sie die Control-Plane-Knoten ocne-control04 und ocne-control05 aus der Konfigurationsdatei.

    sed -i '19d;20d' ~/myenvironment.yaml
    
  3. Stellen Sie sicher, dass die Konfigurationsdatei jetzt nur drei Control-Plane-Knoten und die sieben Worker-Knoten enthält.

    cat ~/myenvironment.yaml
    

    Beispielauszug:

    ...
              master-nodes:
                - ocne-control01.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control02.lv.vcneea798df.oraclevcn.com:8090
                - ocne-control03.lv.vcneea798df.oraclevcn.com:8090
              worker-nodes:
                - ocne-worker01.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker02.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker03.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker04.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker05.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker06.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker07.lv.vcneea798df.oraclevcn.com:8090
    ...
    
  4. Unterdrücken Sie die Warnmeldung zur Modulaktualisierung.

    Sie können den Bestätigungs-Prompt während der Modulaktualisierung vermeiden und unterdrücken, indem Sie der Konfigurationsdatei die Anweisung force: true hinzufügen. Diese directive muss für jedes definierte Modul direkt unter der Anweisung name: <xxxx> platziert werden.

    cd ~
    sed -i '12 i \        force: true' ~/myenvironment.yaml
    sed -i '35 i \        force: true' ~/myenvironment.yaml
    sed -i '40 i \        force: true' ~/myenvironment.yaml
    
  5. Stellen Sie sicher, dass die Konfigurationsdatei jetzt die Anweisung force: true enthält.

    cat ~/myenvironment.yaml
    

    Beispielauszug:

    [oracle@ocne-operator ~]$ cat ~/myenvironment.yaml
    environments:
      - environment-name: myenvironment
        globals:
          api-server: 127.0.0.1:8091
          secret-manager-type: file
          olcne-ca-path: /etc/olcne/configs/certificates/production/ca.cert
          olcne-node-cert-path: /etc/olcne/configs/certificates/production/node.cert
          olcne-node-key-path:  /etc/olcne/configs/certificates/production/node.key
        modules:
          - module: kubernetes
            name: mycluster
            force: true
            args:
              container-registry: container-registry.oracle.com/olcne
              load-balancer: 10.0.0.18:6443
              master-nodes:
                - ocne-control01.lv.vcn1174e41d.oraclevcn.com:8090
                - ocne-control02.lv.vcn1174e41d.oraclevcn.com:8090
                - ocne-control03.lv.vcn1174e41d.oraclevcn.com:8090
              worker-nodes:
                - ocne-worker01.lv.vcn1174e41d.oraclevcn.com:8090
                - ocne-worker02.lv.vcn1174e41d.oraclevcn.com:8090
                - ocne-worker03.lv.vcn1174e41d.oraclevcn.com:8090
                - ocne-worker04.lv.vcn1174e41d.oraclevcn.com:8090
                - ocne-worker05.lv.vcn1174e41d.oraclevcn.com:8090
                - ocne-worker06.lv.vcneea798df.oraclevcn.com:8090
                - ocne-worker07.lv.vcneea798df.oraclevcn.com:8090
              selinux: enforcing
              restrict-service-externalip: true
              restrict-service-externalip-ca-cert: /etc/olcne/configs/certificates/restrict_external_ip/production/ca.cert
              restrict-service-externalip-tls-cert: /etc/olcne/configs/certificates/restrict_external_ip/production/node.cert
              restrict-service-externalip-tls-key: /etc/olcne/configs/certificates/restrict_external_ip/production/node.key
          - module: helm
            name: myhelm
            force: true
            args:
              helm-kubernetes-module: mycluster      
          - module: oci-ccm
            name: myoci
            force: true
            oci-ccm-helm-module: myhelm
            oci-use-instance-principals: true
            oci-compartment: ocid1.compartment.oc1..aaaaaaaanr6cysadeswwxc7sczdsrlamzhfh6scdyvuh4s4fmvecob6e2cha
            oci-vcn: ocid1.vcn.oc1.eu-frankfurt-1.amaaaaaag7acy3iat3duvrym376oax7nxdyqd56mqxtjaws47t4g7vqthgja
            oci-lb-subnet1: ocid1.subnet.oc1.eu-frankfurt-1.aaaaaaaa6rt6chugbkfhyjyl4exznpxrlvnus2bgkzcgm7fljfkqbxkva6ya         
    
  6. Führen Sie den Befehl aus, um das Cluster zu aktualisieren und die Knoten zu entfernen.

    Hinweis: Dieser Vorgang kann einige Minuten dauern.

    olcnectl module update --config-file myenvironment.yaml
    

    Beispielausgabe:

    [oracle@ocne-operator ~]$ olcnectl module update --config-file myenvironment.yaml
    Taking backup of modules before update
    Backup of modules succeeded.
    Updating modules
    Update successful
    Taking backup of modules before update
    Backup of modules succeeded.
    Updating modules
    Update successful
    Taking backup of modules before update
    Backup of modules succeeded.
    Updating modules
    Update successful
    
  7. (In der Cloud-Konsole) Stellen Sie sicher, dass im Backend-Set des Load Balancers drei fehlerfreie (Health = 'OK') und zwei fehlerhafte (Health = 'Critical - Connection failed') Knoten angezeigt werden. Der Grund, warum zwei Knoten einen kritischen Status aufweisen, ist, dass sie aus dem Kubernetes-Cluster entfernt wurden.

    Fehlerfrei

  8. Zeigen Sie an, dass die Control-Plane-Knoten vom Plattform-API-Server aus dem Cluster entfernt werden. Stellen Sie sicher, dass die Control-Plane-Knoten (ocne-control04 und ocne-control05) entfernt wurden.

    kubectl get nodes
    

    Beispielausgabe:

    [oracle@ocne-operator ~]$ kubectl get nodes
    NAME             STATUS   ROLES                  AGE    VERSION
    ocne-control01   Ready    control-plane,master   164m   v1.23.7+1.el8
    ocne-control02   Ready    control-plane,master   163m   v1.23.7+1.el8
    ocne-control03   Ready    control-plane,master   162m   v1.23.7+1.el8
    ocne-worker01    Ready    <none>                 164m   v1.23.7+1.el8
    ocne-worker02    Ready    <none>                 163m   v1.23.7+1.el8
    ocne-worker03    Ready    <none>                 164m   v1.23.7+1.el8
    ocne-worker04    Ready    <none>                 164m   v1.23.7+1.el8
    ocne-worker05    Ready    <none>                 164m   v1.23.7+1.el8
    ocne-worker06    Ready    <none>                 13m   v1.23.7+1.el8
    ocne-worker07    Ready    <none>                 13m   v1.23.7+1.el8
    

Übersicht

In dieser Demo wird beschrieben, wie Kubernetes-Knoten zum Cluster hinzugefügt und daraus entfernt werden. Während diese Übung gezeigt hat, dass sowohl die Control-Plane- als auch die Worker-Knoten gleichzeitig aktualisiert werden, ist dies nicht der empfohlene Ansatz für die vertikale oder horizontale Skalierung eines Oracle Cloud Native Environment Kubernetes-Clusters. In einer Produktionsumgebung erfolgt die Skalierung höchstwahrscheinlich separat.

Weitere Informationen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere Inhalte für kostenloses Lernen im Oracle Learning YouTube-Kanal zu. Außerdem besuchen Sie education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Produktdokumentation finden Sie im Oracle Help Center.