Selbstverwaltete Knoten erstellen

Erfahren Sie, wie Sie einen neuen selbstverwalteten Knoten erstellen und zu einem vorhandenen Cluster hinzufügen.

Mit dem Compute-Service erstellen Sie die Compute-Instanz, auf der ein selbstverwalteter Knoten ausgeführt werden soll. Nachdem Sie den selbstverwalteten Knoten erstellt haben, fügen Sie ihn einem vorhandenen erweiterten Cluster hinzu.

Wenn ein selbstverwalteter Knoten das Flannel-CNI-Plug-in für Podnetworking verwenden soll, können Sie den selbstverwalteten Knoten mit der Konsole, der CLI und der API erstellen. Wenn ein selbstverwalteter Knoten das OCI-VCN-native Podnetzwerk-CNI-Plug-in für Podnetze verwenden soll, können Sie den selbstverwalteten Knoten mit der CLI und der API erstellen.

Hinweis

Informationen zum Erstellen selbstverwalteter Knoten, auf denen Ubuntu ausgeführt wird, finden Sie unter Ubuntu auf Worker-Knoten mit benutzerdefinierten Images ausführen.
  • So erstellen Sie einen selbstverwalteten Knoten mit der Konsole:

    1. Erstellen Sie das cloud-init-Skript mit dem privaten Kubernetes-API-Endpunkt und dem base64-codierten CA-Zertifikat des erweiterten Clusters, dem Sie den selbstverwalteten Knoten hinzufügen möchten. Siehe Cloud-init-Skripte für selbstverwaltete Knoten erstellen.
    2. Erstellen Sie eine neue Compute-Instanz, um den selbstverwalteten Knoten zu hosten:
      1. Öffnen Sie das Navigationsmenü , und wählen Sie Compute aus. Wählen Sie unter Compute die Option Instanzen aus.
      2. Befolgen Sie die Anweisungen in der Compute-Servicedokumentation, um eine neue Compute-Instanz zu erstellen. Beachten Sie, dass geeignete Policys vorhanden sein müssen, damit die neue Compute-Instanz dem erweiterten Cluster beitreten kann. Siehe Dynamische Gruppe und Policy für selbstverwaltete Knoten erstellen.
      3. Klicken Sie im Abschnitt Image und Ausprägung auf Image ändern.
      4. Klicken Sie auf Meine Images, wählen Sie die Option Image-OCID aus, und geben Sie die OCID des zu verwendenden OKE-Images Oracle Linux 7 (OL7) oder Oracle Linux 8 (OL8) ein. Siehe Imageanforderungen.
      5. Klicken Sie auf Erweiterte Optionen anzeigen, und wählen Sie auf der Registerkarte Management die Option Cloud-init-Skript einfügen aus.
      6. Kopieren Sie das cloud-init-Skript mit dem privaten Kubernetes-API-Endpunkt und dem base64-codierten CA-Zertifikat, und fügen Sie es in das Feld Cloud-init-Skript ein. Siehe Cloud-init-Skripte für selbstverwaltete Knoten erstellen.
      7. Klicken Sie auf Erstellen, um die Compute-Instanz zum Hosten des selbstverwalteten Knotens zu erstellen.

      Wenn die Compute-Instanz erstellt wird, wird sie als selbstverwalteter Knoten mit dem angegebenen Kubernetes-API-Endpunkt zum Cluster hinzugefügt.

    3. Prüfen Sie, ob der selbstverwaltete Knoten zum Kubernetes-Cluster hinzugefügt wurde, und bestätigen Sie den Bereitschaftsstatus des Knotens, indem Sie Folgendes eingeben:
      kubectl get nodes

      Beispiel:

      kubectl get nodes
      
      NAME           STATUS   ROLES    AGE   VERSION
      10.0.103.170   Ready    <none>   40m   v1.25.4
    4. Bestätigen Sie, dass dem Knoten Labels hinzugefügt und wie erwartet festgelegt wurden, indem Sie Folgendes eingeben:
      kubectl get node <node-name> -o json | jq '.metadata.labels'

      Beispiel

      kubectl get node 10.0.103.170 -o json | jq '.metadata.labels'
      
      {
      ...
      "displayName": "oke-self-managed-node",
      "oci.oraclecloud.com/node.info.byon": "true",
      ...
      }
  • Verwenden Sie den Befehl oci Compute instance launch und die erforderlichen Parameter, um einen selbstverwalteten Knoten zu erstellen:

    oci compute instance launch --availability-domain <availability-domain> --compartment-id <compartment-ocid> --shape <shape> --subnet-id <subnet-ocid> [OPTIONS]

    Eine vollständige Liste der Kennzeichen und Variablenoptionen für CLI-Befehle finden Sie in der Befehlszeilenreferenz.

    Tipps:

    • Geben Sie den Namen der Datei an, die das cloud-init-Skript enthält (erforderlich, um die Compute-Instanz dem Cluster als selbstverwalteten Knoten hinzuzufügen), und verwenden Sie den Parameter --user-data-file des Befehls oci Compute instance launch. Siehe Cloud-init-Skripte für selbstverwaltete Knoten erstellen.
    • Geben Sie das Image an, das zum Erstellen des selbstverwalteten Knotens verwendet werden soll, indem Sie den Parameter --image-id des Befehls oci Compute instance launch festlegen. Siehe Imageanforderungen.
    • Wenn der selbstverwaltete Knoten das OCI-VCN-native Podnetzwerk-CNI-Plug-in für Podnetworking verwenden soll, fügen Sie den Parameter --metadata wie folgt zum Befehl oci compute instance launch hinzu:
      --metadata '{"oke-native-pod-networking": "true", "oke-max-pods": "<max-pods-per-node>", "pod-subnets": "<pod-subnet-ocid>", "pod-nsgids": "<nsg-ocid>"}'

      Hierbei gilt:

      • "oke-native-pod-networking": "true" gibt an, dass der selbstverwaltete Knoten das OCI-VCN-native Podnetworking-CNI-Plug-in für das Podnetzwerk verwenden soll.
      • "oke-max-pods": "<max-pods-per-node>" gibt die maximale Anzahl von Pods an, die Sie auf dem selbstverwalteten Knoten ausführen möchten.
      • "pod-subnets": "<pod-subnet-ocid>" gibt die OCID des Podsubnetzes an, das die Kommunikation zwischen Pods und den direkten Zugriff auf einzelne Pods mit privaten Pod-IP-Adressen unterstützt. Das Podsubnetz muss ein privates Subnetz sein.
      • "pod-nsgids": "<nsg-ocid>" gibt optional die OCID einer oder mehrerer Netzwerksicherheitsgruppen (NSGs) an, die Sicherheitsregeln enthalten, um den Netzwerktraffic an Pods weiterzuleiten. Wenn Sie mehrere NSGs angeben, verwenden Sie eine durch Komma getrennte Liste im Format "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

      Weitere Informationen zum CNI-Plug-in für das OCI-VCN-native Podnetworking finden Sie unter CNI-Plug-in für OCI-VCN-natives Podnetworking für Podnetzwerk verwenden.

    • Wenn der selbstverwaltete Knoten ein Dual-Stack-Knoten IPv4/IPv6 sein soll (mit IPv4- und IPv6-Adressen), fügen Sie den Parameter --metadata wie folgt zum Befehl oci compute instance launch hinzu:
      --metadata '{"ip-families": "IPv4,IPv6"}'

    Beispiele:

    Beispiel 1: Befehl zum Erstellen eines selbstverwalteten Knotens, der das Flannel-CNI-Plug-in für Podnetworking verwendet.

    oci compute instance launch \
        --profile oc1 \
        --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \
        --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \
        --shape VM.Standard2.2 \
        --availability-domain zkJl:PHX-AD-1 \
        --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \
        --display-name smn \
        --user-data-file my-cloud-init-file \
        --ssh-authorized-keys-file my-ssh-key-file

    Beispiel 2: Befehl zum Erstellen eines selbstverwalteten Knotens, der das OCI-VCN-native Podnetworking-CNI-Plug-in für das Podnetzwerk verwendet.

    oci compute instance launch \
        --profile oc1 \
        --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \
        --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \
        --shape VM.Standard2.2 \
        --availability-domain zkJl:PHX-AD-1 \
        --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \
        --display-name smn-npn \
        --user-data-file my-cloud-init-file \
        --ssh-authorized-keys-file my-ssh-key-file \
        --metadata '{"oke-native-pod-networking": "true", 
          "oke-max-pods": "21", 
          "pod-subnets": "ocid1.subnet.oc1.phx.aaaaaaa______4wka"},
          "pod-nsgids": "ocid1.networksecuritygroup.oc1.phx.aaaaaaa______qfca,ocid1.networksecuritygroup.oc1.phx.aaaaaaa______ohea"'

    Beispiel 3: Alternativer Befehl zum Erstellen eines selbstverwalteten Knotens, der das OCI-VCN-native Podnetworking-CNI-Plug-in für Podnetworking verwendet.

    oci compute instance launch \
        --profile oc1 \
        --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \
        --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \
        --shape VM.Standard2.2 \
        --availability-domain zkJl:PHX-AD-1 \
        --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \
        --display-name smn-npn \
        --metadata '{"ssh_authorized_keys": "ssh-rsa AAAAB3NzaC1yc2EAAAA...",
          "oke-native-pod-networking": "true",
          "oke-max-pods": "21",
          "pod-subnets": "ocid1.subnet.oc1.phx.aaaaaaa______4wka,ocid1.subnet.oc1.phx.aaaaaaa______hzia",
          "pod-nsgids": "ocid1.networksecuritygroup.oc1.phx.aaaaaaa______qfca,ocid1.networksecuritygroup.oc1.phx.aaaaaaa______",
          "user_data": "IyEvdXNyL2Jpbi9lbnYgYmFzaA..."}'
  • Führen Sie den Vorgang LaunchInstance aus, um einen selbstverwalteten Knoten zu erstellen.

    Wenn der selbstverwaltete Knoten das OCI-VCN-native Podnetzwerk-CNI-Plug-in für Podnetworking verwenden soll, geben Sie mit dem Attribut metadata Werte für die folgenden Schlüssel an:

    • oke-native-pod-networking: Wählen Sie "true" aus, um anzugeben, dass der selbstverwaltete Knoten das CNI-Plug-in für das OCI-VCN-native Podnetworking für das Podnetzwerk verwenden soll.
    • oke-max-pods: Die maximale Anzahl an Pods, die Sie auf dem selbstverwalteten Knoten ausführen möchten.
    • Podsubnetze: Die OCID des Podsubnetzes, das die Kommunikation zwischen Pods und den direkten Zugriff auf einzelne Pods über private Pod-IP-Adressen unterstützt. Das Podsubnetz muss ein privates Subnetz sein.
    • pod-nsgids: (optional) Die OCID einer oder mehrerer Netzwerksicherheitsgruppen (NSGs), die Sicherheitsregeln enthalten, um den Netzwerktraffic an Pods weiterzuleiten. Wenn Sie mehrere NSGs angeben, verwenden Sie eine durch Komma getrennte Liste im Format "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

    Weitere Informationen zum CNI-Plug-in für das OCI-VCN-native Podnetworking finden Sie unter CNI-Plug-in für OCI-VCN-natives Podnetworking für Podnetzwerk verwenden.