If you develop applications to run in Google Kubernetes Engine, you can use an IDE and
the Cloud Code plugin to simplify key development tasks, such as
testing and debugging locally and deploying to a test cluster.
Objectives
Learn how to do the following development tasks in Cloud Shell Editor,
an online demonstration IDE:
Create a sample Kubernetes app.
Run, update, and view logs for the app in your development environment.
Deploy the app to a GKE cluster.
You can follow a similar process in your own IDE if youinstall Cloud Code.
To follow step-by-step guidance for this task directly in the
Google Cloud console, clickGuide me:
To generate a cost estimate based on your projected usage,
use thepricing calculator.
New Google Cloud users might be eligible for afree trial.
When you finish the tasks that are described in this document, you can avoid
continued billing by deleting the resources that you created. For more information, seeClean up.
In the Google Cloud console, open Cloud Shell
by clickingterminalCloud Shellin the task bar.
ClickOpen
Editor.
Wait for Cloud Shell Editor to initialize.
In Cloud Shell Editor, clickView>Command Palette.
Search forCloud Code: New Applicationand click it.
SelectKubernetes Application, then selectGo: Hello World.
Each language framework provides slightly different experiences, and this
tutorial describes the features available for Go.
In the Save dialog, clickCreate new application.
Cloud Shell Editor reloads and shows your app source files in the Explorer
view.
The app consists of:
A basicgo-hello-worldweb app,main.go,
that returns a templated "It's running!" response to all received requests.
A Kubernetes Deployment specification,hello.deployment.yaml.
A Kubernetes Service specification that defines a load balancer for the app,hello.service.yaml.
ASkaffoldfile that handles the workflow for
building and deploying the app,skaffold.yaml.
Run the app in your development environment
When possible, run apps in your development environment before deploying
to GKE. This can help you identify any potential issues without
using Google Cloud quota.
To run the app in your Cloud Shell Editor environment:
In Cloud Shell Editor, clickTerminal>New Terminal.
Start a cluster by running the following command:
minikubestart
minikubeis a lightweight Kubernetes implementation that creates a VM in
your local environment and deploys a simple cluster containing only one node.
It might take a minute to set up the minikube cluster.
If prompted to authorize Cloud Shell to make Cloud API calls,
clickAuthorize.
After your minikube cluster is set up, a message similar to the following
appears:
Done! kubectl is now configured touse "minikube" cluster...
After minikube is set up, build and run your app:
In the Cloud Shell Editor status bar, clickCloud
Code.
SelectRun on Kubernetes.
If prompted, confirm that you want to use the current minikube context.
Cloud Shell Editor builds your app and deploys it to the minikube cluster.
Watch the deployment status in theDevelopment
sessionsview.
When the deployment is complete, a green check mark appears next toPortforward URLs. The spinning icon appears next toStream Application Logs.
To view your app, look further down theDevelopment sessionspane and findPort Forward URLs>service.
Hold the pointer overgo-hello-world-externaland clickopen_in_newOpen URL.
Edit your app
When you change a source file in your app, Cloud Shell Editor automatically
builds and deploys your app to the cluster that you're currently connected to.
In this case, you're connected to your minikube cluster.
To edit and redeploy the app to your local minikube cluster:
Modify yourmain.gofile to print "It's redeployed!". The file saves automatically.
Watch theDevelopment
sessionsview as your app is rebuilt and
deployed.
View your redeployed app as you did before:
In theDevelopment sessionspane, findPort Forward URLs>service.
Hold the pointer overgo-hello-world-externaland clickopen_in_newOpen URL.
View app logs
In the Cloud Shell Editor menu bar, selectView>Command Palette.
Search forCloud Code: View Logsand click it.
The Logs Viewer opens.
InDeployment,
selectgo-hello-world.
This filters the Logs Viewer to only display logs for yourgo-hello-worldapp.
Switch to the tab with your app that shows "It's redeployed!" Reload the
page in the browser and then switch back to the Cloud Shell tab.
To view the newly generated logs in the Logs Viewer, clickrefreshRefresh.
Deploy your app to a GKE cluster
Add your GKE cluster to the list of clusters you can
deploy to:
In theKubernetesview, clickaddAdd a Cluster to the KubeConfig.
In theChoose a platformdialog, clickGoogle Kubernetes Engine.
If prompted to enable the Google Cloud API, clickYes.
Wait for Cloud Shell Editor to find the clusters in your
Google Cloud project.
In theCreate or choose a GKE clusterdialog, select
the name of the cluster you created,hello-world-cluster.
In the Cloud Shell Editor status bar, clickCloud
Codeand selectRun on Kubernetes.
When prompted to select a context for your deployment request, chooseUse current context, which is set to your GKE cluster.
In theChoose image repositorydialog, selectgcr.io/PROJECT_NAME.
Cloud Shell Editor builds your app into a container and stores the container
in the repository you selected.
Watch theDevelopment
sessionsview as your app is rebuilt and
deployed.
To view detailed log messages as your app is being deployed to GKE,
click theDeploy to Clusternode in theDevelopment sessionsview.
To view your running app:
Close the view by clicking theDevelopment sessionsheading.
Clean up to avoid billing charges.
If you plan to take additional tutorials, wait until you finish those tutorials
before you clean up. You can use the sample Kubernetes cluster in most
GKE tutorials.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Deploy and update from an IDE\n\n[Autopilot](/kubernetes-engine/docs/concepts/autopilot-overview)\n\n*** ** * ** ***\n\nIf you develop applications to run in Google Kubernetes Engine, you can use an IDE and the Cloud Code plugin to simplify key development tasks, such as testing and debugging locally and deploying to a test cluster.\n\n\u003cbr /\u003e\n\nObjectives\n----------\n\nLearn how to do the following development tasks in Cloud Shell Editor,\nan online demonstration IDE:\n\n1. Create a sample Kubernetes app.\n\n2. Run, update, and view logs for the app in your development environment.\n\n3. Deploy the app to a GKE cluster.\n\nYou can follow a similar process in your own IDE if you\n[install Cloud Code](/code/docs).\n\n*** ** * ** ***\n\nTo follow step-by-step guidance for this task directly in the\nGoogle Cloud console, click **Guide me**:\n\n[Guide me](https://console.cloud.google.com/freetrial?redirectPath=/kubernetes/list/overview?walkthrough_id=kubernetes--developer-workflow)\n\n*** ** * ** ***\n\nCosts\n-----\n\n\nIn this document, you use the following billable components of Google Cloud:\n\n\n- [GKE](/kubernetes-engine/pricing)\n\n\nTo generate a cost estimate based on your projected usage,\nuse the [pricing calculator](/products/calculator). \nNew Google Cloud users might be eligible for a [free trial](/free). \n\n\u003cbr /\u003e\n\nWhen you finish the tasks that are described in this document, you can avoid\ncontinued billing by deleting the resources that you created. For more information, see\n[Clean up](#clean-up).\n\nBefore you begin\n----------------\n\nCreate a Kubernetes cluster.\n[Create a cluster and deploy a workload](/kubernetes-engine/docs/quickstarts/create-cluster)\nshows you how. \n\nChoose a Google Cloud project and cluster\n-----------------------------------------\n\nWhen you deploy your app to GKE later on in this tutorial, you\nwill need to specify a Google Cloud project and a GKE cluster.\n\n1. Go to the GKE **Clusters** page.\n\n\n [Go to Clusters](https://console.cloud.google.com/kubernetes/list/overview)\n\n \u003cbr /\u003e\n\n2. Choose a project that contains a GKE cluster.\n\n \u003cbr /\u003e\n\n3. Note the name of the project and cluster.\n\n You'll need this information later.\n\nCreate an app in Cloud Shell Editor\n-----------------------------------\n\n1. In the Google Cloud console, open Cloud Shell\n by clicking terminal**Cloud Shell**\n in the task bar.\n\n2. Click\n **Open\n Editor**.\n\n3. Wait for Cloud Shell Editor to initialize.\n\n4. In Cloud Shell Editor, click **View** \\\u003e **Command Palette**.\n\n5. Search for **Cloud Code: New Application** and click it.\n\n6. Select **Kubernetes Application** , then select **Go: Hello World**.\n\n Each language framework provides slightly different experiences, and this\n tutorial describes the features available for Go.\n7. In the Save dialog, click **Create new application**.\n\n Cloud Shell Editor reloads and shows your app source files in the Explorer\n view.\n\nThe app consists of:\n\n- A basic `go-hello-world` web app,\n `main.go`,\n that returns a templated \"It's running!\" response to all received requests.\n\n- A Kubernetes Deployment specification,\n `hello.deployment.yaml`.\n\n- A Kubernetes Service specification that defines a load balancer for the app,\n `hello.service.yaml`.\n\n- A [Skaffold](https://skaffold.dev/) file that handles the workflow for\n building and deploying the app, `skaffold.yaml`.\n\nRun the app in your development environment\n-------------------------------------------\n\nWhen possible, run apps in your development environment before deploying\nto GKE. This can help you identify any potential issues without\nusing Google Cloud quota.\n\nTo run the app in your Cloud Shell Editor environment:\n\n1. In Cloud Shell Editor, click **Terminal** \\\u003e **New Terminal**.\n\n2. Start a cluster by running the following command:\n\n minikube start\n\n *minikube* is a lightweight Kubernetes implementation that creates a VM in\n your local environment and deploys a simple cluster containing only one node.\n\n It might take a minute to set up the minikube cluster.\n3. If prompted to authorize Cloud Shell to make Cloud API calls,\n click **Authorize**.\n\n After your minikube cluster is set up, a message similar to the following\n appears: \n\n Done! kubectl is now configured to\n use \"minikube\" cluster...\n\nAfter minikube is set up, build and run your app:\n\n1. In the Cloud Shell Editor status bar, click\n **Cloud\n Code**.\n\n2. Select **Run on Kubernetes**.\n\n3. If prompted, confirm that you want to use the current minikube context.\n\n Cloud Shell Editor builds your app and deploys it to the minikube cluster.\n4. Watch the deployment status in the\n **Development\n sessions** view.\n\n When the deployment is complete, a green check mark appears next to\n **Portforward URLs** . The spinning icon appears next to\n **Stream Application Logs**.\n5. To view your app, look further down the **Development sessions**\n pane and find **Port Forward URLs** \\\u003e **service**.\n\n6. Hold the pointer over\n **go-hello-world-external**\n and click open_in_new **Open URL**.\n\nEdit your app\n-------------\n\nWhen you change a source file in your app, Cloud Shell Editor automatically\nbuilds and deploys your app to the cluster that you're currently connected to.\nIn this case, you're connected to your minikube cluster.\n\nTo edit and redeploy the app to your local minikube cluster:\n\n1. Modify your\n `main.go`\n file to print \"It's redeployed!\". The file saves automatically.\n\n2. Watch the\n **Development\n sessions** view as your app is rebuilt and\n deployed.\n\n3. View your redeployed app as you did before:\n\n 1. In the **Development sessions**\n pane, find **Port Forward URLs** \\\u003e **service**.\n\n 2. Hold the pointer over\n **go-hello-world-external**\n and click open_in_new **Open URL**.\n\nView app logs\n-------------\n\n1. In the Cloud Shell Editor menu bar, select **View** \\\u003e **Command Palette**.\n\n2. Search for **Cloud Code: View Logs** and click it.\n\n The Logs Viewer opens.\n3. In\n **Deployment**,\n select `go-hello-world`.\n\n This filters the Logs Viewer to only display logs for your `go-hello-world` app.\n4. Switch to the tab with your app that shows \"It's redeployed!\" Reload the\n page in the browser and then switch back to the Cloud Shell tab.\n\n5. To view the newly generated logs in the Logs Viewer, click\n refresh\n **Refresh**.\n\nDeploy your app to a GKE cluster\n--------------------------------\n\n1. Add your GKE cluster to the list of clusters you can\n deploy to:\n\n 1. In the Kubernetes\n view, click add\n **Add a Cluster to the KubeConfig**.\n\n 2. In the **Choose a platform** dialog, click **Google Kubernetes Engine**.\n\n 3. If prompted to enable the Google Cloud API, click **Yes**.\n\n 4. Wait for Cloud Shell Editor to find the clusters in your\n Google Cloud project.\n\n 5. In the **Create or choose a GKE cluster** dialog, select\n the name of the cluster you created, **hello-world-cluster**.\n\n2. In the Cloud Shell Editor status bar, click\n **Cloud\n Code** and select **Run on Kubernetes**.\n\n3. When prompted to select a context for your deployment request, choose\n **Use current context**, which is set to your GKE cluster.\n\n4. In the **Choose image repository** dialog, select **gcr.io/\u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e**.\n\n Cloud Shell Editor builds your app into a container and stores the container\n in the repository you selected.\n5. Watch the\n **Development\n sessions** view as your app is rebuilt and\n deployed.\n\n6. To view detailed log messages as your app is being deployed to GKE,\n click the **Deploy to Cluster** node in the **Development sessions** view.\n\n7. To view your running app:\n\n 1. Close the view by clicking the **Development sessions** heading.\n\n 2. Open the Kubernetes\n view.\n\n 3. Expand your GKE cluster.\n\n 4. Go to **Namespaces \\\u003e default \\\u003e Services \\\u003e go-hello-world-external \\\u003e External IPs**.\n\n 5. Hold the pointer over the IP address and click\n open_in_new **Open URL**.\n\nYou have successfully created and deployed a GKE app from an IDE.\n\nWhat's next\n-----------\n\n- [View code samples](/docs/samples) demonstrating the usage of\n Google Cloud products\n\n- [Install Cloud Code](/code/docs) in your IDE\n\n- [Clean up to avoid billing charges](/kubernetes-engine/docs/quickstarts/learning-path-cleanup).\n If you plan to take additional tutorials, wait until you finish those tutorials\n before you clean up. You can use the sample Kubernetes cluster in most\n GKE tutorials."]]