Um dos participantes da Treinamento Kubernetes para desenvolvedores Java sugeriu experimentar o minikube para desenvolvimento e teste simplificados do Kubernetes. Este blog mostrará
como começar a usar o minikube usando um aplicativo Java simples.
minikube-logo

Minikube inicia um cluster Kubernetes de nó único em seu computador local para desenvolvimento e testes rápidos. Requisitos listas
o conjunto exato de requisitos para diferentes sistemas operacionais.

Este blog mostrará:

  • Iniciar um cluster Kubernetes de um nó
  • Executar o serviço Couchbase
  • Executar o aplicativo Java
  • Exibir o painel do Kubernetes

Todos os arquivos de descrição de recursos do Kubernetes usados neste blog estão em github.com/arun-gupta/kubernetes-java-sample/tree/master/maven.

Iniciar o cluster Kubernetes usando o Minikube

Crie um novo diretório com o nome minikube. Nesse diretório, faça o download de kubectl CLI:

Baixar minikube CLI:

Inicie o cluster:

A lista de nós pode ser vista:

Mais detalhes sobre o cluster podem ser obtidos usando o comando kubectl cluster-info comando:

Nos bastidores, uma VM do Virtual Box é iniciada. O conjunto completo de comandos suportados pode ser visto usando -ajuda:

Executar o serviço Couchbase

Criar um Couchbase serviço:

Isso iniciará um serviço do Couchbase. O serviço está usando os pods criados pelo controlador de replicação. O controlador de replicação cria um servidor Couchbase de nó único. O arquivo de configuração está em github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/couchbase-service.yml e se parece com isso:

Executar aplicativo Java

Execute o aplicativo:

O arquivo de configuração está em github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/bootiful-couchbase.yml e se parece com isso:

Isso é trabalho executado uma única vez que executa um aplicativo Java (Spring Boot) e faz upserts (inserção ou atualização) de um documento JSON no Couchbase. Neste trabalho, COUCHBASE_URI valor da variável de ambiente
é definido como serviço couchbase. Esse é o nome do serviço criado anteriormente. A imagem do Docker usada para esse serviço é arungupta/bootiful-couchbase e é criado usando fabric8-maven-plugin conforme mostrado em github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/webapp/pom.xml#L57-L68. Especificamente, o comando para o Docker
A imagem é:

Isso garante que COUCHBASE_URI está substituindo a variável de ambiente spring.couchbase.bootstrap-hosts conforme definido em application.properties do aplicativo Spring Boot.

Painel de controle do Kubernetes

O Kubernetes 1.4 incluiu um painel de controle atualizado. Para o minikube, ele pode ser aberto usando o seguinte comando:

 

A visualização padrão é mostrada abaixo:
minikube-dashboard-1-4
Mas, no nosso caso, alguns recursos já foram criados e, portanto, a aparência será a mostrada:
minikube-dashboard-couchbase

Observe que nossos Jobs, controladores de replicação e pods são mostrados aqui.

Encerrar o cluster do Kubernetes

O cluster pode ser facilmente desligado:

couchbase.com/containers fornecem mais detalhes sobre a execução do Couchbase usando diferentes estruturas de orquestração. Outras referências:

 

Autor

Postado por Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase

Arun Gupta é o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experiência na liderança de equipes multifuncionais para desenvolver e executar estratégias, planejamento e execução de conteúdo, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e é membro fundador da equipe Java EE. Gupta é autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experiência em palestras em mais de 40 países sobre diversos tópicos e é um JavaOne Rock Star há três anos consecutivos. Gupta também fundou o capítulo Devoxx4Kids nos EUA e continua a promover a educação tecnológica entre as crianças. Autor de vários livros sobre tecnologia, corredor ávido, viajante do mundo inteiro, campeão de Java, líder de JUG, membro do NetBeans Dream Team e capitão do Docker, ele pode ser facilmente acessado em @arungupta.

Deixar uma resposta