Cloud-init-Skripte für selbstverwaltete Knoten erstellen

Erfahren Sie, wie Sie das cloud-init-Skript für einen selbstverwalteten Knoten erstellen, den Sie einem erweiterten Cluster hinzufügen möchten, das mit der Kubernetes-Engine erstellt wurde.

Wenn Sie einen selbstverwalteten Knoten erstellen, der einem erweiterten Cluster hinzugefügt werden soll, müssen Sie ein cloud-init-Skript bereitstellen, das den privaten Kubernetes-API-Endpunkt und das base64-codierte CA-Zertifikat des Clusters angibt.

So erstellen Sie das cloud-init-Skript für einen selbstverwalteten Knoten:

  1. Rufen Sie den privaten Kubernetes-API-Endpunkt des erweiterten Clusters ab, dem Sie den selbstverwalteten Knoten mit der Konsole oder der CLI hinzufügen möchten:
    • Konsole verwenden:
      1. Öffnen Sie das Navigationsmenü , und wählen Sie Entwicklerservices aus. Wählen Sie unter Container und Artefakte die Option Kubernetes-Cluster (OKE) aus.
      2. Klicken Sie auf der Seite Clusterliste auf den Namen des erweiterten Clusters, dem Sie den selbstverwalteten Knoten hinzufügen möchten.

        Auf der Seite Clusterdetails wird der Private Endpunkt der Kubernetes-API angezeigt, einschließlich der Portnummer. Beispiel: 10.0.103.170:6443

      3. Notieren Sie sich den privaten Kubernetes-API-Endpunkt des Clusters ohne die Portnummer. Beispiel: 10.0.103.170
    • CLI verwenden:
      1. eingeben:
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --kube-endpoint PRIVATE_ENDPOINT --file - \
        | grep -oE "https://[0-9\.]+:6443" \
        | sed -E 's^https://([0-9\.]+):.*^\1^' 

        Der Befehl grep extrahiert die URL des Clusterendpunkts aus der Ausgabe des Befehls ce cluster create-kubeconfig. Der Befehl sed entfernt die Protokoll- und Portinformationen aus der URL des Clusterendpunkts, um nur die IP-Adresse zu erhalten.

      2. Notieren Sie sich den privaten Kubernetes-API-Endpunkt des Clusters. Beispiel: 10.0.103.170
  2. Rufen Sie das base64-codierte CA-Zertifikat des Clusters mit der Konsole oder der CLI aus der kubeconfig-Datei des Clusters ab:
    • Konsole verwenden:
      1. Notieren Sie sich auf der Seite Clusterdetails die OCID des Clusters. Beispiel: ocid1.cluster.oc1.phx.aaaaaaaa______ivq
      2. Klicken Sie auf Auf Cluster zugreifen.
      3. Klicken Sie im Dialogfeld Auf das Cluster zugreifen auf Cloud Shell-Zugriff, und klicken Sie auf Cloud Shell starten.
      4. Geben Sie im Cloud Shell-Fenster den folgenden Befehl ein:
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        Hierbei gilt:

        • <cluster-ocid> ist der Wert des Parameters --cluster-id, der in Schritt 2 im Dialogfeld Auf Cluster zugreifen angezeigt wird.
        • <region-identifier> ist der Wert des Parameters --region, der in Schritt 2 im Dialogfeld Auf Cluster zugreifen angezeigt wird.

        Beispiel:

        oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.aaaaaaaa______ivq --region us-phoenix-1 --file - | grep -oE "LS0t.*"

        Das base64-codierte CA-Zertifikat wird im Cloud Shell-Fenster als lange alphanumerische Zeichenfolge angezeigt, die mit den Zeichen LS0t beginnt.

      5. Notieren Sie sich das base64-codierte CA-Zertifikat des Clusters.
    • CLI verwenden:
      1. Geben Sie ein:
        oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"

        Das base64-codierte CA-Zertifikat wird im Cloud Shell-Fenster als lange alphanumerische Zeichenfolge angezeigt, die mit den Zeichen LS0t beginnt.

      2. Notieren Sie sich das base64-codierte CA-Zertifikat des Clusters.
  3. Erstellen Sie das cloud-init-Skript wie folgt:
    1. Erstellen Sie in einem Texteditor Ihrer Wahl eine neue Textdatei.
    2. Kopieren Sie das folgende Skript, und fügen Sie es in die Datei ein:
      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "<cluster-endpoint>" \
        --kubelet-ca-cert "<base64-encoded-certificate>"

      Hierbei gilt:

      • <cluster-endpoint> ist der private Kubernetes-API-Endpunkt des Clusters, den Sie zuvor (ohne Portnummer) abgerufen haben. Beispiel: 10.0.103.170
      • <base64-encoded-certificate> ist das base64-codierte CA-Zertifikat des Clusters, das Sie zuvor erhalten haben (ab LS0t).

      Beispiel:

      #!/usr/bin/env bash
      bash /etc/oke/oke-install.sh \
        --apiserver-endpoint "10.0.103.170" \
        --kubelet-ca-cert "LS0t______UtLS0tLQo="
    3. Speichern Sie die Textdatei zur Verwendung beim Erstellen des selbstverwalteten Knotens.