
Isolamento
- Físico: Vários clusters estão utilizados para separar os ambientes de aplicação, tais como Desenvolvimento, Encenação e Produção.
- Lógico: Com isolamento lógico, o único cluster AKS pode ser utilizado para cargas de trabalho, equipes ou ambientes múltiplos. Os espaços de nomes da Kubernetes são utilizados para definir os ambientes diferentes e atribuir os recursos respetivamente.
Especificação da quota:
- Quota de recursos: Definir CPU, Memória, Número total do Volume ou espaço do disco, Número total de segredos, trabalhos, etc. quota a nível de espaço de nome para reservar e limitar Recursos.
- Pedido e Limites são especificados na implanatação das cápsulas.
Disponibilidade:
- Perturbações involuntárias: isto inclui as falhas de hardware em máquinas físicas. Isto pode ser mitigado utilizando os conjuntos de réplicas e nós múltiplos.
- Perturbações voluntárias: Isto inclui as atualizações do Cluster, atualizações das instalações, eliminação acidental dos contentores. Pode ser mitigado por meio da utilização do PodDisruptionBudget. Se um cluster deverá ser atualizado ou um modelo de implantação deverá ser atualizado, o programador da Kubernetes assegura-se de que as cápsulas adicionais são programadas noutros nós. O programador espera antes de um nó ser reiniciado até que o número definido de cápsulas seja programado com sucesso noutros nós do cluster.
Distribuição:
- Reclamações e Tolerações: Definir as tolerações nas cápsulas para programar as cápsulas apenas em nós específicos definidos.
- Etiquetas: Os Seletores de Nó e afinidade de Nó são seguidos para programar as cápsulas nos nós.
Acesso:
Autenticação do Azure AD, RBAC, Identidades geridas por nó são alavancadas para definir os níveis de acesso do Cluster aos respetivos utilizadores.
Versão e Atualizações:
Manter a última versão das atualizações de AKS e Atualizações dos nós.
Segurança da imagem:
- Utilizar os registos privados e criar as imagens novas a partir das imagens oficiais de base.
- Alavancagem da Segurança de Contentores no Centro de Segurança.
Exposição de Credenciais:
Definir os segredos e utilizar o cofre da chave Azure para controlar a exposição de credenciais.
Ligação em rede:
- Utilização da CNI Kubenet e Azure
- Pedidos de distribuição HTTP/S com utilização dos controladores de entrada.
- Utilização do Portal de Aplicação juntamente com o WAF para proporcionar uma camada extra de segurança.
Monitorização e Depuração:
- Utilização das Métrica do Azure e Insights para monitorizar as cargas de trabalho e definir as alertas respetivamente.
- Utilização de uma solução de monitorização de código aberto tal como Prometheus.
- Executar regularmente a última versão da ferramenta de código aberto do kube-advisor para detetar os problemas no cluster.