Crie papéis de RBAC em Kubernetes

Crie papéis de RBAC em Kubernetes
Este guia é sobre papéis de RBAC em Kubernetes. Discutiremos a configuração do RBAC em detalhes. Usando vários comandos, discutimos o RBAC na ferramenta de linha de comando kubectl. Podemos explicar todos os processos visualmente, anexando capturas de tela com código ou comandos para melhor compreensão. Este guia demonstra os papéis e responsabilidades do RBAC em Kubernetes, dividindo o processo em diferentes etapas. Nas seções a seguir, você entenderá melhor todo o processo. Então, vamos começar o guia com o básico dos papéis do RBAC em Kubernetes.

Qual é o papel do RBAC em Kubernetes?

O controle de acesso baseado em função é referido como RBAC em Kubernetes. Em Kubernetes, o método de controle de acesso baseado em função (RBAC) cria regras de controle de acesso que especificam quais usuários podem acessar quais recursos em um cluster. O RBAC é implementado por funções e ligações de função. Em Kubernetes, as funções de RBAC embutidas são clusterrole, função e serviceAccount. A função de cluster pode ser distribuída por todo o cluster. O papel conhecido como o papel pode receber um espaço para nome. Cada conta de serviço em um espaço para nome tem uma função interna definida automaticamente para isso.

Pré-requisitos

A versão mais recente do Ubuntu está instalada no seu sistema e instalada na caixa virtual no sistema, então executa uma versão de suporte do Ubuntu na caixa virtual paralela ao sistema operacional Windows. O sistema de usuários é um sistema operacional de 64 bits que executa ambos os sistemas operacionais com eficiência. Após a instalação do sistema operacional, o usuário deve ter uma idéia de Kubernetes, a linha de comando Kubectl e os arquivos ou vagens YAML e o usuário devem ter uma idéia de clusters em Kubernetes.

Vamos explicar o processo passo a passo aqui.

Etapa 1: Iniciar o cluster Kubernetes

Nesta etapa, iniciaremos os Kubernetes executando um minikube. Minikube é aglomerado em um Kubernetes que roda na máquina local. Executamos o comando para iniciar o Minikube:

kalsoom@kalsoom-virtualbox> Minikube Iniciar

Pressione Enter e o minikube é iniciado após o comando ser executado com sucesso. Conforme mostrado na captura de tela fornecida aqui:

Iniciar 2: Crie um espaço para nome em Kubernetes

Nesta etapa, criaremos um espaço para nome em Kubernetes usando a linha de comando Kubectl. Nós executamos o comando:

kalsoom@kalsoom-virtualbox> kubectl Criar namespace k8boss

Após a execução do comando, um espaço para nome com o nome K8boss é criado com sucesso em nosso aplicativo Kubernetes. Podemos usar um espaço para nome para separar os recursos dentro do cluster e gerenciar o acesso a esses recursos usando o RBAC.

Etapa 3: Crie uma função personalizada do RBAC em Kubernetes

Nesta etapa, criaremos uma função personalizada em Kubernetes facilmente com a ajuda do comando. Nós executamos o comando:

kalsoom@kalsoom -virtualbox> kubectl Crie função My -Custom -role - - verb = list - - Resource = Pods - - Namespace K8boss

O papel é criado com sucesso após a execução do comando. Nesse caso, um novo papel com um nome e autoridade específica foi criado no espaço para nome K8boss.

Etapa 4: descreva verbos e recursos na função

Nesta etapa, aprenderemos como descrevemos verbos e recursos em funções, conforme definido na etapa acima.

kalsoom@kalsoom -virtualbox> kubectl Crie função My -Custom -role - - verb = list - - verb = get - - Resource = pods - - Resource = Services - - Namespace K8boss

Quando executamos o comando, ele exibe a saída que a função é criada com verbos e recursos. No nosso caso, criamos o papel. Então, uma mensagem de erro é exibida.

Etapa 5: Crie uma função de conta de serviço em Kubernetes

Nesta etapa, discutiremos a função de conta de serviço em Kubernetes. Vamos executar o comando para criar uma conta de serviço:

kalsoom@kalsoom-virtualbox> kubectl Crie serviceaccount custom-sa -n k8boss

O nome do serviço como 'Custom-SA' é criado com sucesso em Kubernetes após a execução do comando. Os processos internos do cluster de Kubernetes podem receber autorização, autenticando -os com a ajuda da conta de serviço, que também serve como um meio de fazê -lo.

Etapa 6: buscar detalhes da função de conta de serviço

Nesta etapa, queremos obter a lista de funções da conta de serviço no RBAC Kubernetes e o nome da conta de serviço é 'Custom-SA' no espaço de nome 'K8boss'. Nós executamos o comando aqui:

kalsoom@kalsoom -virtualbox> kubectl get sa personaliza -sa -n k8boss -o yaml

Após a execução, este comando nos retorna uma vagem na qual as informações sobre a conta de serviço são armazenadas como tipo, metadados, nome, espaço para nome, recursos, etc.

Etapa 7: Verifique a lista de função da conta de serviço

Nesta etapa, verificaremos se a conta de serviço tem o verbo da lista na vagem. Se a conta de serviço tiver as permissões necessárias, o comando retornará um valor de 'sim'; Caso contrário, ele retorna um valor de 'não'. Executamos o comando para verificar o status:

kalsoom@kalsoom -virtualbox> kubectl auth lata -i list vods - -as = system: serviceAccount: k8boss: custom -sa -n k8boss

Quando o comando é executado, mostra que a saída é 'não', como mostrado na captura de tela acima, o que significa que a conta de serviço não possui a permissão necessária. Aqui, Kubectl 'Can -i' é usado para verificar a permissão concedida à conta de serviço.

Etapa 8: Crie um papel de ligação a função no RBAC Kubernetes

Nesta etapa, discutiremos a ligação de papéis em Kubernetes. Nós executamos o comando:

kalsoom@kalsoom-virtualbox> kubectl Crie função de my-cu-role-role--função = my-custom-role--serviceAccount = k8boss

Depois de executar o comando, a função vinculada ao nome 'My-Custom-Bolding' é criada com sucesso, como visto na captura de tela acima mencionada que vincula o papel à conta de serviço 'K8boss'. A ligação da função concederá as permissões definidas na função da conta de serviço, permitindo que ela execute certas ações dentro do cluster.

Etapa 9: Crie um cluster de ligação a função no cluster Kubernetes

Nesta etapa, criamos um cluster de ligação à função com a ajuda da linha de comando Kubectl. Nós executamos o comando:

kalsoom@kalsoom-virtualbox> kubectl Crie clusterRoleBinding My-Custom-clusterrole-binding--clusterRole = My-Custom-cluster-Role--ServiceAcCount = K8boss: Custom.SA

Quando o comando é executado, a ligação à função de cluster é criada em um momento. Usando este comando, uma função de cluster pode ser anexada a uma conta de serviço de namespace específica.

Etapa 10- Verifique a permissão para pods

Nisso, verificamos a permissão da conta de serviço no espaço para nome K8boss. Nós executamos o comando:

kalsoom@kalsoom -virtualbox> kubectl auth lata -i list vods - - como = sistema.ServiceAcount: K8boss: Cutom -Sa -n K8boss

Quando o comando é executado, ele retorna uma saída sim. Isso significa que este pod tem permissão para executar uma ação específica em Kubernetes.

Conclusão

Aprendemos sobre os diferentes papéis do RBAC em Kubernetes. Mencionamos informações sobre o que é RBAC e como esse conceito é usado em Kubernetes. Todas as informações são apresentadas em detalhes e as capturas de tela relevantes também são. Você pode praticar papéis de RBAC em seu aplicativo com exemplos para melhor compreensão.