Adicione um certificado SSL/TLS ao cluster Kubernetes

Adicione um certificado SSL/TLS ao cluster Kubernetes

Os certificados SSL são usados ​​para proteger o aplicativo feito em Kubernetes para segurança futura. Vamos pegar outro certificado seguro, TLS, que contém uma chave privada muito segura. Certificados são criados com certificados: K8R.IO API. Ensinaremos sobre configuração de certificado SSL com a ajuda de exemplos detalhados. Vamos começar com o certificado SSL em Kubernetes. Os certificados SSL são muito importantes para os navegadores. O navegador, com a ajuda dos certificados SSL e TLS, cria uma conexão segura com os serviços Kubernetes.

Pré-requisitos:

Todo usuário deve ter a versão mais recente do Ubuntu de seu sistema. O usuário do sistema operacional Windows instala uma caixa virtual e adiciona Ubuntu ou Linux virtualmente ao sistema. Os usuários devem estar familiarizados com Kubernetes, a linha de comando Kubectl, vagens e aglomerados, e conhecer o cluster dns para entender melhor esse tópico.

Vamos dar uma breve olhada na configuração do certificado SSL em Kubernetes, dividindo todo o procedimento em diferentes etapas.

Etapa 1: Iniciar o painel de controle do Kubernetes

Queremos um ambiente em nosso aplicativo, onde podemos executar comandos Kubernetes para executar tarefas de Kubernetes. Como resultado, Kubernetes nos fornece um contêiner local chamado “Minikube.Em todos os aplicativos Kubernetes, iniciaremos um Minikube em Kubernetes, que é basicamente um terminal, necessário para a execução de comandos Kubernetes. Nesta etapa, executamos o comando para inicializar o Minikube, que é:

> Minikube Start

Quando executamos este comando em nosso terminal do sistema, a execução do comando começa pressionando o botão Enter. O comando nos mostra uma captura de tela abaixo tachada.

Etapa 2: Gere Solicitação de assinatura de certificado

Depois de criar um cluster usando o Minikube, agora queremos criar uma solicitação de assinatura de certificado. Em troca dessa ação, executamos o comando para assinar a solicitação de certificado e gerar uma chave privada.

> gato <

Após a execução da consulta, a solicitação é gerada com sucesso com a chave privada. O resultado está anexado acima como uma captura de tela.

Etapa 3: Crie um manifesto de solicitação de assinatura de certificado no arquivo YAML

Nesta etapa, criaremos um manifesto de arquivo YAML para criar uma CSR em Kubernetes. Nós executamos o comando abaixo:

> gato <

Após a execução deste comando, um arquivo YAML é criado com sucesso. E enviamos para o servidor API, conforme mostrado na captura de tela anexada.

Etapa 4: Obtenha o status da solicitação de assinatura de certificado

Nesta etapa, examinaremos o status de RSE como visto através da API. Podemos executar o comando fornecido para recuperar o status da solicitação de certificado.

> Kubectl Descreva o CSV My-SVC.My-Namespace

Quando o comando é executado, o status de RSE é exibido na saída, como mostrado na captura de tela em anexo. O status da RSE está "pendente" e esse status vem da API. O nome do arquivo é My-SVC. my-namespace e anotações, solicitando o usuário e o assunto, sujeitos nomes alternativos com nomes de DNS e endereços IP, eventos, etc. estão incluídos na descrição da CSR. O status está "pendente", o que significa que o certificado de RSE ainda não foi aprovado.

Etapa 5: Aprovamento de certificados de RSE

O status do certificado de RSE ainda está pendente. Então, neste caso, enviaremos uma consulta à API de Kubernetes para aprovar o certificado de RSE. Executamos este comando para aprovação:

> Certificado Kubectl Aprovar My-SVC .My-Namespace

O comando mostra a saída após a execução. Uma pessoa autorizada, como a Administração Kubernetes, aprova o certificado de RSE. Como somos usuários autorizados, criamos arquivos YAML. Como resultado, o certificado de RSE é facilmente aprovado usando o comando, conforme mostrado na captura de tela abaixo para esclarecimentos.

My-SVC.My-Namespace é aprovado com sucesso através dos certificados.K8S.IO API.

Etapa 6: busque o certificado de RSE em Kubernetes

Agora estamos esperando para ver se o certificado de RSE foi aprovado. Então, executaremos o comando para obter uma lista de todos os certificados de RSE que estão atualmente ativos no sistema. Execute o comando:

> kubectl obter CSR

O nome do certificado de RSE aprovado em Kubernetes é mostrado na captura de tela em anexo. Este comando retorna o nome, idade, nome do assinante, solicitante, duração solicitada e condição do certificado de RSE.

Etapa 7: assine o certificado criando autoridade

Nesta etapa, veremos como os certificados são assinados em Kubernetes. O certificado SSL foi aprovado, mas ainda não assinado. O nome do assinante aparece no certificado em Kubernetes. Executamos o comando através do qual o signatário solicitado assina o certificado. O comando é:

> gato <
"CN": "Meu exemplo de signatário",
"chave":
"Algo": "RSA",
"Tamanho": 2048


Eof

O comando é executado para assinar o certificado digitalmente. O signatário assina os certificados solicitados e atualiza o status da API com o comando, “Certificado SSL.”Criamos um certificado de assinatura executando o comando acima e o resultado é mostrado na captura de tela anexada. Um número de série único foi usado com sucesso para assinar o certificado.

Etapa 8: Crie um arquivo json para emitir um certificado

Após a assinatura do certificado, criamos um arquivo json do qual emitimos um certificado. Criaremos um arquivo JSON executando o seguinte comando com a captura de tela anexada:

> Nano SigningFile.JSON

Depois que o comando é executado, o arquivo json é criado como pode ser visualizado na captura de tela abaixo.

Etapa 9: Use Config de assinatura do servidor.JSON

Nesta etapa, usamos o arquivo de sinalização do servidor que está no JSON para assinar e emitir os certificados. Executamos o comando para assinatura de certificado com um arquivo de chave privado.

> Kubectl Obtenha CSR My-SVC.my -namespace -o jsonpath = '.espec.solicitação '| \ base64 -Decodo | \ CFSSL Sign -ca CA.PEM -ca Ca-key Ca-key.PEM-CONFIG-SIGNEGING-CONFIG.json | \ cfsssljson -Bare CA assinado servidor

Após esse comando, o certificado que já está definido no arquivo JSON é assinado. O número de série desta RSE é gerado. Aqui, geramos um arquivo de certificado de porção assinado chamado “servidor assinado pela CA.PEM.”

Etapa 10: Upload de certificado assinado no objeto API

Nesta etapa, enviamos o certificado assinado para o status da API pendente que vimos acima. O comando para o upload é:

> Kubectl Obtenha CSR My-SVC.my -namespace -o json | \ jq '.status.certificado = "
'$ (BASE64 CA assinado servidor.PEM | tr -d '\ n') '"' | \
> kubectl substitua -raw /apis /certificados.K8S.io/v1/certificateSigningRequests/my-svc.My- namespace/status -f -

Quando este comando é executado, o certificado assinado é carregado com sucesso sempre que a RSE é aprovada. A captura de tela anexada nos mostra um formato JSON que envia o certificado assinado como objetos da API.

Etapa 11: Alistar certificados aprovados em Kubernetes

Novamente executamos o comando para mostrar os certificados aprovados em Kubernetes.

> kubectl obter CSR

O certificado foi aprovado e emitido com sucesso, conforme mostrado na captura de tela acima.

Etapa 12: salve o certificado no sistema

Nesta etapa, aprenderemos como baixar o certificado assinado e usá -lo com sucesso em nosso sistema. Implantamos facilmente o certificado no servidor. O comando é:

> Kubectl Obtenha CSR My-SVC.my -namespace -o jsonpath = '.status.certificado' \
| Base64 -Decode> Servidor.Crt

Etapa 13: Preencha o certificado

Nesta etapa, aprenderemos a preencher o certificado no servidor para que possamos usar facilmente o certificado para segurança da web. Nós executamos o comando:

kalsoom@kalsoom> kubectl Crie servidor Secret TLS -Cert Server.CRT-Key Server-Key.PEM

A captura de tela ligada acima nos mostra que o TLS Seguro ou Secret Server é criado com sucesso com o Name Cert Server.CR e tendo chave de servidor privada.PEM.

Etapa 14: Mapa de configuração do certificado

Nesta etapa, configuraremos o certificado para garantir que ele seja um certificado de porção seguro executando o comando abaixo:

> Kubectl Crie configuração de exemplo que serve-CA-a partir do arquivo.CRT = CA.PEM

Conforme mostrado na captura de tela anexada, o mapa de configuração/exemplo que serve-CA é criado com sucesso em Kubernetes para uma conexão segura no servidor da web.

Conclusão

Os certificados SSL são usados ​​para fornecer segurança aos aplicativos Kubernetes no servidor da Web. Explicamos todos os detalhes de passo para o seu entendimento. Você também pode executar os mesmos comandos no seu aplicativo Kubernetes para instalar o certificado SSL.