|
| 1 | +--- |
| 2 | +title: Extendendo a API do Kubernetes com a camada de agregação |
| 3 | +reviewers: |
| 4 | +- lavalamp |
| 5 | +- cheftako |
| 6 | +- chenopis |
| 7 | +content_template: templates/concept |
| 8 | +weight: 20 |
| 9 | +--- |
| 10 | + |
| 11 | +{{% capture overview %}} |
| 12 | + |
| 13 | +A camada de agregação permite ao Kubernetes ser estendido com APIs adicionais, |
| 14 | +para além do que é oferecido pelas APIs centrais do Kubernetes. |
| 15 | +As APIs adicionais podem ser soluções prontas tal como o |
| 16 | +[catálogo de serviços](/docs/concepts/extend-kubernetes/service-catalog/), |
| 17 | +ou APIs que você mesmo desenvolva. |
| 18 | + |
| 19 | +A camada de agregação é diferente dos [Recursos Personalizados](/docs/concepts/extend-kubernetes/api-extension/custom-resources/), |
| 20 | +que são uma forma de fazer o {{< glossary_tooltip term_id="kube-apiserver" text="kube-apiserver" >}} |
| 21 | +reconhecer novas espécies de objetos. |
| 22 | + |
| 23 | +{{% /capture %}} |
| 24 | + |
| 25 | +{{% capture body %}} |
| 26 | + |
| 27 | +## Camada de agregação |
| 28 | + |
| 29 | +A camada de agregação executa em processo com o kube-apiserver. |
| 30 | +Até que um recurso de estensão seja registado, a camada de agregação |
| 31 | +não fará nada. Para registar uma API, terá de adicionar um objeto *APIService* |
| 32 | +que irá "reclamar" o caminho URL na API do Kubernetes. Nesta altura, a camada |
| 33 | +de agregação procurará qualquer coisa enviada para esse caminho da API |
| 34 | +(e.g. `/apis/myextension.mycompany.io/v1/…`) para o *APIService* registado. |
| 35 | + |
| 36 | +A maneira mais comum de implementar o *APIService* é executar uma |
| 37 | +*estensão do servidor API* em *Pods* que executam no seu cluster. |
| 38 | +Se estiver a usar o servidor de estensão da API para gerir recursos |
| 39 | +no seu cluster, o servidor de estensão da API (também escrito como "extension-apiserver") |
| 40 | +é tipicamente emparelhado com um ou mais {{< glossary_tooltip text="controladores" term_id="controller" >}}. |
| 41 | +A biblioteca apiserver-builder providencia um esqueleto para ambos |
| 42 | +os servidores de estensão da API e controladores associados. |
| 43 | + |
| 44 | +### Latência da resposta |
| 45 | + |
| 46 | +Servidores de estensão de APIs devem ter baixa latência de rede de e para o kube-apiserver. |
| 47 | +Pedidos de descoberta são necessários que façam a ida e volta do kube-apiserver em 5 |
| 48 | +segundos ou menos. |
| 49 | + |
| 50 | +Se o seu servidor de estensão da API não puder cumprir com o requisito de latência, |
| 51 | +considere fazer alterações que permitam atingi-lo. Pode também definir |
| 52 | +[portal de funcionalidade](/docs/reference/command-line-tools-reference/feature-gates/) `EnableAggregatedDiscoveryTimeout=false` no kube-apiserver para desativar |
| 53 | +a restrição de intervalo. Esta portal de funcionalidade deprecado será removido |
| 54 | +num lançamento futuro. |
| 55 | + |
| 56 | +{{% /capture %}} |
| 57 | + |
| 58 | +{{% capture whatsnext %}} |
| 59 | + |
| 60 | +* Para pôr o agregador a funcionar no seu ambiente, [configure a camada de agregação](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/). |
| 61 | +* De seguida, [configura um api-server de estensão](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) para funcionar com a camada de agregação. |
| 62 | +* Também, aprenda como pode [estender a API do Kubernetes através do use de Definições de Recursos Personalizados](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/). |
| 63 | +* Leia a especificação do [APIService](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#apiservice-v1-apiregistration-k8s-io) |
| 64 | + |
| 65 | +{{% /capture %}} |
0 commit comments