Aggiungere un cluster utilizzando le credenziali
È possibile aggiungere un cluster in modo che sia disponibile per la gestione da parte di Astra. A partire dalla release Astra 22.11, è possibile aggiungere un cluster con Astra Control Center e Astra Control Service.
L'aggiunta di un cluster non è necessaria quando si utilizza un servizio Kubernetes di uno dei principali provider di cloud (AKS, EKS, GKE). |
Passo 1: Ottenere il file kubeconfig
È necessario ottenere una copia del file kubconfig dall'amministratore o dal servizio Kubernetes.
Fase 2: Preparare il file kubeconfig
Prima di utilizzare il file kubeconfig, eseguire le seguenti operazioni:
-
Converti file da formato YAML a JSON:
Se si riceve il file kubeconfig formattato come YAML, è necessario convertirlo in JSON.
-
Codifica JSON in base64:
È necessario codificare il file JSON in base64.
Di seguito viene riportato un esempio di conversione del file kubeconfig da YAML a JSON e di codifica in base64:
yq -o=json ~/.kube/config | base64
Passaggio 3: Selezionare il fumetto
Eseguire il flusso di lavoro "Elencare i cloud" e selezionare il cloud in cui verrà aggiunto il cluster.
L'unico cloud che puoi selezionare è il cloud privato. |
Passaggio 4: Creare una credenziale
Eseguire la seguente chiamata API REST per creare una credenziale utilizzando il file kubeconfig.
Questa chiamata API REST utilizza il metodo e l'endpoint seguenti.
Metodo HTTP | Percorso |
---|---|
POST |
/accounts/{account_id}/core/v1/credentials |
curl --request POST \
--location "https://astra.netapp.io/accounts/$ACCOUNT_ID/core/v1/credentials" \
--include \
--header "Accept: */*" \
--header "Authorization: Bearer $API_TOKEN" \
--data @JSONinput
{
"type" : "application/astra-credential",
"version" : "1.1",
"name" : "Cloud One",
"keyType" : "kubeconfig",
"keyStore" : {
"base64": encoded_kubeconfig
},
"valid" : "true"
}
Passaggio 5: Aggiungere il cluster
Eseguire la seguente chiamata API REST per aggiungere il cluster al cloud. Il valore di credentialID
Il campo di immissione viene ottenuto dalla chiamata API REST nel passaggio precedente.
Questa chiamata API REST utilizza il metodo e l'endpoint seguenti.
Metodo HTTP | Percorso |
---|---|
POST |
/accounts/{account_id}/topology/v1/cloud/{cloud_id}/cluster |
curl --request POST \
--location "https://astra.netapp.io/accounts/$ACCOUNT_ID/topology/v1/clouds/<CLOUD_ID>/clusters" \
--include \
--header "Accept: */*" \
--header "Authorization: Bearer $API_TOKEN" \
--data @JSONinput
{
"type" : "application/astra-cluster",
"version" : "1.1",
"credentialID": credential_id
}