Adicione um cluster usando credenciais
Você pode adicionar um cluster para que ele fique disponível para ser gerenciado pelo Astra. A partir do lançamento do Astra 22,11, você pode adicionar um cluster com Astra Control Center e Astra Control Service.
A adição de um cluster não é necessária ao usar um serviço Kubernetes de um dos principais fornecedores de nuvem (AKS, EKS, GKE). |
Passo 1: Obtenha o arquivo kubeconfig
Você precisa obter uma cópia do arquivo kubconfig do administrador ou serviço do Kubernetes.
Passo 2: Prepare o arquivo kubeconfig
Antes de usar o arquivo kubeconfig, você deve executar as seguintes operações:
-
Converter arquivo do formato YAML para JSON:
Se você receber o arquivo kubeconfig formatado como YAML, você precisará convertê-lo para JSON.
-
Codificar JSON em base64:
Você deve codificar o arquivo JSON em base64.
Aqui está um exemplo de conversão do arquivo kubeconfig de YAML para JSON e depois codificá-lo em base64:
yq -o=json ~/.kube/config | base64
Passo 3: Selecione a nuvem
Execute o fluxo de trabalho "Liste as nuvens" e selecione a nuvem em que o cluster será adicionado.
A única nuvem que você pode selecionar é a nuvem privada. |
Passo 4: Crie uma credencial
Execute a seguinte chamada de API REST para criar uma credencial usando o arquivo kubeconfig.
Essa chamada de API REST usa o método e o endpoint a seguir.
Método HTTP | Caminho |
---|---|
POST |
/accounts/_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"
}
Passo 5: Adicione o cluster
Execute a seguinte chamada de API REST para adicionar o cluster à nuvem. O valor do credentialID
campo de entrada é obtido a partir da chamada API REST na etapa anterior.
Essa chamada de API REST usa o método e o endpoint a seguir.
Método HTTP | Caminho |
---|---|
POST |
/accounts//topology/v1/clouds/ /cloud_id/clusters |
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
}