Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Guia de início rápido da RK-API

Você pode acessar os recursos do Rancher através da API do Kubernetes. Este guia ajuda você a começar a usar esta API como um usuário do Rancher.

  1. No canto superior esquerdo, clique em ☰ > Configurações Globais.

  2. Encontre e copie o endereço no campo server-url.

  3. rancher-admin/users/settings/api-keys.adoc#_creating_an_api_key[Crie] uma chave de API do Rancher sem escopo.

Uma chave de API do Rancher sem escopo concede acesso irrestrito a todos os recursos que o usuário pode acessar. Para evitar uso não autorizado, esta chave deve ser armazenada com segurança e rotacionada frequentemente.

  1. Crie um arquivo kubeconfig.yaml. Substitua $SERVER_URL pela URL do servidor e $API_KEY pela sua chave de API do Rancher:

     apiVersion: v1
     kind: Config
     clusters:
     - name: "rancher"
       cluster:
         server: "$SERVER_URL"
    
     users:
     - name: "rancher"
       user:
         token: "$API_KEY"
    
     contexts:
     - name: "rancher"
       context:
         user: "rancher"
         cluster: "rancher"
    
     current-context: "rancher"

Você pode usar este arquivo com qualquer ferramenta compatível, como kubectl ou client-go. Para uma demonstração rápida, veja o exemplo kubectl.

Para mais informações sobre como lidar com configurações de certificado mais complexas, veja Especificando Certificados CA.

Para mais informações sobre as opções de kubeconfig disponíveis, veja a documentação upstream.

Exemplo de API kubectl

Neste exemplo, mostraremos como usar kubectl para criar um projeto, seguido pela exclusão dele. Para uma lista de outros recursos do Rancher disponíveis, consulte a página Referência da API.

Neste momento, nem todos os recursos do Rancher estão disponíveis por meio da API do Kubernetes do Rancher.

  1. Defina sua variável de ambiente KUBECONFIG para o arquivo kubeconfig que você acabou de criar:

  export KUBECONFIG=$(pwd)/kubeconfig.yaml
  1. Use kubectl explain para visualizar os campos disponíveis para projetos, ou subcampos complexos de recursos:

  kubectl explain projects
  kubectl explain projects.spec

Nem todos os recursos podem ter saída detalhada.

  1. Adicione o seguinte conteúdo a um arquivo chamado project.yaml:

  apiVersion: management.cattle.io/v3
  kind: Project
  metadata:
    # name should be unique across all projects in every cluster
    name: p-abc123
    # generateName can be used instead of `name` to randomly generate a name.
    # generateName: p-
    # namespace should match spec.ClusterName.
    namespace: local
  spec:
    # clusterName should match `metadata.Name` of the target cluster.
    clusterName: local
    description: Example Project
    # displayName is the human-readable name and is visible from the UI.
    displayName: Example
  1. Crie o projeto:

  kubectl create -f project.yaml
  1. Exclua o projeto:

Como você exclui o projeto depende de como você criou o nome do projeto.

A. Se você usou name ao criar o projeto:

```bash
kubectl delete -f project.yaml
```

B. Se você usou generateName:

Replace `$PROJECT_NAME` with the randomly generated name of the project displayed by Kubectl after you created the project.

```bash
kubectl delete project $PROJECT_NAME -n local
```

Especificando Certificados CA

Para garantir que suas ferramentas possam reconhecer os certificados CA do Rancher, a maioria das configurações requer modificações adicionais no modelo acima.

  1. No canto superior esquerdo, clique em ☰ > Configurações Globais.

  2. Encontre e copie o valor no campo ca-certs.

  3. Salve o valor em um arquivo chamado rancher.crt.

Se sua instância do Rancher estiver sendo protegida por proxy por outro serviço, você deve extrair o certificado que o serviço está usando e adicioná-lo ao arquivo kubeconfig, conforme demonstrado na etapa 5.
  1. Os seguintes comandos convertem rancher.crt para saída base64, removem todas as quebras de linha e atualizam o cluster no kubeconfig com o certificado, finalizando removendo o arquivo rancher.crt:

  export KUBECONFIG=$PATH_TO_RANCHER_KUBECONFIG
  kubectl config set clusters.rancher.certificate-authority-data $(cat rancher.crt | base64 -i - | tr -d '\n')
  rm rancher.crt
  1. (Opcional) Se você usar certificados autoassinados que não são confiáveis pelo seu sistema, você pode definir a opção insegura no seu kubeconfig com kubectl:

Esta opção não deve ser usada em produção, pois representa um risco de segurança.

  export KUBECONFIG=$PATH_TO_RANCHER_KUBECONFIG
  kubectl config set clusters.rancher.insecure-skip-tls-verify true

Se sua instância do Rancher estiver sendo protegida por proxy por outro serviço, você deve extrair o certificado que o serviço está usando e adicioná-lo ao arquivo kubeconfig, conforme demonstrado acima.