terça-feira, 14 de janeiro de 2020

Devops - Configurando um cluster Kubernetes na IBMCloud

Fala Pessoal, nesse artigo vou demonstrar como criar um cluster Kubernetes dentro da estrutura da IBMCloud.


Basicamente vamos ver:
  • Criação de estrutura de permissão (IAM) para grupo de recursos e grupos de acesso (opcional)
  • Criação do cluster Kubernetes

Criação de estrutura de permissão (IAM) - grupos de recursos e grupos de acessos.

Essa parte de gerenciamento de permissão IAM, tem como objetivo organizar os recursos criados dentro da nuvem da IBM bem como designar/controlar acessos necessários de usuarios aos recursos do IAM.

Está parte da configuração é opcional, mas é importante para um ambiente produtivo onde você deseja controlar o acesso aos recursos de cada membro de sua equipe.

1) A primeira coisa a se fazer é criar um grupo de recurso, para isso dentro do portal ibmcloud acesse o menu Gerenciar > Acesso IAM e clique em Grupo de Recursos.



2) Clique em criar


3) Digite o nome do novo resource group e clique em incluir.
Futuramente você pode criar outros grupos como DEV e PROD e conceder a um membro de sua equipe acesso somente a um determinado grupo de recurso.




4) Na imagem abaixo, é possivel ver o nosso resource group criado




5) Agora precisamos criar um grupo de acesso onde vamos vincular usuários e dar algumas permissões.



 6) Clique em criar.



7) Digite um nome e descrição para seu grupo de acesso e clique em criar.




8) depois de clicar no botão criar da tela acima, aparecerá a tela abaixo onde será necessário clicar no botão “Incluir usuários” para associar membros ao grupo HLG.




9) Selecione os usuários que já estão cadastrados na IBM depois clique em “Incluir no grupo”





10) Na tela abaixo, podemos visualizar os usuários que acabamos de incluir no grupo HLG




11) Com o grupo e seus membros configurados, agora precisamos definir os acessos desse novo grupo, dentro das propriedades do grupo HLG, clique na aba Politicas de acesso e clique em “Designar acesso”




12) Escolha a opção “Designar acesso dentro de um grupo de recursos”




13) Deixe as demais configurações conforme tela abaixo e depois clique em designar.





14) Abaixo é possível ver as Políticas de Acesso que acabamos de criar.


Com a estrutura de grupos de acesso e grupos de recursos criada, agora vamos a criação de nosso Cluster Kubernetes.




Criando Cluster Kubernetes

1) Com um conta admin do IBMCloud, procure no catalogo por Kubernetes > Criar cluster






2) Crie o cluster kubernetes seguindo as orientações da imagem abaixo. Para ambiente de estudos ou lab, você pode criar o cluster usando o plano gratuito onde você terá apenas um NÓ, em nosso exemplo, estamos usando o plano padrão (standard) pois vamos rodar nosso cluster com 3 NÓS.





3) Depois de clicar em criar cluster, o processo pode demorar de 10 a 20 minutos, portanto essa é a hora de você tomar um café!!!





4) Se tudo correr bem, seu cluster kubernetes estará com o status Normal




Bem...agora que o nosso cluster está pronto, vamos conectar no mesmo. Basicamente existem duas maneiras de se conectar no cluster Kubernetes:

a) Acesso via comandos CLI IBMCloud
b) Acesso via Painel do Kubernetes


Conectando no Cluster Kubernetes pelo Painel IBMCloud

Essa é facil...para acessar o dashboard do Kubernetes, via painel IBMCloud, basta clicar em Painel Kubernetes.




6) Na tela abaixo podemos ver nosso Dashboard do Kubernetes, sem nenhum deploy.


Conectando no Cluster Kubernetes via comandos IBMCloud CLI

Antes de começarmos, é necessario instalar o IBMCloud CLI em nosso terminal mac/linux.
Em nosso exemplo estou usando um terminal Linux, mas o comando para instalar o ibmcloud cli é o mesmo para os dois sistemas.

Instalando IBMCloud CLI
curl -sL https://ibm.biz/idt-installer | bash

Para mais informações acesse o link: https://cloud.ibm.com/docs/cli?topic=cloud-cli-getting-started



Para verificar se o cli foi instalado, rode o comando:

ibmcloud -v



Depois que o IBMCloud CLI foi instalado, é necessário instalar plugins adicionais de acordo com o seu uso. Rode o comando abaixo para obter uma lista dos plugins disponiveis para instalação:

ibmcloud plugin repo-plugins -r "IBM Cloud"



Para instalar um plugin especifico use ibmcloud plugin install [nomedoplugin].

Por hora vamos instalar apenas dois plugins (kubernetes-servicecontainer-registry), portanto rode os dois comandos abaixo:

ibmcloud plugin install kubernetes-service
ibmcloud plugin install container-registry

Como eu já tinha os plugins instalados, o cli sugeriu atualizar os mesmos.


Para listar os plugins instalados, rode:

ibmcloud plugin list


Agora com o IBMCloud CLI e seus plugins instalados, vamos aos comandos para conectar em nosso cluster kubernetes. Abra novamente as configurações do cluster kubernetes e clique na guia Acessos.

Perceba que na imagem abaixo, já é fornecido um passo-a-passo dos comandos que você precisará rodar em seu terminal para conectar no cluster kubernetes. Esses comandos já vem preenchidos com as informações como grupo de recursos, id do cluster  e variaveis de ambiente para conexão.




Com base na imagem acima...rode o primeiro comando:




Rode o segundo comando.





Veja na imagem acima que após rodar o comando 2, no final será gerado uma linha de export, copie essa linha para rodar o comando 3.



Feito isso, você já estará conectado no cluster kubernetes, rode um kubectl cluster-info para obter informações sobre o seu cluster.


E é isso pessoal!!! Com isso finalizamos a criação do Cluster Kubernetes dentro da IBMCloud.

No proximo artigo vou demostrar como fazer o deploy e publicação de uma aplicação via arquivo yml dentro do Kubernetes

abçs!!!!!

quinta-feira, 9 de janeiro de 2020

Java Tomcat7 - Problema horario de verão

Recentemente tive um problema onde uma aplicação rodando em Tomcat 7 - Java, estava 1 hora a frente do horario configurado no sistema operacional. 

Isso ocorre porque o Java tem a sua própria configuração de timezone. Bem...não vou enrolar mais, abaixo o procedimento para corrigir esse problema:

1) Acesse o link https://www.iana.org/time-zones e faça download do arquivo tzdata2019c.tar.gz referente ao banco de dados de fusos horarios.


2) Faça download do TZUpdater através do link abaixo:




3) Depois do download, crie uma pasta no C:\ do computador ex: update_timezone_java e copie os dois arquivos baixados para esse diretorio.


4) Abra um prompt de comando (de preferencia como administrador) e rode o comando abaixo para começar a atualização do banco de dados timezone java.

java -jar c:\update_timezone_java\tzupdater.jar -v -f -l file:c:\update_timezone_java\tzdata2019c.tar.gz



5) Reinicie o serviço do Apache Tomcat7 e teste a sua aplicação.