As vezes precisamos de ferramentas não disponíveis em uma imagem pre-construída, como o comando openssl. Nesse artigo vou mostrar rapidamente como construir uma imagem com openssl para gerar um certificado de dominio rodando em nossa plataforma Kubernetes/OpenShift

Primeiro vamos criar uma imagem com o pacote openssl instalado. Crie o arquivo Dockerfile em qualquer local e faça build da imagem:

FROM openshift/base-centos7
USER root
RUN yum install -y openssl && yum clean all
USER 1001

Agora vamos gerar a imagem e enviar para o Docker hub.

Note que é necessário estar logado na sua conta do docker hub. Caso não possua uma, crie em https://hub.docker.com/

Troque o nome da conta para o seu username — o meu é "caruccio":

$ sudo docker build -t caruccio/openssl .
$ sudo docker push caruccio/openssl

Agora só precisamos criar um Pod a partir dessa imagem. Para isso vamos usar o comando "oc run" e criar um Pod temporário a partir do novo container :

Se você não tem uma conta na Getup, faça a sua gratuitamente em https://getupcloud.com/pt-br/signup/ e configure seu cliente de linha de comando "oc" em https://ajuda.getupcloud.com/hc/pt-br/articles/221403968

$ oc run openssl --image=caruccio/openssl --stdin --tty --restart=Never --rm -- /bin/bash

Esse comando nos joga dentro do container, executando um shell bash onde podemos gerar nosso certificado!

bash-4.2$ cd /tmp
bash-4.2$ openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

### Responda as perguntas...

bash-4.2$ ls -la yourdomain.*
-rw-r--r--. 1 1003910000 root 1110 Jan 23 17:24 yourdomain.csr
-rw-r--r--. 1 1003910000 root 1704 Jan 23 17:24 yourdomain.key

### Para ver os arquivos:

bash-4.2$ cat yourdomain.csr
bash-4.2$ cat yourdomain.key

Para sair do container basta executar exit . Isso vai deletar o Pod automaticamente:

bash-4.2$ exit
exit
pod "openssl" deleted
$

Feito! Agora é só submeter o CSR para sua certificadora.

Social

Fale conosco

Almeda Campinas 802, CJ 12, Jardim Paulista,

São Paulo - SP, 01404-001

Faça parte do time

Nossos conteúdos

Social

Fale conosco

Almeda Campinas 802, CJ 12, Jardim Paulista,

São Paulo - SP, 01404-001

Faça parte do time

Nossos conteúdos

Social

Fale conosco

Almeda Campinas 802, CJ 12, Jardim Paulista,

São Paulo - SP, 01404-001

Faça parte do time

Nossos conteúdos