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

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

Antes de começar

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

Criar um aplicativo usando 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 a Paleta de comandos (pressione Ctrl/Cmd+Shift+P ou clique em Ver > Paleta de comandos) e execute Cloud Code: novo aplicativo.
  2. Selecione Aplicativo do Kubernetes para o tipo de amostra.
  3. Selecione uma amostra baseada na linguagem que você quer usar entre as opções disponíveis: NodeJS, Go, Python, Java.
  4. Escolha um local preferido do aplicativo na sua 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

Use seu próprio aplicativo

Para ver os passos para usar um projeto atual, consulte Usar o Cloud Code com um aplicativo atual do Kubernetes.

Definir 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 configuração.

Configuração

Ao usar a configuração de execução do 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ê desativou o gerenciamento de dependências, adicione o binário do minikube ao PATH.

  1. Inicie a Paleta de comandos (pressione Ctrl/Cmd+Shift+P ou clique em Ver > Paleta de comandos) e execute o comando Cloud Code: Control minikube.
  2. Clique em minikube em Choose a Minikube cluster (profile) to control e, em seguida, clique em Iniciar.

Executar no minikube

  1. Inicie o Command Palette e execute Cloud Code: Run on Kubernetes.
  2. Clique em Yes em Use current context (minikube) to run the 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 do portfólio na seção Sessões de desenvolvimento e, em seguida, clique 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. Expanda Recursos implantados e, em seguida, 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 a Paleta de comandos (pressione Ctrl/Cmd+Shift+P ou clique em Ver > Paleta de comandos) e execute o comando Cloud Code: controlar minikube.
  2. Depois que a opção Escolher um cluster do Minikube (perfil) para controle for preenchida, clique em minikube e 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 o Azure ou a AWS, utilize 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 você 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

Acesse o GitHub (em inglês) para enviar feedback e informar problemas ou o Stack Overflow (em inglês) para fazer perguntas.