Usar o minikube para desenvolvimento local no Cloud Code para VS Code

O Cloud Code instala e gerencia automaticamente o minikube. Se você tiver desativado o gerenciamento de dependências, adicione o binário minikube ao PATH.

Antes de começar

  1. Instale o Git para que o Cloud Code possa realizar operações do Git, como clonar uma amostra.
  2. Instale o plug-in do Cloud Code, caso ainda não tenha feito isso.

Criar um aplicativo com base em um modelo

O Cloud Code vem com uma coleção de modelos de amostra de código para que você comece rapidamente. Para criar um aplicativo do Kubernetes usando uma amostra atual, siga estas etapas:

  1. Inicie o Paleta de comandos (pressione Ctrl/Cmd + Shift + P ou clique em Visualizar > Paleta de comandos) e execute Cloud Code: New Application.
  2. Selecione Aplicativo do Kubernetes para o tipo de amostra.
  3. Selecione uma amostra com base na linguagem que você quer usar entre as opções disponíveis: Node.js, Go, Python e Java.
  4. Escolha um local preferido para o aplicativo na máquina local e clique em Criar novo aplicativo para salvar.

    O Cloud Code clona a amostra que você escolheu e abre seu novo projeto para uso.

Exemplo de estrutura de aplicativos

Os aplicativos criados a partir de modelos em todas as linguagens têm quase a mesma estrutura. Essa não é a única estrutura compatível, mas é a opção recomendada ao dar os primeiros passos.

Por exemplo, a estrutura do aplicativo Guestbook Node.js tem esta aparência:

.
|---- .vscode
|      └---- launch.json
|---- kubernetes-manifests
|     |---- guestbook-backend.deployment.yaml
|     |---- guestbook-backend.service.yaml
|     |---- guestbook-frontend.deployment.yaml
|     |---- guestbook-frontend.service.yaml
|     |---- mongo.deployment.yaml
|     └---- mongo.service.yaml
|---- src
|     |---- backend
|     |     |---- Dockerfile
|     |     |---- index.js
|     |     |---- app.js
|     |     └---- package.json
|     |---- frontend
|           |---- Dockerfile
|           |---- index.js
|     |     |---- app.js
|           └---- package.json
└---- skaffold.yaml

Para analisar mais detalhadamente este aplicativo de amostra de livro de visitas do Node.js para o Kubernetes, veja alguns arquivos importantes e seus respectivos usos:

  • .vscode
    • extensions.json: solicitação de download de extensões relacionadas ao abrir este projeto
    • launch.json: iniciar configuração (do tipo cloudcode.kubernetes) para executar ou depurar o aplicativo do Kubernetes
    • tasks.json: informações de configuração para tarefas do Visual Studio Code
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml: especificação do pod para os nós de back-end
    • guestbook-frontend.deployment.yaml: especificação do pod para os nós de front-end
    • mongo.deployment.yaml: especificação do pod para o banco de dados
  • src
    • (backend|frontend)/app.js: código do Node.js com a lógica do servidor da Web
    • (backend|frontend)/Dockerfile: usado para criar a imagem do contêiner do nosso programa
  • skaffold.yaml: arquivo de configuração do Skaffold, que o Cloud Code usa para criar, implantar e depurar aplicativos do Kubernetes

Usar seu próprio aplicativo

Para saber como usar um projeto atual, acesse Usar o Cloud Code com um aplicativo atual do Kubernetes.

Defina o contexto do Kubernetes

Antes de executar o aplicativo, verifique se você está configurado para implantar o aplicativo no contexto de sua preferência. É possível especificar isso na sua configuração.

Configuração

Ao usar a configuração de execução Cloud Code: Desenvolver no Kubernetes, é possível personalizar a implantação definindo as configurações disponíveis.

Para adicionar ou editar configurações, acesse Run > Open Configurations e edite ou adicione configurações.

Criar e implantar em um cluster do minikube

Iniciar um cluster do minikube

O Cloud Code instala e gerencia automaticamente o minikube. Se você tiver desativado o gerenciamento de dependências, adicione o binário minikube ao PATH.

  1. Inicie o Paleta de comandos (pressione Ctrl/Cmd + Shift + P ou clique em Visualizar > Paleta de comandos) e execute o comando Cloud Code: Control minikube.
  2. Clique em minikube para Escolher um cluster do Minikube (perfil) para controlar e, em seguida, clique em Iniciar.

Executar no minikube

  1. Inicie o Paleta de comandos e execute o Cloud Code: Run no Kubernetes.
  2. Clique em Sim em Usar contexto atual (minikube) para executar o app?.
  3. O Cloud Code executa o app em um cluster do minikube. Se solicitado, autorize o Cloud Shell a usar suas credenciais para fazer uma chamada de API do Google Cloud.

    Veja os detalhes da implantação na seção Sessões de desenvolvimento do Cloud Code.

  4. Visualize os URLs clicando em URLs de portabilidade na seção Sessões de desenvolvimento e, em seguida, no link do URL para abrir o navegador com o aplicativo em execução.

Abrir um terminal interativo em um contêiner

  1. Clique em Cloud Code e expanda o explorador Sessões de desenvolvimento.
  2. Abra Recursos implantados e depois Pods.
  3. Clique com o botão direito do mouse em um contêiner e selecione Obter terminal.

Pausar ou interromper um cluster do minikube

  1. Inicie o Paleta de comandos (pressione Ctrl/Cmd + Shift + P ou clique em Visualizar > Paleta de comandos) e execute o comando Cloud Code: Control minikube.
  2. Depois que a opção Escolher um cluster do Minikube (perfil) para controlar estiver preenchida, clique em minikube e, em seguida, em Parar ou Pausar.

Criar e adicionar um cluster de outro provedor de nuvem

Se você estiver usando um cluster local ou de outro provedor, como Azure ou AWS, use as ferramentas do provedor para criar o cluster e adicioná-lo ao KubeConfig.

Trabalhar com outros clusters locais

Além do minikube, é possível trabalhar com o Cloud Code se estiver usando o Docker Desktop (para Mac ou Windows).

Para que o Cloud Code funcione com um cluster local, verifique se a configuração padrão (por exemplo, ~/.kube/config) contém o cluster local. Esse cluster precisa ser definido como o contexto atual.

Por exemplo, se você estava usando um cluster local, docker-for-desktop, com o Docker Desktop, defina o cluster de sua preferência com o seguinte comando:

kubectl config use-context docker-for-desktop

A seguir

Receber suporte

Para enviar feedback, informar problemas no GitHub ou fazer uma pergunta no Stack Overflow.