Agregação de API do Kubernetes Agregação de API

Kubernetes API Aggregation - Kubernetes - Wiki.Shileizcc.com

O mecanismo de agregação de API é um recurso introduzido no Kubernetes versão 1.7. Ele pode registrar APIs estendidas pelo usuário no kube-apiserver e ainda acessar e operar novas APIs por meio da URL HTTP do API Server. Para realizar esse mecanismo, o Kubernetes introduz uma camada de agregação de API (API Aggregation Layer) no serviço kube-apiserver, que é usada para encaminhar a solicitação de acesso da API estendida ao serviço do usuário.

Os principais objetivos de projetar o mecanismo de agregação da API são os seguintes.

  • Aumente a escalabilidade da API: os desenvolvedores podem escrever seu próprio servidor de API para publicar sua API sem nenhuma modificação no código principal do Kubernetes.
  • Não há necessidade de esperar por uma revisão complexa pela equipe principal do Kubernetes: os desenvolvedores podem liberar sua API como um servidor de API separado, para que os administradores do cluster possam usar novas APIs sem modificar o código principal do Kubernetes, e não há necessidade de esperar por análises complexas comentários da comunidade.
  • Apoiar o desenvolvimento da API de novos recursos experimentais: Novas APIs podem ser desenvolvidas em um serviço de agregação de API independente sem afetar as funções existentes do sistema.
  • Certifique-se de que as novas APIs sigam as especificações do Kubernetes: sem um mecanismo de agregação de API, os desenvolvedores podem ser forçados a criar seus próprios designs, que podem não seguir as especificações do Kubernetes.

Em geral, o objetivo do mecanismo de agregação de API é fornecer um mecanismo de descoberta de API centralizado e uma função de proxy segura para registrar de forma dinâmica e contínua as novas APIs dos desenvolvedores com o Kubernetes API Server para teste e uso.

Ativar agregação de API no servidor de API do mestre


Para poder registrar a API definida pelo usuário no servidor de API do mestre, primeiro você precisa configurar os seguintes parâmetros de inicialização do serviço kube-apiserver para habilitar a função de agregação de API.

  • --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.pem: Verifique o certificado CA do cliente do Aggregator durante as solicitações.

  • --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client-key.pem : verifica a chave privada do cliente do agregador durante as solicitações.

  • --requestheader-allowed-names=front-proxy-client: A lista de nomes comuns de clientes com permissão de acesso, obtida por meio dos campos especificados pelo parâmetro --requestheader-username-headers no cabeçalho. O nome dos nomes comuns do cliente precisa ser definido no arquivo client-ca. Quando estiver vazio, significa que qualquer cliente pode acessá-lo.

  • --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.pem: Certificado CA do cliente.

  • --requestheader-extra-headers-prefix=X-Remote-Extra-: O nome do prefixo que precisa ser verificado no cabeçalho da solicitação.

  • --requestheader-group-headers=X-Remote-Group: O nome do grupo a ser verificado no cabeçalho da solicitação.

  • --requestheader-username-headers=X-Remote-User: O nome de usuário a ser verificado no cabeçalho da solicitação.

Se o kube-proxy não estiver em execução no host em que o kube-apiserver está localizado e não puder ser acessado por meio do ClusterIP do serviço, você também precisará definir os parâmetros de inicialização:

--enable-aggregator-routing=true

Depois que a configuração estiver concluída, reinicie o serviço kube-apiserver para habilitar a função de agregação de API.

Guess you like

Origin blog.csdn.net/qq_34556414/article/details/132134545