Case: DevOps na AKS – Parte 3

Introdução

Nesta etapa vamos definir quais ambientes vamos utilizar. Essa é a teceira parte de um tutorial sobre implantanção de DevOps sobre Kubernetes em um ambiente AKS gerenciado da Azure.

Preparação dos Ambientes de Homologação e Produção

Vamos montar uma estrutura em cluster compartilhando os recursos de nosso cluster entre os ambientes. Vamos utilizar um ambiente de homologação, que será o ambiente equivalente a branch “Release” do Git-Flow, que aqui chamaremos de “homolog”, e o ambiente de Produção, que será usado para promoção do executável do ambiente de homologação, que aqui será chamado “production”.

Configurando variáveis de ambientes

O problema de usar variáveis de ambiente Docker, declarando no Dockerfile, ou no Kubernetes, declarando no arquivo de deployment, é que elas estão vinculadas ao contêiner ou à implementação. Se você quiser alterá-los, precisará reconstruir o contêiner ou modificar a implementação. Pior ainda, se você quiser usar a variável com vários contêineres ou implantações, terá que duplicar os dados!

O Kubernetes resolve esse problema com o Secrets (para dados confidenciais) e o ConfigMaps (para dados não confidenciais).

A grande diferença entre Secrets e ConfigMaps é que os Secrets são ofuscados com uma codificação Base64. Pode haver mais diferenças no futuro, mas é uma boa prática usar Secrets para dados confidenciais (como chaves de API) e ConfigMaps para dados não confidenciais (como números de porta).

Criando as secrets

O comando abaixo nos permite criar um arquivo de Secrets no ambiente “homolog” apartir de três conjuntos de chave/valor.

Após a criação podemos pegar o Yaml gerado com seguinte comando:

Usando a Secret na aplicação

Vamos agora alterar o arquivo de deployment para buscar a variáveis de ambiente a partir da Secret criada. O exemplo abaixo é apenas didático.

Leave a Reply

Pin It on Pinterest