Hinweis:

Mit Terraform mehrere Kubernetes-Cluster über verschiedene OCI-Regionen hinweg mit OKE bereitstellen und ein vollständiges Mesh-Netzwerk mit RPC erstellen

Einführung

In diesem Tutorial wird erläutert, wie Sie mehrere Kubernetes-Cluster mit Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) erstellen. Diese Cluster werden in drei verschiedenen Ländern (Regionen) bereitgestellt. Um das Deployment zu beschleunigen und die Kubernetes-Cluster konsistent mit den wenigsten Konfigurationsfehlern bereitzustellen, verwenden wir Terraform und einige benutzerdefinierte bash-Skripte.

image

Wir haben auch einzelne Cluster manuell bereitgestellt, indem wir die Schnellerstellungsmethode und die benutzerdefinierte Erstellungsmethode verwendet haben.

Dieses Tutorial ist ein Update basierend auf dieser Dokumentation: Mehrere Kubernetes-Cluster auf Oracle Cloud bereitstellen.

Ziele

Aufgabe 1: Topologie bestimmen (Star vs Mesh)

Wir erstellen diese Kubernetes-Cluster, um eine containerbasierte Anwendung bereitzustellen, die in allen Regionen bereitgestellt wird. Um die Kommunikation zwischen diesen Kubernetes-Clustern zu ermöglichen, benötigen wir eine Form der Netzwerkkommunikation. Im Moment ist dies nicht im Rahmen dieses Tutorials, aber wir müssen einige architektonische Entscheidungen im Voraus treffen. Eine dieser Entscheidungen besteht darin, festzustellen, ob wir eine direkte Kommunikation zwischen allen Regionen ermöglichen wollen oder ob wir eine Region als Drehscheibe für die gesamte Kommunikation und die anderen als Spoke nutzen wollen.

Star-Topologie: Die Star-Topologie ermöglicht die Kommunikation zwischen den Regionen über eine einzige Hubregion. Wenn die Kubernetes-Cluster in San Jose also mit den Kubernetes-Clustern in Dubai kommunizieren möchten, wird Amsterdam als Transit-Hub verwendet.

image

Mesh-Topologie: Die Mesh-Topologie ermöglicht die direkte Kommunikation mit und von allen Regionen (Kubernetes-Cluster). Wenn die Kubernetes-Cluster in San Jose also mit den Kubernetes-Clustern in Dubai kommunizieren möchten, kann sie direkt kommunizieren.

image

In diesem Tutorial erstellen wir eine Mesh-Topologie. Diese Konnektivität erfolgt mit DRG und RPC.

Aufgabe 2: Umgebung für Authentifizierung vorbereiten und Terraform-Skripte ausführen

Vor der Verwendung von Terraform müssen wir unsere Umgebung vorbereiten. Um Terraform zu verwenden, öffnen Sie ein Terminal. In diesem Tutorial verwenden wir OS X Terminal-Anwendung.

image

  1. Führen Sie den folgenden Befehl aus, um zu prüfen, ob Terraform installiert, Ihrem Pfad hinzugefügt und welche Version es ist.

    Last login: Thu Apr  4 08:50:38 on ttys000
    iwhooge@iwhooge-mac ~ % terraform -v
    zsh: command not found: terraform
    iwhooge@iwhooge-mac ~ %
    
  2. Sie können sehen, dass der Befehl nicht gefunden wurde. Dies bedeutet, dass entweder Terraform nicht installiert ist oder dass er nicht der Pfadvariablen hinzugefügt wird.

image

Wie Sie sehen können, ist Terraform nicht installiert. Daher müssen wir es installieren. Sie werden feststellen, dass Terraform nicht nur installiert wird, sondern dass mehrere Schritte erforderlich sind, um die Terraform-Anwendung bereitzustellen und die Umgebung für unsere vollständige End-to-End-Scripting-Lösung vorzubereiten, um drei Kubernetes-Cluster in drei verschiedenen Regionen bereitzustellen.

Die folgende Abbildung enthält Anleitungen zu den erforderlichen Aufgaben.

image

Aufgabe 2.1: Homebrew installieren

Terraform kann mit verschiedenen Methoden installiert werden. In diesem Tutorial installieren wir Terraform mit Homebrew.

Homebrew ist ein Package Manager für MacOS (und Linux), mit dem Anwendungen installiert werden können, und die erforderlichen Abhängigkeiten sind wie apt oder yum.

Aufgabe 2.2: Terraform mit Homebrew installieren

In dieser Aufgabe installieren wir das Terraform-Package mit Homebrew.

Aufgabe 2.3: Lokale RSA-Schlüssel für OCI-Authentifizierung erstellen

Um die Authentifizierung mit OCI mit einem API-Schlüssel zuzulassen, müssen wir nur zu diesem Zweck einen neuen privaten und öffentlichen Schlüssel generieren.

  1. Führen Sie den folgenden Befehl aus, um das Verzeichnis zum Home-Verzeichnis zu wechseln.

    iwhooge@iwhooge-mac ~ % cd ~/
    
  2. Führen Sie den folgenden Befehl aus, um zu prüfen, ob Sie sich im Home-Verzeichnis befinden.

    iwhooge@iwhooge-mac ~ % pwd
    
  3. Prüfen Sie, ob das Home-Verzeichnis korrekt ist.

    /Users/iwhooge
    
  4. Führen Sie den folgenden Befehl aus, um ein neues Verzeichnis zu erstellen, das die Informationen zur Authentifizierung bei OCI enthält.

    iwhooge@iwhooge-mac ~ % mkdir .oci
    
  5. Führen Sie den folgenden Befehl aus, um einen privaten RSA-Schlüssel zu generieren.

    iwhooge@iwhooge-mac ~ % openssl genrsa -out ~/.oci/4-4-2023-rsa-key.pem 2048
    Generating RSA private key, 2048 bit long modulus
    .........................................................................................................................................+++++
    ......+++++
    e is 65537 (0x10001)
    
  6. Führen Sie den folgenden Befehl aus, um die Private-Key-Datei lesbar zu machen.

    iwhooge@iwhooge-mac ~ % chmod 600 ~/.oci/4-4-2023-rsa-key.pem
    
  7. Führen Sie den folgenden Befehl aus, um einen öffentlichen RSA-Schlüssel aus dem Private Key zu generieren.

    iwhooge@iwhooge-mac ~ % openssl rsa -pubout -in ~/.oci/4-4-2023-rsa-key.pem -out ~/.oci/4-4-2023-rsa-key-public.pem
    
  8. Prüfen Sie, ob das Schreiben des Schlüssels abgeschlossen ist.

    writing RSA key
    
  9. Führen Sie den folgenden Befehl aus, um den Inhalt des privaten RSA-Schlüssels zu prüfen.

    iwhooge@iwhooge-mac ~ % cat ~/.oci/4-4-2023-rsa-key.pem
    
  10. Prüfen Sie den Inhalt des privaten RSA-Schlüssels.

    -----BEGIN RSA PRIVATE KEY-----
    MIIEpQIBAAKCAQEA52+LJ+gp3MAJGtXTeQ/dmqq6Xh1zufK0yurLt/0w/DuxqEsL
    RT7x+Znz6EOVLx34Ul27QnHk7bhXaDCuwInnaOTOiS97AnLuFM08tvFksglnJssA
    JsszfTzUMNf0w4wtuLsJ5oRaPbVUa01TIm6HdwKAloIKYSn6z8gcvfLLItkyvPRo
    XXX
    w3yip+Yxr1YN3LjpDbZk4WTagKWoVQzp5nrfZlyU7ToZcMpUn/fIUsI=
    -----END RSA PRIVATE KEY-----
    
  11. Führen Sie den folgenden Befehl aus, um den Inhalt des öffentlichen RSA-Schlüssels zu prüfen.

    iwhooge@iwhooge-mac ~ % cat ~/.oci/4-4-2023-rsa-key-public.pem
    
  12. Prüfen Sie den Inhalt des öffentlichen RSA-Schlüssels.

    ----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA52+LJ+gp3MAJGtXTeQ/d
    XXX
    mtHVtjLM1ftjYlaRSG5Xl/xdKMC8LH0bxpy3XXzLmDrYCP3LrhrIG8Xmuzsji6Hw
    TQIDAQAB
    -----END PUBLIC KEY-----
    iwhooge@iwhooge-mac ~ %
    

image

Aufgabe 2.4: Lokale SSH-Schlüssel für Bastionhostauthentifizierung generieren

Außerdem müssen Sie lokale SSH-Schlüssel erstellen, um sich beim Bastionhost zu authentifizieren. Dies ist ein weiterer Schlüssel, den wir für die Authentifizierung mit der OCI-Konsole (API) verwenden.

  1. Führen Sie den folgenden Befehl aus, um das Verzeichnis in Ihr SSH-Verzeichnis zu wechseln.

    iwhooge@iwhooge-mac ~ % cd ~/.ssh/
    
  2. Führen Sie den folgenden Befehl aus, um zu prüfen, ob Sie über einen öffentlichen und privaten SSH-Schlüssel verfügen, der verwendet werden kann.

    iwhooge@iwhooge-mac .ssh % ls -l -a
    
  3. Beachten Sie, dass kein SSH-Schlüsselpaar vorhanden ist. In diesem Tutorial generieren wir ein neues SSH-Schlüsselpaar.

    total 16
    drwx------   4 iwhooge  staff   128 Feb  8 12:48 .
    drwxr-x---+ 30 iwhooge  staff   960 Apr  4 11:03 ..
    -rw-------@  1 iwhooge  staff  2614 Feb 28 11:49 known_hosts
    -rw-------@  1 iwhooge  staff  1773 Feb  8 12:48 known_hosts.old
    
  4. Führen Sie den folgenden Befehl aus, um ein neues SSH-Schlüsselpaar zu generieren.

    iwhooge@iwhooge-mac .ssh % ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/iwhooge/.ssh/id_rsa):
    
  5. Lassen Sie die Passphrase leer, und klicken Sie auf EINGABETASTE.

    Enter passphrase (empty for no passphrase):
    
  6. Lassen Sie die Passphrase leer, und klicken Sie auf EINGABETASTE.

    Enter same passphrase again:
    
  7. Beachten Sie, dass das neue SSH-Schlüsselpaar in den angegebenen Speicherorten gespeichert wird.

    Your identification has been saved in /Users/iwhooge/.ssh/id_rsa
    Your public key has been saved in /Users/iwhooge/.ssh/id_rsa.pub
    The key fingerprint is:
    SHA256:2E7jD5Cvt0C3pArp+u5Q3BWDBDwfbtxp5T6eez75DPc iwhooge@iwhooge-mac
    The key's randomart image is:
    +---[RSA 3072]----+
    | ..o..o          |
    |  o o  o.        |
    |   = o.+         |
    | . .=.++.        |
    |  o...=.S        |
    | . . . Xoo       |
    |. o   o.*o...    |
    | o . . o+o++ .   |
    |.== . ..o=ooo E  |
    +----[SHA256]-----+
    iwhooge@iwhooge-mac .ssh %
    

image

Aufgabe 2.5: API-Schlüssel in der OCI-Konsole erstellen und Public Key zu Ihrem OCI-Account hinzufügen

Aufgabe 2.6: Erforderliche Informationen für Ihre OCI-Umgebung erfassen

Wir müssen einige Informationen für unsere Terraform-Dateien zur OCI-Authentifizierung mit der API erfassen. Die meisten Informationen werden bereits in der API-Authentifizierungskonfigurationsdatei bereitgestellt, die in Aufgabe 2.5 erstellt wurde.

Dies ist das Compartment, in dem Sie Ihre Kubernetes-Cluster bereitstellen.

Aufgabe 3: Terraform-Skripte und -Dateien erstellen

Wir haben die Vorbereitung auf unserem lokalen Rechner abgeschlossen, einschließlich dem Einrichten von Terraform-, RSA- und SSH-Schlüsseln, dem Konfigurieren der OCI-Umgebung (API) und dem Sammeln aller wichtigen Informationen, die zur Authentifizierung von Terraform mit OCI erforderlich sind. Erstellen Sie jetzt das Terraform-Skript.

Zuerst müssen wir prüfen, ob wir die Regionen abonniert haben, in denen wir unsere Kubernetes-Cluster bereitstellen. Wenn das Deployment in einer nicht abonnierten Region erfolgt, wird ein Authentifizierungsfehler angezeigt, und das Deployment verläuft nicht erfolgreich.

Für dieses Tutorial verwenden wir die folgenden drei Regionen für die Bereitstellung: Amsterdam, San Jose und Dubai.

Aufgabe 4: Terraform- und OKE-Cluster zusammen mit den erforderlichen Ressourcen (VCN, Subnetze, DRGs, RPCs usw.) ausführen

Wir haben die Terraform-Skripte mit dem richtigen Parameter eingerichtet. Führen Sie jetzt die Skripte aus, und erstellen Sie unsere Umgebung aus drei Kubernetes-Clustern in drei verschiedenen Regionen.

Die folgende Abbildung zeigt, von wo aus Sie die SSH-Verbindung zum Bastionhost und vom Bastionhost zum Operatorhost einrichten.

image

Jetzt haben wir drei Kubernetes-Cluster in den verschiedenen Regionen bereitgestellt. Sehen Sie sich die bereitgestellten Ressourcen auf hoher Ebene in der OCI-Konsole an.

Aufgabe 5: RPC-Verbindungen herstellen

Stellen Sie die Verbindungen zwischen den verschiedenen RPC-Anschlüssen her. Lassen Sie uns zunächst diese in den verschiedenen Regionen überprüfen.

Alle RPC-OCIDs erfassen

Wiederholen Sie den Prozess für alle Remote-Peering-Verbindungen in allen Regionen auf allen DRGs, und speichern Sie sie.

Jetzt haben wir die folgenden OCIDs für Remote-Peering-Verbindungen erfasst:

RPC-Peerings erstellen

Konfigurieren Sie das Peering auf C1 für C2 und C3. Dadurch wird das Peering für C1 auf der Seite C2 und C3 automatisch konfiguriert. Wenn Sie das Peering für C2 auf C3 konfigurieren, wird das Peering für C2 auf der Seite C3 automatisch konfiguriert.

Konfigurieren Sie die C1 Peerings (Amsterdam).

Konfigurieren Sie das C2-Peering (San Jose).

Aufgabe 6: Mit der Netzwerkvisualisierung die RPC-Verbindungen prüfen

Führen Sie eine zusätzliche Prüfung durch, um sicherzustellen, dass die RPC korrekt mit Network Visualizer konfiguriert wurde.

  1. Klicken Sie in der oberen linken Ecke auf das Hamburger-Menü.
  2. Klicken Sie auf Networking.
  3. Klicken Sie auf Netzwerkansicht.

image

  1. Stellen Sie sicher, dass Sie mit der Region Amsterdam verbunden sind.
  2. Die Region Amsterdam ist c1.
  3. Beachten Sie die Verbindungen von Amsterdam nach San Jose und Dubai.

image

  1. Stellen Sie sicher, dass Sie mit der Region San Jose verbunden sind.
  2. Beachten Sie, dass die Region San Jose c2 ist.
  3. Beachten Sie die Verbindungen von San Jose nach Amsterdam und Dubai.

image

  1. Stellen Sie sicher, dass Sie mit der Region Dubai verbunden sind.
  2. Beachten Sie, dass die Region Dubai c3 ist.
  3. Beachten Sie die Verbindungen von Dubai nach Amsterdam und San Jose.

image

Aufgabe 7: Funktion der Konnektivität mit der Bastion und dem Operator prüfen

Wir haben die Kubernetes-Cluster (in allen drei verschiedenen Regionen) erstellt und die Regionen mit RPC verbunden. Mit dem Operatorhost können wir jetzt prüfen, ob der Operator die Kubernetes-Cluster verwalten kann.

  1. Führen Sie den folgenden Befehl aus (der nach Abschluss des Befehls terraform plan angegeben wurde).

    Last login: Fri Apr  5 09:10:01 on ttys000
    iwhooge@iwhooge-mac ~ % ssh -o ProxyCommand='ssh -W %h:%p -i ~/.ssh/id_rsa opc@143.47.183.243' -i ~/.ssh/id_rsa opc@10.1.0.12
    Activate the web console with: systemctl enable --now cockpit.socket
    Last login: Fri Apr  5 07:34:13 2024 from 10.1.0.2
    [opc@o-tmcntm ~]$
    
  2. Führen Sie den folgenden Befehl aus, der mit einer for-Schleife durch jedes Kubernetes-Cluster (c1, c2 und c3) iteriert und den Status der Worker-Knoten abruft.

    [opc@o-tmcntm ~]$ for c in c1 c2 c3; do
    >   kubectx $c
    >   kubectl get nodes
    > done
    Switched to context "c1".
    NAME           STATUS   ROLES   AGE   VERSION
    10.1.113.144   Ready    node    76m   v1.28.2
    10.1.125.54    Ready    node    76m   v1.28.2
    Switched to context "c2".
    NAME          STATUS   ROLES   AGE   VERSION
    10.2.65.174   Ready    node    78m   v1.28.2
    10.2.98.54    Ready    node    78m   v1.28.2
    Switched to context "c3".
    NAME           STATUS   ROLES   AGE   VERSION
    10.3.118.212   Ready    node    73m   v1.28.2
    10.3.127.119   Ready    node    73m   v1.28.2
    [opc@o-tmcntm ~]$
    

    Führen Sie den folgenden Befehl im Terminal aus, nachdem Sie eine Verbindung zum Operatorhost hergestellt haben.

    for c in c1 c2 c3; do
      kubectx $c
      kubectl get nodes
    done
    
  3. Beachten Sie die Ausgabe aller Knoten für alle Kubernetes-Cluster, die mit dem Terraform-Skript bereitgestellt wurden.

image

Führen Sie den Befehl kubectl get all -n kube-system mit der Schleife for aus.

[opc@o-tmcntm ~]$ for c in c1 c2 c3; do
>   kubectx $c
>   kubectl get all -n kube-system
> done
Switched to context "c1".
NAME                                       READY   STATUS    RESTARTS       AGE
pod/coredns-844b4886f-8b4k6                1/1     Running   0              118m
pod/coredns-844b4886f-g8gbm                1/1     Running   0              122m
pod/csi-oci-node-5xzdg                     1/1     Running   0              119m
pod/csi-oci-node-nsdg4                     1/1     Running   1 (118m ago)   119m
pod/kube-dns-autoscaler-74f78468bf-l9644   1/1     Running   0              122m
pod/kube-flannel-ds-5hsp7                  1/1     Running   0              119m
pod/kube-flannel-ds-wk7xl                  1/1     Running   0              119m
pod/kube-proxy-gpvv2                       1/1     Running   0              119m
pod/kube-proxy-vgtf7                       1/1     Running   0              119m
pod/proxymux-client-nt59j                  1/1     Running   0              119m
pod/proxymux-client-slk9j                  1/1     Running   0              119m

NAME               TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
service/kube-dns   ClusterIP   10.101.5.5   <none>        53/UDP,53/TCP,9153/TCP   122m

NAME                                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                                 AGE
daemonset.apps/csi-oci-node               2         2         2       2            2           <none>                                        122m
daemonset.apps/kube-flannel-ds            2         2         2       2            2           <none>                                        122m
daemonset.apps/kube-proxy                 2         2         2       2            2           beta.kubernetes.io/os=linux                   122m
daemonset.apps/node-termination-handler   0         0         0       0            0           oci.oraclecloud.com/oke-is-preemptible=true   122m
daemonset.apps/nvidia-gpu-device-plugin   0         0         0       0            0           <none>                                        122m
daemonset.apps/proxymux-client            2         2         2       2            2           node.info.ds_proxymux_client=true             122m

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/coredns               2/2     2            2           122m
deployment.apps/kube-dns-autoscaler   1/1     1            1           122m

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/coredns-844b4886f                2         2         2       122m
replicaset.apps/kube-dns-autoscaler-74f78468bf   1         1         1       122m
Switched to context "c2".
NAME                                       READY   STATUS    RESTARTS       AGE
pod/coredns-84bd9cd884-4fqvr               1/1     Running   0              120m
pod/coredns-84bd9cd884-lmgz2               1/1     Running   0              124m
pod/csi-oci-node-4zl9l                     1/1     Running   0              122m
pod/csi-oci-node-xjzfd                     1/1     Running   1 (120m ago)   122m
pod/kube-dns-autoscaler-59575f8674-m6j2z   1/1     Running   0              124m
pod/kube-flannel-ds-llhhq                  1/1     Running   0              122m
pod/kube-flannel-ds-sm6fg                  1/1     Running   0              122m
pod/kube-proxy-7ppw8                       1/1     Running   0              122m
pod/kube-proxy-vqfgb                       1/1     Running   0              122m
pod/proxymux-client-cnkph                  1/1     Running   0              122m
pod/proxymux-client-k5k6n                  1/1     Running   0              122m

NAME               TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
service/kube-dns   ClusterIP   10.102.5.5   <none>        53/UDP,53/TCP,9153/TCP   124m

NAME                                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                                 AGE
daemonset.apps/csi-oci-node               2         2         2       2            2           <none>                                        124m
daemonset.apps/kube-flannel-ds            2         2         2       2            2           <none>                                        124m
daemonset.apps/kube-proxy                 2         2         2       2            2           beta.kubernetes.io/os=linux                   124m
daemonset.apps/node-termination-handler   0         0         0       0            0           oci.oraclecloud.com/oke-is-preemptible=true   124m
daemonset.apps/nvidia-gpu-device-plugin   0         0         0       0            0           <none>                                        124m
daemonset.apps/proxymux-client            2         2         2       2            2           node.info.ds_proxymux_client=true             124m

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/coredns               2/2     2            2           124m
deployment.apps/kube-dns-autoscaler   1/1     1            1           124m

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/coredns-84bd9cd884               2         2         2       124m
replicaset.apps/kube-dns-autoscaler-59575f8674   1         1         1       124m
Switched to context "c3".
NAME                                       READY   STATUS    RESTARTS   AGE
pod/coredns-56c7ffc89c-jt85k               1/1     Running   0          115m
pod/coredns-56c7ffc89c-lsqcg               1/1     Running   0          121m
pod/csi-oci-node-gfswn                     1/1     Running   0          116m
pod/csi-oci-node-xpwbp                     1/1     Running   0          116m
pod/kube-dns-autoscaler-6b69bf765c-fxjvc   1/1     Running   0          121m
pod/kube-flannel-ds-2sqbk                  1/1     Running   0          116m
pod/kube-flannel-ds-l7sdz                  1/1     Running   0          116m
pod/kube-proxy-4qcmb                       1/1     Running   0          116m
pod/kube-proxy-zcrk4                       1/1     Running   0          116m
pod/proxymux-client-4lgg7                  1/1     Running   0          116m
pod/proxymux-client-zbcrg                  1/1     Running   0          116m

NAME               TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
service/kube-dns   ClusterIP   10.103.5.5   <none>        53/UDP,53/TCP,9153/TCP   121m

NAME                                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                                 AGE
daemonset.apps/csi-oci-node               2         2         2       2            2           <none>                                        122m
daemonset.apps/kube-flannel-ds            2         2         2       2            2           <none>                                        121m
daemonset.apps/kube-proxy                 2         2         2       2            2           beta.kubernetes.io/os=linux                   121m
daemonset.apps/node-termination-handler   0         0         0       0            0           oci.oraclecloud.com/oke-is-preemptible=true   121m
daemonset.apps/nvidia-gpu-device-plugin   0         0         0       0            0           <none>                                        122m
daemonset.apps/proxymux-client            2         2         2       2            2           node.info.ds_proxymux_client=true             122m

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/coredns               2/2     2            2           121m
deployment.apps/kube-dns-autoscaler   1/1     1            1           121m

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/coredns-56c7ffc89c               2         2         2       121m
replicaset.apps/kube-dns-autoscaler-6b69bf765c   1         1         1       121m
[opc@o-tmcntm ~]$

Aufgabe 8: OKE-Cluster mit Terraform löschen

Wir haben Terraform für unser Deployment verwendet, sodass wir das vollständige Deployment auch mit Terraform löschen können.

Danksagungen

Weitere Lernressourcen

Lernen Sie andere Übungen auf docs.oracle.com/learn kennen, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube Channel zu. Außerdem können Sie education.oracle.com/learning-explorer besuchen, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.