Conceitos básicos do Serviço de Kubernetes do Azure (AKS)
Este artigo descreve os principais conceitos do AKS (Serviço de Kubernetes do Azure), um serviço de Kubernetes gerenciado que você pode usar para implantar e operar aplicativos conteinerizados em escala no Azure.
O que é Kubernetes?
Kubernetes é uma plataforma de orquestração de contêineres de código aberto, desenvolvida para automatizar a implantação, o escalonamento e o gerenciamento de aplicativos conteinerizados. Para obter mais informações, confira a documentação oficial do Kubernetes.
O que é o AKS?
O AKS é um serviço gerenciado do Kubernetes que simplifica a implantação, o gerenciamento e o escalonamento de aplicativos em contêineres usando o Kubernetes. Para obter mais informações, confira O que é o Serviço de Kubernetes do Azure (AKS)?
Componentes de um cluster
Um cluster do AKS se divide em dois componentes principais:
- Painel de controle: o painel de controle oferece os principais serviços do Kubernetes e realiza a orquestração das cargas de trabalho dos aplicativos.
- Nós: os nós são as máquinas virtuais (VMs) que executam seus aplicativos.
Painel de controle
O painel de controle gerenciado do Azure é composto por vários componentes que ajudam a gerenciar o cluster:
Componente | Descrição |
---|---|
kube-apiserver | O servidor de API (kube-apiserver) disponibiliza a API do Kubernetes, permitindo solicitações ao cluster de forma interna e externa. |
etcd | O etcd é um repositório 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) auxilia nas decisões de agendamento, identificando novos pods que ainda não têm um nó atribuído e escolhendo um nó para que sejam executados. |
kube-controller-manager | O gerenciador de controladores (kube-controller-manager) executa processos de controle, como detectar e responder a falhas nos nós. |
cloud-controller-manager | O gerenciador de controladores da nuvem (cloud-controller-manager) integra a lógica de controle específica para nuvem, executando controladores específicos para o provedor de nuvem. |
Nós
Cada cluster do AKS possui pelo menos um nó, que é uma máquina virtual (VM) do Azure que executa os componentes de nó do Kubernetes. Os seguintes componentes são executados em cada nó:
Componente | Descrição |
---|---|
kubelet | O kubelet garante que os contêineres estejam em execução dentro de um pod. |
kube-proxy | O kube-proxy atua como um proxy de rede que mantém as regras de rede nos nós. |
Tempo de execução de contêiner | O runtime de contêiner administra 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 as CPUs, memória, tamanho e tipo de armazenamento disponíveis, como SSD de alto desempenho ou HDD comum. A escolha do tamanho da VM deve ser baseada nas necessidades da sua carga de trabalho e na quantidade de pods que você planeja executar em cada nó. Para obter mais informações, consulte Tamanhos de VM com suporte no Serviço de Kubernetes do Azure (AKS).
No AKS, a imagem de VM dos nós do seu cluster pode ser baseada no Ubuntu Linux, Azure Linux ou no Windows Server 2022. Quando você cria um cluster AKS ou escala horizontalmente o número de nós, a plataforma do Azure cria e configura automaticamente o número solicitado de VMs. Os nós de agente são cobrados como VMs padrão, portanto, qualquer desconto de tamanho de VM, inclusive reservas do Azure, é aplicado automaticamente.
Discos do sistema operacional
O dimensionamento padrão do disco do sistema operacional só é usado em novos clusters ou pools de nós quando não há suporte para discos de SO Efêmero e um tamanho padrão do disco do sistema operacional não foi especificado. Para obter mais informações, confira o Dimensionamento padrão do disco do sistema operacional e Discos efêmeros do sistema operacional.
Reservas de recursos
O AKS usa recursos de nó para ajudar a função de nós como parte do cluster. Esse uso pode causar uma discrepância entre os recursos totais do nó e os recursos alocados 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, confira Reservas de recursos no AKS.
SO
O AKS é compatível com Ubuntu 22.04 e Azure Linux 2.0 para o sistema operacional dos nós em pools de nós Linux. Para os pools de nós Windows, o AKS é compatível com o Windows Server 2022 como sistema operacional padrão. O Windows Server 2019 será desativado após a versão 1.32 do Kubernetes chegar ao fim da vida útil e não terá suporte em versões futuras. Se você precisar atualizar a versão do seu sistema operacional Windows, confira o artigo sobre como Atualizar do Windows Server 2019 para o Windows Server 2022. Para mais informações sobre o uso do Windows Server no AKS, confira o artigo de Considerações sobre contêineres Windows no Serviço de Kubernetes do Azure (AKS).
Runtime de contêiner
O runtime do contêiner é um software que executa contêineres e gerencia imagens de contêineres em um nó. O runtime ajuda a abstrair as chamadas sys ou a funcionalidade específica do SO para executar contêineres no Linux ou no Windows. Para pools de nós do Linux, containerd
é usado para pools de nós usando o Kubernetes versão 1.19 e superior. Para pools de nós do Windows Server 2019 e 2022, containerd
está em disponibilidade geral e é a única opção de runtime de contêiner no Kubernetes 1.23 e superior.
Pods
Um pod é um conjunto de um ou mais contêineres que compartilham os mesmos recursos de rede e armazenamento, além de uma especificação de como executar os contêineres. Normalmente, os pods possuem um mapeamento individual com um contêiner, mas é possível executar vários contêineres em um único pod.
Pools de nós
No AKS, nós com a mesma configuração são organizados em pools de nós. Esses pools contêm os conjuntos de dimensionamento de máquinas virtuais e máquinas virtuais (VMs) que executam seus aplicativos. Ao criar um cluster do AKS, você define o número inicial de nós e seu tamanho (SKU), que cria um pool de nós do sistema. Os pools de nós do sistema atendem à principal finalidade de hospedar pods críticos do sistema, como CoreDNS e konnectivity
. Para dar suporte a aplicativos que têm demandas de armazenamento ou de computação diferentes, você pode criar pools de nós de usuário. Os pools de nós do usuário atendem à principal finalidade de hospedar os pods de aplicativo.
Para obter mais informações, confira como Criar pools de nós no AKS e como Gerenciar pools de nós no AKS.
Grupo de recursos do nó
Quando você cria um cluster do AKS em um grupo de recursos do Azure, o provedor de recursos do AKS automaticamente estabelece um segundo grupo de recursos chamado grupo de recursos do nó. Esse grupo 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 saber mais, consulte os recursos a seguir:
- Por que são criados dois grupos de recursos com o AKS?
- Posso fornecer um nome personalizado para o grupo de recursos do nó no AKS?
- Posso modificar marcas e outras propriedades dos recursos no grupo de recursos do nó no AKS?
Namespaces
Os recursos do Kubernetes, como pods e implantações, são agrupados logicamente no namespace para dividir um cluster do AKS e criar, exibir ou gerenciar o acesso aos recursos.
Os seguintes namespaces são criados automaticamente em um cluster do AKS:
Namespace | Descrição |
---|---|
padrão | O namespace default permite que você comece a usar os recursos do cluster sem precisar criar um novo namespace. |
kube-node-lease | O namespace kube-node-lease permite que os nós comuniquem sua disponibilidade ao painel de controle. |
kube-public | O namespace kube-public geralmente não é usado, mas pode ser empregado em recursos que sejam visíveis em todo o cluster por qualquer usuário. |
kube-system | O namespace kube-system é usado pelo Kubernetes para gerenciar recursos do cluster, como coredns , konnectivity-agent e metrics-server . |
Modos do cluster
No AKS, você pode criar um cluster no modo Automático (em versão prévia) ou Padrão. O AKS Automático proporciona uma experiência totalmente gerenciada, cuidando das configurações do cluster, incluindo nós, escalonamento, segurança e outras definições pré-configuradas. O AKS Padrão fornece um maior controle sobre a configuração do cluster, com a capacidade de gerenciar pools de nós, escalonamento e outras definições.
Para obter mais informações, confira Comparação de recursos do AKS Automático e Padrão.
Tipos de preço
O AKS oferece três categorias de preços para o gerenciamento de clusters: Gratuito, Padrão e Premium. O tipo de preço escolhido determinará os recursos disponíveis para gerenciar o cluster.
Para obter mais informações, confira Tipos de preços para o gerenciamento de cluster do AKS.
Versões compatíveis do Kubernetes
Para obter mais informações, confira Versões do Kubernetes compatíveis no AKS.
Próximas etapas
Para mais informações sobre conceitos básicos do AKS, confira os seguintes recursos:
Azure Kubernetes Service