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. 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.
- 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.
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
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 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, em seguida, 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 extensions-manager
em config-agent
execução no cluster manipulam atualizações de instância de extensão, atualizações de versão e 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 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 Failed
estado. Para evitar isso, recomendamos colocar 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/amd64
de 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
- Use nosso início rápido para conectar um cluster do Kubernetes ao Azure Arc.
- Implante extensões de cluster em seu cluster Kubernetes habilitado para Azure Arc.