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:
- 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:
- Öffnen Sie das Navigationsmenü , und wählen Sie Entwicklerservices aus. Wählen Sie unter Container und Artefakte die Option Kubernetes-Cluster (OKE) aus.
- 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
- Notieren Sie sich den privaten Kubernetes-API-Endpunkt des Clusters ohne die Portnummer. Beispiel:
10.0.103.170
- CLI verwenden:
- 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 Befehlsce cluster create-kubeconfig
. Der Befehlsed
entfernt die Protokoll- und Portinformationen aus der URL des Clusterendpunkts, um nur die IP-Adresse zu erhalten. - Notieren Sie sich den privaten Kubernetes-API-Endpunkt des Clusters. Beispiel:
10.0.103.170
- eingeben:
- Konsole verwenden:
- Rufen Sie das base64-codierte CA-Zertifikat des Clusters mit der Konsole oder der CLI aus der kubeconfig-Datei des Clusters ab:
- Konsole verwenden:
- Notieren Sie sich auf der Seite Clusterdetails die OCID des Clusters. Beispiel:
ocid1.cluster.oc1.phx.aaaaaaaa______ivq
- Klicken Sie auf Auf Cluster zugreifen.
- Klicken Sie im Dialogfeld Auf das Cluster zugreifen auf Cloud Shell-Zugriff, und klicken Sie auf Cloud Shell starten.
- 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. - Notieren Sie sich das base64-codierte CA-Zertifikat des Clusters.
- Notieren Sie sich auf der Seite Clusterdetails die OCID des Clusters. Beispiel:
- CLI verwenden:
- 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. - Notieren Sie sich das base64-codierte CA-Zertifikat des Clusters.
- Geben Sie ein:
- Konsole verwenden:
- Erstellen Sie das cloud-init-Skript wie folgt:
- Erstellen Sie in einem Texteditor Ihrer Wahl eine neue Textdatei.
- 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 (abLS0t
).
Beispiel:
#!/usr/bin/env bash bash /etc/oke/oke-install.sh \ --apiserver-endpoint "10.0.103.170" \ --kubelet-ca-cert "LS0t______UtLS0tLQo="
- Speichern Sie die Textdatei zur Verwendung beim Erstellen des selbstverwalteten Knotens.