Partilhar via


Extensões de cluster

Este artigo descreve como você pode usar as extensões de cluster do Kubernetes habilitadas para Azure Arc por meio de gráficos de leme para gerenciar seus aplicativos Kubernetes. O recurso de extensões de cluster no Kubernetes habilitado para Azure Arc tem todos 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 baseia-se nos módulos de pacotes do Helm. Com extensões, você usa uma experiência orientada pelo Azure Resource Manager para instalação e gerenciamento do ciclo de vida de diferentes recursos 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.
  • Subscreva-se aos ciclos de lançamento (por exemplo, Preview ou Stable) para cada extensão.
  • Configure a atualização automática para extensões ou você pode fixar uma versão específica e atualizar manualmente as versões.
  • Atualizar as propriedades das extensões ou eliminar instâncias de extensões.

As extensões estão disponíveis para dar suporte a uma ampla gama de serviços e cenários do Azure. Para obter uma lista de extensões atualmente suportadas, consulte Extensões disponíveis para clusters Kubernetes habilitados para Azure Arc.

Arquitetura

Diagrama mostrando a arquitetura do fluxo de trabalho de instalação da extensão de cluster.

Para baixar diagramas de arquitetura em alta resolução, visite Jumpstart Gems.

A instância de extensão de cluster é criada como uma extensão do recurso do Azure Resource Manager (Microsoft.KubernetesConfiguration/extensions) sobre o recurso Kubernetes habilitado para ArcGIS do Azure (representado por Microsoft.Kubernetes/connectedClusters) no Azure Resource Manager.

Essa representação no Azure Resource Manager permite que você crie políticas que verificam a presença ou ausência de uma extensão de cluster específica em todos os recursos do Kubernetes habilitados para Azure Arc. Depois de determinar quais clusters estão faltando extensões de cluster que têm valores de propriedade específicos, você pode corrigir recursos não compatíveis usando a Política do Azure.

O config-agent componente que é executado no seu cluster rastreia os recursos de extensão novos e atualizados no recurso do Kubernetes habilitado pelo Azure Arc. O extensions-manager agente em execução no cluster lê o tipo de extensão que precisa ser instalado. Em seguida, ele extrai o gráfico Helm associado do Registro de Contêiner do Azure ou do Registro de Contêiner da Microsoft e o instala no cluster.

Ambos os componentes config-agent e extensions-manager em execução no cluster manipulam atualizações de instância de extensão, atualizações de versão e exclusão de instâncias 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 o cluster. Se os agentes não puderem 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 Arco do Azure. 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 um Failed estado. Para evitar isso, recomendamos que coloque os clusters online regularmente.

Importante

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

Â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 escopo de espaço de nomes.

Ao criar uma instância de extensão, você especifica o namespace onde ela está instalada como release-namespace. Normalmente, apenas uma instância de uma extensão de escopo de cluster e seus componentes, incluindo pods, operadores e definições de recursos personalizados (CRDs), são instalados no namespace de versão no cluster.

Você pode instalar uma extensão com escopo de namespace em um namespace específico usando a –namespace propriedade. Como a extensão pode ser implantada em um escopo de namespace, várias instâncias de uma extensão com escopo de namespace e seus componentes podem ser executados em um cluster. Cada instância da extensão tem permissões para o namespace onde ela é implantada. Todas as extensões descritas neste artigo têm escopo de cluster, exceto a Grade de Eventos na extensão Kubernetes.

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