Práticas recomendadas para isolamento de cluster no Serviço Kubernetes do Azure (AKS)

Ao gerenciar clusters no Serviço Kubernetes do Azure (AKS), muitas vezes você precisa isolar equipes e cargas de trabalho. O AKS permite flexibilidade na execução de clusters de multi-inquilino e na isolação de recursos. Para maximizar seu investimento no Kubernetes, é importante que você entenda os recursos de multilocação e isolamento do AKS.

Este artigo de práticas recomendadas se concentra no isolamento para operadores de cluster. Neste artigo, você aprenderá a:

  • Planeie clusters multi-inquilino e separação de recursos.
  • Usa isolamento lógico ou físico nos teus clusters AKS.

Projetar clusters para multilocação

O Kubernetes permite isolar logicamente equipes e cargas de trabalho no mesmo cluster. O objetivo é fornecer o menor número de privilégios limitados aos recursos que cada equipa necessita. Um Namespace Kubernetes cria uma fronteira lógica de isolamento. Outros recursos e considerações do Kubernetes para isolamento e multilocação incluem as seguintes áreas:

Agendamento

Scheduling usa recursos básicos, como cotas de recursos e orçamentos de interrupção de pod. Para mais informações sobre estas funcionalidades, consulte Melhores práticas para funcionalidades básicas de agendadores no AKS.

Os recursos mais avançados do agendador incluem:

  • Máculas e tolerâncias.
  • Seletores de nós.
  • Afinidade ou antiafinidade de nós e pods.

Para mais informações sobre estas funcionalidades, consulte Melhores práticas para funcionalidades avançadas de agendadores no AKS.

Rede

Networking usa políticas de rede para controlar o tráfego que entra e sai dos pods.

Para obter mais informações, consulte Proteger o tráfego entre pods usando políticas de rede no AKS.

Autenticação e autorização

A autenticação e autorização utiliza:

  • Controlo de acesso baseado em funções (RBAC).
  • Integração com o Microsoft Entra.
  • Identidades de pods.
  • Segredos no Cofre da Chave do Azure.

Para mais informações sobre estas funcionalidades, consulte Melhores práticas para autenticação e autorização no AKS.

Contentores

Os contentores incluem:

  • O add-on Azure Policy para AKS para impor a segurança dos pods.
  • Entrada de segurança na cápsula.
  • Análise de imagens e ambiente de execução à procura de vulnerabilidades.
  • Usando App Armor ou Seccomp (Secure Computing) para restringir o acesso do contêiner ao nó subjacente.

Clusters logicamente isolados

Orientações sobre boas práticas

Separe equipas e projetos usando isolamento lógico. Minimize o número de clusters físicos AKS implantados para isolar equipes ou aplicativos.

Com o isolamento lógico, você pode usar um único cluster AKS para várias cargas de trabalho, equipes ou ambientes. Os namespaces do Kubernetes formam o limite de isolamento lógico para cargas de trabalho e recursos.

Isolamento lógico de um cluster Kubernetes no AKS

A separação lógica de clusters geralmente fornece uma densidade de pod maior do que clusters fisicamente isolados, com menos excesso de capacidade de computação ociosas nos clusters. Quando combinado com o autoscaler de cluster do Kubernetes, você pode dimensionar o número de nós para cima ou para baixo para atender às demandas. Esta abordagem de melhores práticas minimiza os custos ao executar apenas o número necessário de nós.

Os ambientes Kubernetes não são totalmente seguros para uso hostil em múltiplos inquilinos. Num ambiente multi-inquilino, vários inquilinos trabalham numa infraestrutura partilhada. Se não for possível confiar em todos os inquilinos, é necessário um planeamento adicional para evitar que os inquilinos afetem a segurança e o serviço de outras pessoas.

Outros recursos de segurança, como o Kubernetes RBAC para nós, bloqueiam vulnerabilidades de maneira eficiente. Para segurança genuína ao executar cargas de trabalho hostis multi-arrendatário, só deve confiar num hipervisor. O domínio de segurança para o Kubernetes abrange todo o cluster e não apenas um nó individual.

Para este tipo de cargas de trabalho multi-inquilino ameaçadoras, deve-se usar clusters fisicamente isolados.

Clusters fisicamente isolados

Orientações sobre boas práticas

Minimize o uso de isolamento físico para cada equipa ou implementação de aplicação separada e use isolamento lógico em vez disso.

Uma abordagem comum para o isolamento de clusters é a separação física dos clusters AKS. Nesse modelo de isolamento, as equipas ou as cargas de trabalho recebem o seu próprio cluster AKS. Embora o isolamento físico possa parecer a maneira mais fácil de isolar cargas de trabalho ou equipes, ele adiciona gerenciamento e sobrecarga financeira. Com clusters fisicamente isolados, você deve manter vários clusters e fornecer acesso e atribuir permissões individualmente. Você também é cobrado por cada nó individual.

Isolamento físico de clusters Kubernetes individuais no AKS

Aglomerados fisicamente isolados geralmente têm uma baixa densidade de pods. Como cada equipe ou carga de trabalho tem seu próprio cluster AKS, o cluster geralmente é provisionado em excesso com recursos de computação. Muitas vezes, alguns pods são programados nesses nós. A capacidade de nó não reivindicada não pode ser utilizada para aplicações ou serviços em desenvolvimento por parte de outras equipas. Estes recursos excedentários contribuem para os custos adicionais em agrupamentos fisicamente isolados.

Passos seguintes

Este artigo centrou-se no isolamento de clusters. Para mais informações sobre operações de cluster no AKS, consulte os seguintes artigos de boas práticas: