Conceitos principais para o Serviço Kubernetes do Azure (AKS)
Este artigo descreve os principais conceitos do Serviço Kubernetes do Azure (AKS), um serviço Kubernetes gerenciado que você pode usar para implantar e operar aplicativos em contêineres em escala no Azure.
O que é o Kubernetes?
O Kubernetes é uma plataforma de orquestração de contêineres de código aberto para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêineres. Para obter mais informações, consulte a documentação oficial do Kubernetes.
O que é o AKS?
O AKS é um serviço Kubernetes gerenciado que simplifica a implantação, o gerenciamento e o dimensionamento de aplicativos em contêineres usando o Kubernetes. Para obter mais informações, consulte O que é o Serviço Kubernetes do Azure (AKS)?
Componentes do cluster
Um cluster AKS é dividido em dois componentes principais:
- Plano de controle: O plano de controle fornece os principais serviços do Kubernetes e a orquestração de cargas de trabalho de aplicativos.
- Nós: os nós são as máquinas virtuais (VMs) subjacentes que executam seus aplicativos.
Plano de controlo
O plano de controle gerenciado do Azure é composto por vários componentes que ajudam a gerenciar o cluster:
Componente | Description |
---|---|
kube-apiserver | O servidor de API (kube-apiserver) expõe a API do Kubernetes para habilitar solicitações ao cluster de dentro e de fora do cluster. |
etcd | etcd é um armazenamento de chave-valor altamente disponível que ajuda a manter o estado do cluster e da configuração do Kubernetes. |
kube-scheduler | O agendador (kube-scheduler) ajuda a tomar decisões de agendamento, observando novos pods sem nó atribuído e selecionando um nó para que eles sejam executados. |
kube-controller-manager | O gerenciador de controladores (kube-controller-manager) executa processos do controlador, como perceber e responder quando os nós caem. |
Cloud-Controller-Manager | O gerenciador do controlador de nuvem (cloud-controller-manager) incorpora lógica de controle específica da nuvem para executar controladores específicos para o provedor de nuvem. |
Nós
Cada cluster AKS tem pelo menos um nó, que é uma máquina virtual (VM) do Azure que executa componentes de nó do Kubernetes. Os seguintes componentes são executados em cada nó:
Componente | Description |
---|---|
Kubelet | O kubelet garante que os contêineres estejam rodando em um pod. |
kube-proxy | O kube-proxy é um proxy de rede que mantém regras de rede em nós. |
tempo de execução do contêiner | O tempo de execução do contêiner gerencia a execução e o ciclo de vida dos contêineres. |
Configuração do nó
Tamanho e imagem da VM
O tamanho da VM do Azure para seus nós define CPUs, memória, tamanho e o tipo de armazenamento disponível, como SSD de alto desempenho ou HDD normal. O tamanho da VM escolhido depende dos requisitos de carga de trabalho e do número de pods que você planeja executar em cada nó. Para obter mais informações, consulte Tamanhos de VM suportados no Serviço Kubernetes do Azure (AKS).
No AKS, a imagem da VM para os nós do cluster é baseada no Ubuntu Linux, Azure Linux ou Windows Server 2022. Quando você cria um cluster AKS ou dimensiona o número de nós, a plataforma Azure cria e configura automaticamente o número solicitado de VMs. Os nós de agente são cobrados como VMs padrão, portanto, quaisquer descontos de tamanho de VM, incluindo reservas do Azure, são aplicados automaticamente.
Discos do SO
O dimensionamento de disco padrão do sistema operacional só é usado em novos clusters ou pools de nós quando os discos do sistema operacional efêmero não são suportados e um tamanho de disco do sistema operacional padrão não é especificado. Para obter mais informações, consulte Dimensionamento de disco padrão do sistema operacional e Discos efêmeros do sistema operacional.
Reservas de recursos
O AKS usa recursos de nó para ajudar os nós a funcionar como parte do cluster. Esse uso pode causar uma discrepância entre os recursos totais do nó e os recursos alocáveis no AKS. Para manter o desempenho e a funcionalidade do nó, o AKS reserva dois tipos de recursos, CPU e memória, em cada nó. Para obter mais informações, consulte Reservas de recursos no AKS.
SO
O AKS suporta o Ubuntu 22.04 e o Azure Linux 2.0 como o sistema operacional do nó para pools de nós do Linux. Para pools de nós do Windows, o AKS suporta o Windows Server 2022 como o sistema operacional padrão. O Windows Server 2019 está sendo desativado depois que o Kubernetes versão 1.32 atinge o fim da vida útil e não é suportado em versões futuras. Se você precisar atualizar sua versão do sistema operacional Windows, consulte Atualizar do Windows Server 2019 para o Windows Server 2022. Para obter mais informações sobre como usar o Windows Server no AKS, consulte Considerações sobre contêiner do Windows no Serviço Kubernetes do Azure (AKS).
Tempo de execução do contentor
Um tempo de execução de contêiner é um software que executa contêineres e gerencia imagens de contêiner em um nó. O tempo de execução ajuda a abstrair sys-calls ou funcionalidades específicas do SO para executar contêineres no Linux ou Windows. Para pools de nós Linux, containerd
é usado no Kubernetes versão 1.19 e superior. Para pools de nós do Windows Server 2019 e 2022, containerd
está disponível em geral e é a única opção de tempo de execução no Kubernetes versão 1.23 e superior.
Pods
Um pod é um grupo de um ou mais contêineres que compartilham os mesmos recursos de rede e armazenamento e uma especificação de como executar os contêineres. Os pods normalmente têm um mapeamento 1:1 com um contêiner, mas você pode executar vários contêineres em um pod.
Conjuntos de nós
No AKS, nós da mesma configuração são agrupados em pools de nós. Esses pools de nós contêm os conjuntos de dimensionamento de máquinas virtuais subjacentes e as máquinas virtuais (VMs) que executam seus aplicativos. Ao criar um cluster AKS, você define o número inicial de nós e seu tamanho (SKU), o que cria um pool de nós do sistema. Os pools de nós do sistema servem ao objetivo principal de hospedar pods críticos do sistema, como CoreDNS e konnectivity
. Para dar suporte a aplicativos com diferentes demandas de computação ou armazenamento, você pode criar pools de nós de usuário. Os pools de nós de usuário têm o objetivo principal de hospedar seus pods de aplicativo.
Para obter mais informações, consulte Criar pools de nós no AKS e Gerenciar pools de nós no AKS.
Grupo de recursos de nó
Quando você cria um cluster AKS em um grupo de recursos do Azure, o provedor de recursos AKS cria automaticamente um segundo grupo de recursos chamado grupo de recursos de nó. Esse grupo de recursos contém todos os recursos de infraestrutura associados ao cluster, incluindo máquinas virtuais (VMs), conjuntos de dimensionamento de máquinas virtuais e armazenamento.
Para obter mais informações, consulte os seguintes recursos:
- Por que dois grupos de recursos são criados com o AKS?
- Posso fornecer o meu próprio nome para o grupo de recursos do nó AKS?
- Posso modificar tags e outras propriedades dos recursos no grupo de recursos do nó AKS?
Espaços de nomes
Os recursos do Kubernetes, como pods e implantações, são agrupados logicamente em namespaces para dividir um cluster AKS e criar, exibir ou gerenciar o acesso aos recursos.
Os namespaces a seguir são criados por padrão em um cluster AKS:
Espaço de Nomes | Description |
---|---|
default | O namespace padrão permite que você comece a usar recursos de cluster sem criar um novo namespace. |
kube-node-lease | O namespace kube-node-lease permite que os nós comuniquem sua disponibilidade ao plano de controle. |
kube-público | O namespace kube-public não é normalmente usado, mas pode ser usado para que os recursos fiquem visíveis em todo o cluster por qualquer usuário. |
sistema kube | O namespace kube-system é usado pelo Kubernetes para gerenciar recursos de cluster, como coredns , konnectivity-agent e metrics-server . |
Modos de cluster
No AKS, você pode criar um cluster com o modo Automático (visualização) ou Padrão . O AKS Automatic oferece uma experiência mais totalmente gerenciada, gerenciando a configuração do cluster, incluindo nós, escala, segurança e outras configurações pré-configuradas. O AKS Standard oferece mais controle sobre a configuração do cluster, incluindo a capacidade de gerenciar pools de nós, dimensionamento e outras configurações.
Para obter mais informações, consulte Comparação de recursos AKS Automatic e Standard.
Escalões de preço
O AKS oferece três níveis de preços para gerenciamento de clusters: Gratuito, Standard e Premium. A camada de preços escolhida determina os recursos disponíveis para gerenciar seu cluster.
Para obter mais informações, consulte Níveis de preços para gerenciamento de cluster AKS.
Versões do Kubernetes suportadas
Para obter mais informações, consulte Versões suportadas do Kubernetes no AKS.
Próximos passos
Para obter informações sobre mais conceitos básicos para o AKS, consulte os seguintes recursos:
Azure Kubernetes Service