O que é a admissão de segurança de pod em Kubernetes?
Para aplicar os padrões de segurança de pods em vagens em execução em um espaço para nome, Kubernetes v1.22 tem um controlador de admissão integrado chamado POD Security Admission. Esses padrões são usados para definir isenções e padrões em todo o cluster. Para configurar a admissão de segurança de pod, você deve ter um mínimo de V1.22 Kubernetes e PodSecurity Feature Gate habilitado. Lançamento alfa de Kubernetes v1.22 tem POD Security Policy (PSP), que foi descontinuado em Kubernetes V1.25. Agora, o aprimoramento da Política de Segurança de Pod (PSP) é conhecida como admissão de segurança de pod (PSA). Ao contrário da Política de Segurança de Pod, a Admissão de Segurança em Pod não suporta recursos de mutação, no entanto, valida o controlador de admissão.
Além disso, os padrões de segurança do POD definiram três níveis para admissão de segurança de pod: linha de base, restrita e privilegiada. Esses níveis são colocados em um contexto de segurança de uma vagem e vários outros campos pela admissão de segurança de pods. Depois de configurar o modo de controle de admissão para segurança de pod para cada espaço para nome, você pode definir o espaço para nome para especificar que o modo. O conjunto de rótulos fornecidos pela Kubernetes permite que você escolha qualquer nível padrão de segurança do pod para um espaço para nome. Agora, vamos aprender a configurar a admissão de segurança do POD com a ajuda de um exemplo simples.
Pré -requisitos
Antes de avançar, verifique se você possui essas ferramentas básicas instaladas e os recursos necessários ativados:
Depois de configurar essas ferramentas em seu sistema, você está pronto para configurar a admissão de segurança de pod em Kubernetes. Passando para a seção de implementação, assumindo que você já instalou todos esses pré -requisitos.
Como configurar a admissão de segurança de pods?
Siga as etapas fornecidas abaixo e configure facilmente a admissão de segurança do POD em Kubernetes para o seu sistema.
Etapa 1: Inicie Kubernetes
Primeiro, precisamos do cluster do Minikube em funcionamento. Então, para isso, usaremos o comando dado abaixo para iniciá -lo corretamente:
> Minikube StartEste comando garante que o cluster Minikube esteja funcionando para que você possa implementar seu comando e executar aplicativos no cluster.
Etapa 2: Aplicar a admissão de segurança da POD com implantação
Existem três níveis definidos pelos padrões de segurança de pod: linha de base, privilégio e restrito. Aqui, aplicaremos uma admissão de segurança em POD em dois níveis de padrões de segurança de pod, privilegiados e restritos.
Etapa 2 (a): Crie espaços de nome para pods
Primeiro, criaremos dois espaços de nome. O primeiro namespace será criado com a política privilegiada usando o comando abaixo:
> Kubectl Criar namespace test-privilegiadoO segundo espaço para nome será criado com a política restrita, usando o comando abaixo:
> Kubectl Criar namespace Testes RestritoEtapa 2 (b): Defina os padrões de segurança nos namespaces
Agora, precisamos definir padrões de segurança para os namespaces que criamos na etapa anterior. Para definir o padrão de segurança para a política privilegiada, estamos usando o comando abaixo:
> Rótulo de Kubectl-Overwrite NS-Segurança de POD-Segurança de Teste NS.Kubernetes.io/exforce = segurança privilegiada.Kubernetes.io/warn = privilegiadoEstamos usando o comando abaixo para definir o padrão de segurança para a política limitada:
> Rótulo de Kubectl-Overwrite NS Restrito de teste de segurança.Kubernetes.io/exforce = segurança restrita de poda.Kubernetes.io/warn = restritoEsses padrões permitirão que os namespaces bloquearão qualquer vagem em execução e enviarão um aviso ao usuário se algum pod tentar executar no caso de não cumprir a política configurada. Agora, vamos tentar implantar pods no espaço de nome para verificar qual resultado obtemos.
Etapa 3: Implante vagens em namespaces
Os namespaces foram criados e os padrões de segurança são definidos neles. Então, vamos implantar pods nesses namespaces administrados por segurança de pods.
Etapa nº 3 (a): Tentativa de implantar pods
Primeiro, estamos implantando pods na política privilegiada usando o comando dado abaixo:
kalsoom@kalsoom-virtualbox> kubectl Aplicar-Namespace test-privileged -f https: // raw.GithubUserContent.com/azure-amostras/azul-voting-app-redis/master/azure-vote-all-in-one-redis.YamlSegundo, usando o comando fornecido abaixo, estamos implantando pods na política privilegiada:
Kalsoom@kalsoom-virtualbox> kubectl Aplicar-Namespace Test Restrito -f https: // RAW.GithubUserContent.com/azure-amostras/azul-voting-app-redis/master/azure-vote-all-in-one-redis.YamlQuando tentamos implantar pods na política limitada, foi gerado um aviso, como pode ser visto. Como os pods estão violando a política configurada, esse aviso foi gerado. Não há aviso gerado para a política privilegiada, porque nenhuma vagem está violando a política configurada.
Etapa 3 (b): Verifique as vagens em execução em namespaces
Agora, vamos verificar se há algum pod em nome de nome ou não. Primeiro, verificaremos a política privilegiada com o seguinte comando:
> Kubectl Get Pods -Namespace test -privilegiadoObserve que alguns pods estão em execução no espaço de nome. Não houve avisos gerados para a política privilegiada, o que significa que algumas vagens estão sendo executadas no espaço de nome que não violam a política configurada. Agora, vamos verificar se há algum pod em nome de nome restrito com o seguinte comando:
> Kubectl Get Pods -Namespace Restrito de testeNão há pods em execução no espaço de nome restrito. Lembre -se de que recebemos o aviso de que alguns pods violaram a política configurada na etapa anterior.
Etapa 4: Exclua o espaço para nome
O último passo é excluir os namespaces que criamos. Use o comando fornecido abaixo para excluir os espaços para nome:
> Kubectl Exclua nome de namespace restrito a testes-privilegiadosEste comando excluirá os dois namespaces do cluster.
Conclusão
Neste artigo, fornecemos diretrizes sobre a admissão de segurança de pod (PSA) em Kubernetes. Exploramos o que é uma admissão de segurança em Kubernetes. Também aprendemos a configurar a admissão de segurança de pod em Kubernetes para os pods em execução em um espaço para nome. Ao demonstrar um cenário simples, demonstramos como configurar facilmente a admissão de segurança de pod para os pods que executam em diferentes namespaces.