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. Wählen Sie auf der Seite Clusterliste den Namen des erweiterten Clusters aus, dem Sie den selbstverwalteten Knoten hinzufügen möchten.

        Auf der Seite Clusterdetails wird der private Kubernetes-API-Endpunkt angezeigt, einschließlich der Portnummer. Zum 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. Wählen Sie Auf Cluster zugreifen aus.
      3. Wählen Sie im Dialogfeld Auf Cluster zugreifen die Option Cloud Shell-Zugriff aus, und wählen Sie Cloud Shell starten aus.
      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.