O Ingress é usado para gerenciar o tráfego de entrada do aplicativo e também para encerramento de SSL. Por outro lado, os segredos são usados para armazenar informações confidenciais e certificados TLS para aplicação.
Esta postagem irá ilustrar:
- Quais são os segredos do Kubernetes?
- Pré-requisito: Gerar chave privada e certificado
- Como criar TLS secreto no Kubernetes?
- Como criar um segredo por meio de arquivo Yaml?
- Como incorporar segredo ao pod do Kubernetes?
- Conclusão
Quais são os segredos do Kubernetes?
Os segredos são um dos recursos do Kubernetes, usados para armazenar informações confidenciais, como credenciais de login do usuário, chaves, certificados ou tokens. Os segredos podem ser criados individualmente e conectados a pods. Impede que o desenvolvedor forneça dados confidenciais em código e também fornece uma camada extra de segurança. Diferentes tipos de segredos podem ser criados e usados. Os segredos mais comumente usados são:
Segredo genérico: Os segredos genéricos são utilizados para armazenar informações básicas, como senhas, tokens, chaves de API, chaves OAuth e assim por diante.
Segredo TLS: Os segredos TLS são usados para armazenar chaves privadas e certificados assinados pela CA. Para garantir a segurança dos aplicativos executados no Kubernetes e proteger a comunicação dentro do cluster, o usuário geralmente precisa criar e incorporar segredos TLS ao pod.
Registro Docker: Ele é usado para armazenar a credencial de registro do docker para extrair facilmente as imagens do registro.
Pré-requisito: Gerar chave privada e certificado
Para criar o certificado e a chave privada para melhoria da segurança, utilize OpenSSL que cria o CSR (solicitação de assinatura de certificado) e a chave privada. Em seguida, use o CSR para gerar os certificados autoassinados ou CA.
Para utilizar os comandos OpenSSL no Windows, os usuários são obrigados a instalar o Git. Para tanto, siga nosso link “ Instale o git no Windows ' artigo.
Após instalar o git, siga as instruções abaixo para gerar uma chave privada e um certificado assinado.
Etapa 1: iniciar o terminal Git Bash
Faça uma busca por “ Git Bash ”No menu Iniciar e inicie o terminal:
Para verificar o diretório atual use o “ senha ”comando:
senhaAtualmente estamos trabalhando no diretório %USERPROFILE%:
Etapa 2: criar novo diretório
Crie um novo diretório para salvar os certificados e a chave privada:
mkdir certificadoNavegue até o diretório recém-criado usando o “ cd ”comando:
cd certificado
Etapa 3: gerar chave privada
Agora, gere a chave privada através do comando fornecido. Aqui, a chave privada gerada será salva em “ meucert.key ”:
chave genp do openssl -algoritmo RSA -fora meucert.key
Etapa 4: gerar CSR
Para gerar o CSR (solicitação de serviço de certificado) para obter um certificado assinado, use o comando fornecido:
solicitação de openssl -novo -chave meucert.key -fora meucert.csr
Etapa 5: gerar certificado
Por último, usando a chave privada gerada e o CSR, crie um certificado e salve-o no “ meucert.crt ' arquivo. Para isso, execute o comando abaixo:
OpenSSL x509 -req -em meucert.csr -chave de sinal meucert.key -fora meucert.crt -dias 365
Após gerar os certificados TLS, o usuário pode criar o TLS secreto seguindo a seção abaixo.
Como criar TLS secreto no Kubernetes?
Para garantir a segurança do aplicativo e a comunicação segura dentro e fora do cluster Kubernetes, os certificados TLS (Transport Layer Security) são essenciais e são usados na criptografia de dados. O segredo do Kubernetes nos permite incorporar o certificado TLS com pods em execução por meio de TLS secreto. Para criar um TLS secreto no Kubernetes, siga as instruções a seguir.
Etapa 1: iniciar o cluster Minikube
Para iniciar o cluster minikube, primeiro inicie o Windows PowerShell como administrador. Depois disso, crie e execute o cluster usando o “ início do minikube ”comando:
início do minikube
Etapa 2: obter nós
Acesse o nó do Kubernetes para verificar se o cluster está iniciado ou não:
minikube obtém nós
Etapa 3: criar TLS secreto
Crie o segredo TLS no Kubernetes usando “ kubectl create secret
Etapa 4: obtenha segredos
Para confirmação, liste o segredo do Kubernetes usando o comando fornecido:
kubectl obtém segredoAqui, você pode ver que criamos efetivamente um “ demonstração-secreta ' Isso contém ' 2 ”valores de dados:
Etapa 5: descreva o segredo
Para ver como os dados são visualizados ou armazenados em segredo, descreva o segredo usando o “ kubectl descreve segredo
Você pode ver que os valores são armazenados em bytes e não podem ser visualizados diretamente, ao contrário dos ConfigMaps do Kubernetes:
Como criar um TLS secreto por meio de arquivo Yaml?
Para criar um TLS secreto por meio de um arquivo yaml, primeiro crie um “ segredo.yml ”Arquivo, adicione o certificado codificado tls base64 no ' tls.crt ”E adicione o chave codificada em base64 no ' tls.key ”.
Para demonstração, siga as etapas listadas.
Etapa 1: criar arquivo Yaml
Crie um arquivo chamado “ segredo.yml ”E cole o código fornecido:
versão api : v1dados :
tls.crt : 'certificado codificado em base64'
tls.key : 'chave codificada em base64'
tipo : Segredo
metadados :
nome : segredo-mytls
espaço para nome : padrão
tipo : kubernetes.io/tls
No snippet acima, substitua os valores-chave “tls.crt” e “tls.key” pelo seu certificado original e valores-chave:
Etapa 2: crie um segredo
Agora, aplique o arquivo yaml secreto por meio do “ kubectl apply -f
A saída mostra que criamos com sucesso o “ segredo-mytls ”usando o arquivo yaml:
Nota: Visualize o certificado TLS e a chave privada
Para visualizar o certificado codificado em base64 e usá-lo no arquivo yaml, execute o “ cat
Para visualizar a chave codificada em base64, use “ cat
Como incorporar TLS secreto com pod Kubernetes?
Depois de criar o TSL secreto, o usuário pode incorporá-lo ao pod Kubernetes. Para fazer isso, use as instruções a seguir.
Etapa 1: criar arquivo Yaml
Faça um arquivo chamado “ pod.yml ”Arquivo e cole o trecho abaixo no arquivo:
versão api: v1tipo: vagem
metadados:
nome: demo-pod
especificação:
containers:
- nome: html-cont
imagem: rafia098 / html-img: 1,0
envDe:
- segredoRef:
nome: demo-secret
No trecho acima:
- “ tipo ”Especifica o recurso Kubernetes que o usuário está criando.
- “ nome ”A tecla definirá o nome do pod.
- “ containers ”A chave armazenará as informações do contêiner.
- “ nome ” sob a chave “containers” definirá o nome do contêiner.
- “ imagem ”A chave fornecerá a imagem do aplicativo ou contêiner para criar e iniciar o aplicativo dentro do contêiner.
- “ ambienteDe ”A chave definirá a variável de ambiente de outros recursos do Kubernetes. Aqui, para incorporar o TLS secreto em um pod, “ segredoRef ”É usado para fornecer uma referência secreta. Para incorporar o TLS secreto acima, especifique o nome do segredo na chave “nome”.
Etapa 2: criar ou atualizar o pod
Em seguida, abra a pasta onde está o “ pod.yml ”O arquivo é criado:
cd C:\Users\Dell\Documents\Kubernetes\Secret
Aplique o arquivo yaml para criar ou reconfigurar o pod usando o “ aplicar kubectl ”comando:
aplicar kubectl -f pod.yml
Etapa 3: acessar pods do Kubernetes
Para verificação, liste os pods do Kubernetes:
kubectl obter podAqui, você pode ver que criamos o “ pod de demonstração ”com sucesso:
Etapa 4: descreva o pod
Para verificar se o pod incorporou o TLS secreto ou não, descreva o pod usando o comando abaixo:
kubectl descreve pod demo-podA saída abaixo mostra que incorporamos com sucesso o segredo TLS ao pod:
Abordamos como criar TLS secreto e incorporá-lo ao aplicativo Kubernetes em execução no pod.
Conclusão
Para criar o TLS secreto no Kubernetes, primeiro crie o certificado assinado TLS e a chave privada. Depois disso, inicie o cluster Kubernetes e execute o “ kubectl create secret