Extensões de cluster

Os gráficos Helm ajudam você a gerenciar aplicativos Kubernetes, fornecendo os blocos de construção necessários para definir, instalar e atualizar até mesmo os aplicativos Kubernetes mais complexos. O recurso de extensão de cluster se baseia nos componentes de empacotamento do Helm, fornecendo uma experiência orientada pelo Azure Resource Manager para instalação e gerenciamento do ciclo de vida de diferentes recursos do Azure sobre seu cluster Kubernetes.

Um operador ou administrador de cluster pode usar o recurso de extensões de cluster para:

  • Instalar e gerir as chaves, os dados e as ofertas da aplicação no cluster do Kubernetes.
  • Utilizar o Azure Policy para automatizar a implementação em escala de extensões de cluster em todos os clusters do ambiente.
  • Subscrever para preparar versões (por exemplo, pré-visualização ou estável) para cada extensão.
  • Configurar a atualização automática das extensões ou afixar a uma versão específica e atualizar manualmente as versões.
  • Atualizar as propriedades das extensões ou eliminar instâncias de extensões.

Para obter uma lista de todas as extensões atualmente suportadas, consulte Extensões disponíveis para clusters Kubernetes habilitados para Azure Arc.

Arquitetura

Cluster extensions architecture

A instância de extensão de cluster é criada como uma extensão do recurso do Azure Resource Manager () sobre o recurso Kubernetes habilitado para Azure Arc (Microsoft.KubernetesConfiguration/extensionsrepresentado por Microsoft.Kubernetes/connectedClusters) no Azure Resource Manager. Essa representação no Azure Resource Manager permite que você crie uma política que verifica todos os recursos do Kubernetes habilitados para Azure Arc com ou sem uma extensão de cluster específica. Depois de determinar quais clusters estão faltando as extensões de cluster com os valores de propriedade desejados, você pode corrigir esses recursos não compatíveis usando a Política do Azure.

A config-agent execução em seu cluster rastreia recursos de extensão novos e atualizados no recurso Kubernetes habilitado para Azure Arc. O extensions-manager agente em execução no cluster lê o tipo de extensão que precisa ser instalado e extrai o gráfico de Leme associado do Registro de Contêiner do Azure ou do Registro de Contêiner da Microsoft e o instala no cluster.

Os componentes e em config-agent execução no cluster manipulam atualizações de instância de extensão, atualizações de versão e extensions-manager exclusão de instância de extensão. Esses agentes usam a identidade gerenciada atribuída pelo sistema do cluster para se comunicar com segurança com os serviços do Azure.

Nota

config-agent verifica se há instâncias de extensão novas ou atualizadas sobre o cluster Kubernetes habilitado para Azure Arc. Os agentes exigem conectividade para que o estado desejado da extensão seja puxado para baixo para o cluster. Se os agentes não conseguirem se conectar ao Azure, a propagação do estado desejado para o cluster será atrasada.

As definições de configuração protegidas para uma instância de extensão são armazenadas por até 48 horas nos serviços Kubernetes habilitados para Azure Arc. Como resultado, se o cluster permanecer desconectado durante as 48 horas após a criação do recurso de extensão no Azure, a extensão mudará de um Pending estado para Failed estado. Para evitar isso, recomendamos colocar os clusters online regularmente.

Importante

Atualmente, as extensões de cluster Kubernetes habilitadas para Azure Arc não são suportadas em clusters baseados em ARM64, exceto para Flux (GitOps). Para instalar e usar outras extensões de cluster, o cluster deve ter pelo menos um nó do sistema operacional e do tipo linux/amd64de arquitetura.

Âmbito de aplicação do alargamento

Cada tipo de extensão define o escopo no qual eles operam no cluster. As instalações de extensão em clusters Kubernetes habilitados para Arc têm escopo de cluster ou namespace.

Uma extensão com escopo de cluster será instalada no especificado durante a criação da release-namespace extensão. Normalmente, apenas uma instância da extensão com escopo de cluster e seus componentes, como pods, operadores e CRDs (Custom Resource Definitions), são instalados no namespace de versão no cluster.

Uma extensão com escopo de namespace pode ser instalada em um determinado namespace fornecido usando a –namespace propriedade. Como a extensão pode ser implantada em um escopo de namespace, várias instâncias da extensão com escopo de namespace e seus componentes podem ser executadas no cluster. Cada instância de extensão tem permissões no namespace em que é implantada. Todas as extensões acima têm escopo de cluster, exceto a Grade de Eventos no Kubernetes.

Todas as extensões atualmente disponíveis têm escopo de cluster, exceto o Gerenciamento de API do Azure no Azure Arc .

Próximos passos