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 da API v3 SUSE Rancher Prime anterior

The v3 API is not supported and backwards compatibility is not guaranteed.

O Rancher v2.8.0 introduziu a API Kubernetes do Rancher (RK-API), que é a API suportada pelo Rancher. Esta página descreve a API v3. Para mais informações sobre o RK-API, consulte o guia rápido do RK-API e o guia de referência.

Como Usar a API

A API v3 anterior possui sua própria interface de usuário acessível a partir de um navegador web. Esta é uma maneira fácil de ver recursos, realizar ações e ver a equivalente curl ou a solicitação e resposta HTTP. Para acessá-la:

  1. Clique no seu avatar de usuário no canto superior direito.

  2. Clique em Conta e Chaves de API.

  3. Na seção Chaves de API, encontre o campo Endpoint da API e clique no link. O link se parece com https://<rancher_fqdn>/v3, onde <RANCHER_FQDN> é o Nome de Domínio Completo e Qualificado da sua implantação do Rancher.

Autenticação

As solicitações de API devem incluir informações de autenticação. A autenticação é feita com autenticação básica HTTP usando rancher-admin/users/settings/api-keys.adoc[chaves de API]. As chaves de API podem criar novos clusters e têm acesso a múltiplos clusters via /v3/clusters/. Funções de cluster e projeto se aplicam a essas chaves e restringem quais clusters e projetos a conta pode ver e quais ações pode realizar.

Por padrão, certos tokens de API em nível de cluster são gerados com tempo de vida infinito (ttl=0). Em outras palavras, tokens de API com ttl=0 nunca expiram, a menos que você os invalide. Para detalhes sobre como invalidá-los, consulte a página de tokens de API.

Fazendo Solicitações

A API é geralmente RESTful, mas possui vários recursos para tornar a definição de tudo descobrível por um cliente, de modo que clientes genéricos possam ser escritos em vez de ter que escrever código específico para cada tipo de recurso. Para informações detalhadas sobre a especificação genérica da API, veja a documentação adicional.

  • Cada tipo possui um Esquema que descreve:

    • A URL para acessar a coleção desse tipo de recurso.

    • Cada campo que o recurso pode ter, junto com seu tipo, regras básicas de validação, se são obrigatórios ou opcionais, etc.

    • Cada ação que é possível realizar nesse tipo de recurso, com suas entradas e saídas (também como esquemas).

    • Cada campo que permite filtragem.

    • Quais métodos de verbos HTTP estão disponíveis para a coleção em si, ou para recursos individuais na coleção.

O design permite que você carregue apenas a lista de esquemas e acesse tudo sobre a API. A interface do usuário da API não contém código específico do Rancher em si. A URL para obter Esquemas é enviada em cada resposta HTTP como um cabeçalho X-Api-Schemas. A partir daí, você pode seguir o collection link em cada esquema para saber onde listar recursos e seguir outros links dentro dos recursos retornados para obter qualquer outra informação.

Na prática, você pode querer apenas construir strings de URL. Recomendamos fortemente limitar isso ao nível superior para listar uma coleção (/v3/<type>) ou obter um recurso específico (/v3/<type>/<id>). Qualquer coisa mais profunda do que isso está sujeita a mudanças em futuras versões.

Os recursos têm relacionamentos entre si chamados links. Cada recurso inclui um mapa de links com o nome do link e a URL onde você pode recuperar essa informação. Novamente, você deve GET o recurso e, em seguida, seguir a URL no mapa links, não construir essas strings você mesmo.

A maioria dos recursos tem ações, que fazem algo ou mudam o estado do recurso. Para usá-las, envie um HTTP POST para a URL no mapa actions da ação que você deseja. Certas ações requerem entrada ou produzem saída. Consulte a documentação individual para cada tipo ou os esquemas para informações específicas.

Para editar um recurso, envie um HTTP PUT para o link links.update no recurso com os campos que você deseja alterar. Se o link estiver ausente, então você não tem permissão para atualizar o recurso. Campos desconhecidos e aqueles que não são editáveis são ignorados.

Para deletar um recurso, envie um HTTP DELETE para o link links.remove no recurso. Se o link estiver ausente, então você não tem permissão para atualizar o recurso.

Para criar um novo recurso, envie um HTTP POST para a URL da coleção no esquema (que é /v3/<type>).

e RBAC

A maioria das coleções pode ser filtrada no lado do servidor por campos comuns usando parâmetros de consulta HTTP. O mapa filters mostra quais campos podem ser filtrados e quais foram os valores filtrados para a solicitação que você fez. A interface da API possui controles para configurar a filtragem e mostrar a solicitação apropriada. Para correspondências simples de "igual", é apenas field=value. Modificadores podem ser adicionados ao nome do campo, por exemplo, field_gt=42 para "campo é maior que 42." Consulte a especificação da API para detalhes completos.

Classificação

A maioria das coleções pode ser ordenada no lado do servidor por campos comuns usando parâmetros de consulta HTTP. O mapa sortLinks mostra quais ordenações estão disponíveis, junto com a URL para obter a coleção ordenada por isso. Ele também inclui informações sobre como a resposta atual foi ordenada, se especificado.

Paginação

As respostas da API são paginadas com um limite de 100 recursos por página por padrão. Isso pode ser alterado com o parâmetro de consulta limit, até um máximo de 1000, por exemplo, /v3/pods?limit=1000. O mapa pagination nas respostas da coleção informa se você possui ou não o conjunto completo de resultados e tem um link para a próxima página, se você não tiver.

Capturando Chamadas da API v3

Você pode usar as ferramentas de desenvolvedor do navegador para capturar como a API v3 é chamada. Por exemplo, você pode seguir estas etapas para usar as ferramentas de desenvolvedor do Chrome para obter a chamada da API para provisionar um cluster de distribuição Kubernetes do Rancher:

  1. Na interface do Rancher, vá para Gerenciamento de Cluster e clique em Criar.

  2. Clique em um dos tipos de clusters. Este exemplo usa o Digital Ocean.

  3. Preencha o formulário com um nome de cluster e um modelo de nó, mas não clique em Criar.

  4. Você precisa abrir as ferramentas de desenvolvedor antes da criação do cluster para ver a chamada da API sendo registrada. Para abrir as ferramentas, clique com o botão direito na interface do Rancher e clique em Inspecionar.

  5. Nas ferramentas de desenvolvedor, clique na aba Rede.

  6. Na aba Rede, certifique-se de que Fetch/XHR esteja selecionado.

  7. Na interface do Rancher, clique em Criar. Nas ferramentas de desenvolvedor, você deve ver uma nova solicitação de rede com o nome cluster?_replace=true.

  8. Clique com o botão direito em cluster?_replace=true e clique em menu:Copiar[Copiar como cURL.]

  9. Cole o resultado em qualquer editor de texto. Você pode ver a solicitação POST, incluindo a URL para a qual foi enviada, todos os cabeçalhos e o corpo completo da solicitação. Este comando pode ser usado para criar um cluster a partir da CLI. Nota: a solicitação deve ser armazenada em um local seguro porque contém credenciais.

Ativar "Ver na API".

Você também pode visualizar chamadas da API v3 capturadas para seus respectivos clusters e recursos. Este recurso não está habilitado por padrão. Para habilitar isso:

  1. Clique no seu User Tile no canto superior direito da interface e selecione Preferências no menu suspenso.

  2. Na seção Recursos Avançados, clique em Ativar "Ver na API".

Uma vez marcado, o link Ver na API é exibido sob o sub-menu nas páginas de recursos na interface.