O Cloud Code permite criar um aplicativo do Kubernetes com base em uma amostra ou de um projeto atual.
Criar um aplicativo usando um modelo
O Cloud Code vem com uma coleção de exemplo de código modelos para você começar rapidamente. Para criar um aplicativo do Kubernetes usando uma amostra existente, siga estas etapas:
- Inicie a Paleta de comandos (pressione
Ctrl
/Cmd
+Shift
+P
ou clique Visualizar > Command Palette) e, em seguida, execute Cloud Code: New Application. - Selecione Aplicativo do Kubernetes como o tipo de amostra.
- Selecione uma amostra com base no idioma que você quer usar opções: NodeJS, Go, Python, Java.
Escolha o local preferido para o aplicativo na sua máquina local e clique em Crie um 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 projetolaunch.json
: iniciar configuração (do tipocloudcode.kubernetes
) para executar ou depurar o aplicativo do Kubernetestasks.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-endguestbook-frontend.deployment.yaml
: especificação do pod para os nós de front-endmongo.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 o Kubernetes aplicativos
Usar seu próprio aplicativo
Para acessar as etapas para usar um projeto existente, consulte usar o Cloud Code com um aplicativo 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 Cloud Code: Develop on Kubernetes, é possível personalizar a implantação definindo as configurações disponíveis.
Para adicionar ou editar configurações, acesse Executar > Abra "Configurações" e, em seguida, editar ou adicionar configurações.Configurações da versão
O Cloud Code é compatível com tipos de artefato do Docker, Jib e Buildpacks. Consulte Como configurar o guia de preferências de criação de imagens de contêiner para saber como definir o builder preferencial e as configurações relevantes.
Personalizar a configuração de inicialização
Para configurar como o aplicativo é executado, personalize o
skaffold.yaml
.
Também é possível configurar a inicialização editando a configuração cloudcode.kubernetes
no arquivo .vscode/launch.json
.
Para mais informações sobre como personalizar a configuração de inicialização, consulte Kubernetes no Cloud Code.
Execute o aplicativo
Depois de configurar um aplicativo, você pode executá-lo em um cluster do Kubernetes e
visualizá-lo ao vivo, usando
skaffold dev
.
É possível executar o aplicativo em um cluster local (como Minikube ou Docker Desktop), Google Kubernetes Engine ou qualquer outro provedor de nuvem.
- Abra a paleta de comandos (pressione
Ctrl
/Cmd
+Shift
+P
) e execute o comando Cloud Code: Run on Kubernetes. - Confirme se você quer usar o contexto do Kubernetes atual para executar o aplicativo (ou alternar para um preferido). Para mais informações sobre como configurar um contexto do Kubernetes, consulte Como configurar.
Se você escolheu um cluster remoto como contexto, quando solicitado, escolha um registro de imagem para enviar as imagens. Se você estiver usando o Container Registry, poderá navegar até um registro atual ou especificar o nome de um registro a ser criado. Se o projeto tiver a API Artifact Registry ativada e pelo menos um repositório do Artifact Registry, é possível navegar e selecionar um repositório existente do Artifact Registry. de dados.
Os exemplos a seguir demonstram como especificar onde as imagens de contêiner são armazenadas para alguns registros comuns:
Artifact Registry {region}-docker.pkg.dev/{project_id}/{repo-name} Container Registry gcr.io/{project_id} Docker Hub docker.io/{account}
Verifique se você tem a autenticação correta se estiver usando um repositório particular do Docker Hub.AWS Container Repository (ECR) {aws_account_id}.dkr.ecr.{region}.amazonaws.com/{my-app} Azure Container Registry (ACR) {my_acr_name}.azurecr.io/{my-app} O Cloud Code concatena esse registro de imagem com o nome da imagem especificado nos manifestos do Kubernetes para gerar o nome final do repositório de imagens.
Para mais informações, consulte o guia de processamento de registros de imagem.
Essa escolha é armazenada em sua configuração de inicialização
cloudcode.kubernetes
(encontrada em .vscode/launch.json)O Cloud Code, em seguida, cria os contêineres, os envia para o registro, aplica as configurações do Kubernetes ao cluster e aguarda o lançamento.
Ver registros
Além de ver os registros de pods em execução como uma transmissão ao vivo na saída do terminal enquanto você desenvolve e executa o aplicativo, é possível conferir os registros de um pod específico navegando até a seção do Kubernetes.
Para ver os registros de um pod específico, siga estas etapas:
- Na seção Kubernetes, expanda Implantações.
Clique com o botão direito do mouse no pod do qual você quer ver os registros e clique em Ver registros.
O Visualizador de registros é aberto.
Fazer mudanças, recriar e limpar
Se você definiu o modo de exibição comofalse
na configuração de inicialização e quer
faça alterações no aplicativo e, em seguida, recrie e reimplante o aplicativo:
Faça e salve as alterações.
Na barra de ferramentas de depuração, clique em Pausar (
F6
) e em Reiniciar (Ctrl/Cmd + Shift + F5
) para recriar e implantar novamente o aplicativo.Para interromper a execução do aplicativo, clique em Stop na barra de ferramentas de depuração.
Depois que você interrompe o aplicativo, todos os recursos implantados do Kubernetes são
excluídos do cluster. É possível mudar esse comportamento usando a flag cleanUp
na configuração de inicialização.
Armazenar segredos
Se o código inclui dados possivelmente confidenciais, como chaves de API, senhas e certificados, é recomendável armazená-los como secrets. O Cloud Code permite armazenar esses secrets com segurança no Gerenciador de secrets e buscá-los de maneira programática quando precisar deles.
Para uma visão detalhada de como criar e gerenciar secrets com o Cloud Code, consulte o guia do Gerenciador de secrets.
Conferir detalhes do recurso
A seção Kubernetes mostra clusters, namespaces, nós e cargas de trabalho (como implantações, réplicas, pods e contêineres), serviços e entradas, configurações (como secrets e mapas de configuração) e armazenamento (como volumes). Na seção Kubernetes, é possível executar ações exclusivas em alguns esses recursos.
Consulte a visão geral do Kubernetes para mais informações sobre como visualizar detalhes do recurso.
A seguir
- Conheça suas opções de build com buildpacks, Jib ou Docker.
- Usar sincronização de arquivos e recarga automática para acelerar o desenvolvimento.
- Saiba mais sobre o Cloud Code Edição YAML assistência