Creazione di script cloud-init per i nodi autogestiti
Scopri come creare lo script cloud-init per un nodo autogestito che desideri aggiungere a un cluster avanzato creato con Kubernetes Engine.
Quando si crea un nodo autogestito da aggiungere a un cluster avanzato, è necessario fornire uno script di cloud-init che specifichi l'endpoint privato API Kubernetes del cluster e il certificato CA con codifica base64.
Per creare lo script cloud-init per un nodo autogestito, effettuare le operazioni riportate di seguito.
- Ottenere l'endpoint privato dell'API Kubernetes del cluster avanzato a cui si desidera aggiungere il nodo autogestito utilizzando la console o l'interfaccia CLI:
- Uso di Console:
- Aprire il menu di navigazione e selezionare Developer Services. In Container e artifact, selezionare Cluster Kubernetes (OKE).
- Nella pagina Elenco cluster, fare clic sul nome del cluster avanzato al quale si desidera aggiungere il nodo autogestito.
Nella pagina Dettagli cluster viene visualizzato l'endpoint privato API Kubernetes, incluso il numero di porta. ad esempio
10.0.103.170:6443
- Prendere nota dell'endpoint privato API Kubernetes del cluster, senza il numero di porta. Ad esempio
10.0.103.170
- Uso dell'interfaccia CLI:
- Immettere:
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^'
Il comando
grep
estrae l'URL dell'endpoint del cluster dall'output del comandoce cluster create-kubeconfig
. Il comandosed
rimuove le informazioni sul protocollo e sulla porta dall'URL dell'endpoint del cluster per lasciare solo l'indirizzo IP. - Prendere nota dell'endpoint privato API Kubernetes del cluster. Ad esempio
10.0.103.170
- Immettere:
- Uso di Console:
- Ottenere il certificato CA con codifica base64 del cluster dal file kubeconfig del cluster utilizzando la console o l'interfaccia CLI:
- Uso di Console:
- Nella pagina Dettagli cluster prendere nota dell'OCID del cluster. Ad esempio,
ocid1.cluster.oc1.phx.aaaaaaaa______ivq
- Fare clic su Accedi a cluster.
- Nella finestra di dialogo Accedi al cluster fare clic su Accesso a Cloud Shell, quindi su Avvia Cloud Shell.
- Nella finestra Cloud Shell, immettere il comando seguente:
oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"
Dove:
<cluster-ocid>
è il valore del parametro--cluster-id
mostrato nel passo 2 della finestra di dialogo Accedi al cluster.<region-identifier>
è il valore del parametro--region
mostrato nel passo 2 della finestra di dialogo Accedi al cluster.
Ad esempio:
oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.aaaaaaaa______ivq --region us-phoenix-1 --file - | grep -oE "LS0t.*"
Il certificato CA con codifica base64 viene visualizzato nella finestra Cloud Shell come una stringa alfanumerica lunga che inizia con i caratteri
LS0t
. - Prendere nota del certificato CA con codifica base64 del cluster.
- Nella pagina Dettagli cluster prendere nota dell'OCID del cluster. Ad esempio,
- Uso dell'interfaccia CLI:
- Immettere quanto riportato di seguito.
oci ce cluster create-kubeconfig --cluster-id <cluster-ocid> --region <region-identifier> --file - | grep -oE "LS0t.*"
Il certificato CA con codifica base64 viene visualizzato nella finestra Cloud Shell come una stringa alfanumerica lunga che inizia con i caratteri
LS0t
. - Prendere nota del certificato CA con codifica base64 del cluster.
- Immettere quanto riportato di seguito.
- Uso di Console:
- Creare lo script cloud-init come indicato di seguito.
- In un editor di testo a scelta, creare un nuovo file di testo.
- Copiare e incollare lo script riportato di seguito nel file
#!/usr/bin/env bash bash /etc/oke/oke-install.sh \ --apiserver-endpoint "<cluster-endpoint>" \ --kubelet-ca-cert "<base64-encoded-certificate>"
Dove:
<cluster-endpoint>
è l'endpoint privato API Kubernetes del cluster ottenuto in precedenza (senza il numero di porta). Ad esempio10.0.103.170
<base64-encoded-certificate>
è il certificato CA codificato in base64 del cluster ottenuto in precedenza (a partire dai caratteriLS0t
).
Ad esempio:
#!/usr/bin/env bash bash /etc/oke/oke-install.sh \ --apiserver-endpoint "10.0.103.170" \ --kubelet-ca-cert "LS0t______UtLS0tLQo="
- Salvare il file di testo da utilizzare quando si crea il nodo autogestito.