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 forma como você executa clusters multilocatários e isola 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, vai aprender a:

  • Planeje clusters multilocatários e a separação de recursos.
  • Use o isolamento lógico ou físico em seus clusters AKS.

Projetar clusters para multilocação

O Kubernetes permite isolar logicamente equipes e cargas de trabalho no mesmo cluster. O objetivo consiste em fornecer o menor número de privilégios orientados para os recursos necessários para cada equipa. Um Namespace Kubernetes cria um limite de isolamento lógico. Outros recursos e considerações do Kubernetes para isolamento e multilocação incluem as seguintes áreas:

Agendamento

O agendamento usa recursos básicos, como cotas de recursos e orçamentos de interrupção de pod. Para obter mais informações sobre esses recursos, consulte Práticas recomendadas para recursos básicos do agendador no AKS.

Os recursos mais avançados do agendador incluem:

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

Para obter mais informações sobre esses recursos, consulte Práticas recomendadas para recursos avançados do agendador no AKS.

Rede

A rede usa políticas de rede para controlar o fluxo de tráfego de entrada e saída de pods.

Autenticação e autorização

Usos de autenticação e autorização :

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

Para obter mais informações sobre esses recursos, consulte Práticas recomendadas para autenticação e autorização no AKS.

Contentores

Os contentores incluem:

  • O complemento de Política do Azure para AKS para impor a segurança do pod.
  • Admissão de segurança do pod.
  • Verificação de imagens e tempo de execução em busca 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 equipes 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.

Logical isolation of a Kubernetes cluster in 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 ocioso no cluster. 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. Essa abordagem de práticas recomendadas minimiza os custos executando apenas o número necessário de nós.

Os ambientes Kubernetes não são totalmente seguros para uso multilocatário hostil. Em um ambiente multilocatário, vários locatários trabalham em uma infraestrutura compartilhada. 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 explorações de forma eficiente. Para uma verdadeira segurança ao executar cargas de trabalho multilocatárias hostis, você só deve confiar em um hipervisor. O domínio de segurança do Kubernetes torna-se o cluster inteiro e não um nó individual.

Para esses tipos de cargas de trabalho multilocatárias hostis, você deve usar clusters fisicamente isolados.

Clusters fisicamente isolados

Orientações sobre boas práticas

Minimize o uso de isolamento físico para cada equipe separada ou implantação de aplicativo e use o isolamento lógico em vez disso.

A separação física de clusters AKS é uma abordagem comum para o isolamento de clusters. Nesse modelo de isolamento, as equipes ou cargas de trabalho recebem 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.

Physical isolation of individual Kubernetes clusters in AKS

Aglomerados fisicamente isolados geralmente têm uma baixa densidade de vagens. 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 usada para aplicativos ou serviços em desenvolvimento por outras equipes. Estes recursos excedentários contribuem para os custos adicionais em agrupamentos fisicamente isolados.

Próximos passos

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