Gostaria de aprender como configurar a autenticação LDAP do Kubernetes no Active Directory? Neste tutorial, vamos mostrar como autenticar os usuários do Kubernetes Dashboard usando o Windows Active Directory e o protocolo LDAP.

• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Kubernetes 1.18

Este tutorial instalará um nó mestre Kubernetes.

Em nosso exemplo, o endereço IP do nó mestre Kubernetes é 192.168.15.200.

Em nosso exemplo, o endereço IP do controlador de domínio é 192.168.15.10.

Tutorial Windows – Firewall do Controlador de Domínio

• IP – 192.168.15.10
• Sistema Operacional – WINDOWS 2012 R2
• Nome de host – TECH-DC01

Primeiro, precisamos criar uma regra de Firewall no controlador de domínio do Windows.

Essa regra de firewall permitirá que o servidor Kubernetes consulte o Active Directory.

No controlador de domínio, abra o aplicativo chamado Firewall Windows com Segurança Avançada

Crie uma nova regra de firewall inbound.

zabbix active directory

Selecione a opção PORT.

zabbix windows firewall port

Selecione a opção TCP.

Selecione a opção de portas locais específicas.

Digite a porta TCP 389.

zabbix windows firewall port ldap

Selecione a opção permitir a conexão.

zabbix windows firewall allow connection

Verifique a opção DOMÍNIO.

Verifique a opção PRIVADA.

Confira a opção PÚBLICO.

Zabbix windows firewall profile

Digite uma descrição da regra do firewall.

windows firewall active directory

Parabéns, você criou a regra de firewall necessária.

Essa regra permitirá que o servidor Kubernetes consulte o banco de dados do Active Directory.

Tutorial Windows – Criação de Conta de Domínio

Em seguida, precisamos criar pelo menos 2 contas no banco de dados do Active Directory.

A conta ADMIN será usada para fazer login no Dashboard do Kubernetes.

A conta BIND será usada para consultar o banco de dados do Active Directory.

No controlador de domínio, abra o aplicativo chamado: Usuários e Computadores do Active Directory.

Crie uma nova conta dentro do contêiner usuários.

Zabbix active directory account

Crie uma nova conta chamada: administração

Senha configurada para o usuário ADMIN: 123qwe..

Esta conta será usada para autenticar na interface web kubernetes.

active directory admin account
zabbix active directory admin properties

Crie uma nova conta chamada: bind

Senha configurada para o usuário BIND: kamisama123..

Kubernetes usará essa conta para consultar o Active Directory.

active directory bind account
zabbix active directory ldap bind properties

Parabéns, você criou as contas necessárias do Active Directory.

Tutorial Windows – Criação de grupos de domínio

Em seguida, precisamos criar um grupo no Active Directory.

No controlador de domínio, abra o aplicativo chamado: Usuários e Computadores do Active Directory.

Crie um novo grupo dentro do contêiner Usuários.

Grafana active directory group

Crie um novo grupo chamado KUBERNETES-ADMIN.

Os membros deste grupo terão permissão administrativa no Dashboard Kubernetes.

Kubernetes LDAP authentication group

Importante! Adicione o usuário do ADMIN como membro do KUBERNETES-ADMIN.

Kubernetes LDAP Active directory group

Parabéns, você criou os grupos do Active directory necessários.

Tutorial Kubernetes – Instalação do Master Node

Instale a lista de pacotes necessários.

Copy to Clipboard

Instale o serviço Docker.

Copy to Clipboard

Habilite o serviço Docker durante a inicialização.

Copy to Clipboard

Edite o arquivo de configuração do serviço Docker.

Copy to Clipboard

Adicione a seguinte configuração no final do item nomeado: EXECSTART

Copy to Clipboard

Aqui está o arquivo antes de nossa configuração.

Copy to Clipboard

Aqui está o arquivo após nossa configuração.

Copy to Clipboard

Crie um arquivo de configuração do sistema.

Copy to Clipboard

Aqui está o conteúdo do arquivo.

Copy to Clipboard

Habilite o arquivo de configuração do sistema.

Copy to Clipboard

Edite o arquivo de configuração nomeado: MODULES.CONF

Copy to Clipboard

Adicione a seguinte configuração no final deste arquivo.

Copy to Clipboard

Edite o arquivo de configuração FSTAB e desabilite o uso da memória Swap.

Copy to Clipboard

Aqui está o arquivo antes de nossa configuração.

Copy to Clipboard

Aqui está o arquivo após nossa configuração.

Copy to Clipboard

Defina um nome de host único.

Copy to Clipboard

Crie um arquivo para configurar as variáveis de ambiente necessárias.

Copy to Clipboard

Aqui está o conteúdo do arquivo.

Copy to Clipboard

Reinicie o computador.

Copy to Clipboard

Baixe e instale a chave do repositório Kubernetes.

Copy to Clipboard

Adicione o repositório oficial do pacote Kubernetes.

Copy to Clipboard

Instale os pacotes Kubernetes.

Copy to Clipboard

Baixe as imagens necessárias de Kubernetes.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Inicialize o cluster Kubernetes.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Tome nota do comando para adicionar nós ao cluster Kubernetes.

Copy to Clipboard

Defina a permissão de arquivo correta no arquivo de configuração do Kubernetes.

Copy to Clipboard

Instale a configuração de rede necessária.

Copy to Clipboard

Por padrão, um node master Kubernetes não pode executar PODS.

Opcionalmente, habilite o mestre Kubernetes para executar PODS.

Copy to Clipboard

Em nosso exemplo, estamos usando um cluster Kubernetes de um nó único.

Tutorial – Instalação do Kubernetes Dashboard

Instale a lista de pacotes necessários.

Copy to Clipboard

Baixe o arquivo YAML necessário.

Copy to Clipboard

Instale o Kubernetes Dashboard.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Crie uma conta de serviço para o Dashboard.

Copy to Clipboard

Configure a função administrador do Cluster na conta de serviço do Dashboard.

Copy to Clipboard

Crie uma conta de serviço para o proxy Apache.

Copy to Clipboard

Configure a função de administrador do Cluster para a conta proxy Apache.

Copy to Clipboard

Liste o segredo Apache disponível no servidor Kubernetes.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Note que o nome do seu segredo não será o mesmo que o nosso.

Pegue o valor do símbolo secreto apache.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Tome nota do valor do token Apache.

Em nosso exemplo, este é o valor do token:

Copy to Clipboard

Liste o endereço IP do cluster do serviço do Dashboard.

Copy to Clipboard

Aqui está a saída de comando.

Copy to Clipboard

Tome nota do endereço IP do cluster e da porta TCP.

Em nosso exemplo, o cluster Dashboard está usando a porta TCP 443 e o endereço IP 10.107.55.24.

Você terminou a configuração necessária do Dashboard.

Kubernetes Proxy – Autenticação básica do usuário usando Apache

No node master, instale o servidor Apache.

Copy to Clipboard

Habilite os módulos Apache necessários.

Copy to Clipboard

Edite o arquivo de configuração do Apache.

Copy to Clipboard

Adicione as seguintes linhas ao final deste arquivo.

Copy to Clipboard

Crie uma chave e certificado privados usando o comando OpenSSL.

Copy to Clipboard

Insira as informações solicitadas.

Copy to Clipboard

Na opção nomeada COMMON_NAME, você deve inserir o endereço IP ou o nome do host.

Em nosso exemplo, usamos o endereço IP: 192.168.15.200

Converta seu certificado de proxy Kubernetes existente e a chave para um único arquivo no formato PEM.

Copy to Clipboard

Edite o arquivo de configuração Apache para o site padrão.

Copy to Clipboard

Aqui está o arquivo, antes de nossa configuração.

Copy to Clipboard

Aqui está o arquivo, depois de nossa configuração.

Copy to Clipboard

Altere o endereço IP dos itens de configuração chamados AUTHLDAPURL para o endereço IP do controlador de domínio.

Altere todas as informações de domínio no Active Directory para refletir seu ambiente.

Altere o endereço IP dos itens de configuração chamados PROXYPASS e PROXYPASSREVERSE para o endereço IP do cluster Dashboard.

Altere o valor do token do CI chamado REQUESTHEADER para o valor do token secreto Apache criado anteriormente.

Em nosso exemplo, habilitamos o uso de HTTPS através de certificados auto-assinados.

Copy to Clipboard

Em nosso exemplo, configuramos o uso da autenticação LDAP.

Copy to Clipboard

O Apache representará a comunicação HTTPS entre o usuário e o endereço IP do cluster Dashboard.

Copy to Clipboard

O Apache usará um certificado e uma chave criados automaticamente durante a instalação do servidor Kubernetes para executar a autenticação TLS mútua no Painel.

Copy to Clipboard

O servidor Apache adicionará um cabeçalho a todos os pacotes enviados ao Painel.

Este cabeçalho é chamado DE PORTADOR DE AUTORIZAÇÃO e contém o token secreto criado anteriormente no proxy Apache.

Copy to Clipboard

O Apache também redirecionará os usuários HTTP para a versão HTTPS da URL solicitada.

Copy to Clipboard

Reinicie o serviço Apache.

Copy to Clipboard

Abra seu navegador e acesse a versão HTTPS do endereço IP do servidor Apache.

Em nosso exemplo, a seguinte URL foi inserida no navegador:

• https://192.168.15.200

O servidor Apache exigirá que você execute a autenticação do usuário.

Kubernetes Dashboard Proxy Authentication

Após um login bem-sucedido, o Dashboard do Kubernetes deve ser apresentado.

Kubernetes Dashboard

O proxy Apache autenticará automaticamente no Painel Kubernetes usando o recurso chamado: AUTH HEADER.

Kubernetes dashboard Authorization bearer

Você completou com sucesso a configuração do Apache como um proxy para o Painel Kubernetes.