Stay organized with collections
Save and categorize content based on your preferences.
A Kubernetes app is a containerized app that you can run on your
Kubernetes cluster. The Kubernetes apps in Cloud Marketplace include
container images and configuration files, such as a kubectl configuration or
a Helm chart. When you deploy an app from Cloud Marketplace, the Kubernetes
resources are created in your cluster, and you can manage the resources as a
group.
To see information about an app, including its pricing, select the app.
Click Configure.
Select the Kubernetes cluster that you want to deploy the app to. If you
want to create a new cluster, click Create cluster.
Select or create a Namespace to use for the application.
Namespaces
are a way to divide cluster resources among multiple users or teams.
In the App instance name box, enter a name for the app, such as
sandbox-dev-app. The name must be unique within the namespace.
If you need to change the service account associated with the
application's billing plan, expand Advanced plan settings, and verify
the service account that is associated with the application.
You can deploy a Kubernetes app to a Google Kubernetes Engine cluster, or to
your own infrastructure, such as a local installation of Minikube.
To deploy the app from the command line, you download a license file
from Google Cloud. When you deploy the app using the steps below, you must
apply the license file to your kubectl config or Helm chart.
Depending on the app provider, the specific steps to deploy the app might
be different. At a high level, you do the following:
Connect to your Kubernetes cluster.
Add the license file to your kubectl configuration or Helm chart, as
applicable.
Clone the Git repository for the app. The repository typically contains:
A kubectl configuration or
Helm chart, which describes the Kubernetes resources for the app.
If you want to customize the app, such as increasing the number
of replicas, or changing the update strategy for application pods,
edit the kubectl configuration or Helm chart.
An Application resource,
which defines the application's properties, such as the type of
application, the version, maintainers, and so on.
Specific steps to deploy the application to your Kubernetes cluster.
Additional scripts or tools added by the provider.
Verify the app's configuration and deploy the app.
Following deployment, check for ClusterRole or ClusterRoleBinding
resources labeled
app.kubernetes.io/component=deployer-rbac.marketplace.cloud.google.com.
If you find them, delete them.
[[["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-08-28 UTC."],[],[],null,["# Deploying Kubernetes apps\n\nA Kubernetes app is a containerized app that you can run on your\nKubernetes cluster. The Kubernetes apps in Cloud Marketplace include\ncontainer images and configuration files, such as a `kubectl` configuration or\na Helm chart. When you deploy an app from Cloud Marketplace, the Kubernetes\nresources are created in your cluster, and you can manage the resources as a\ngroup.\n\nFor an overview of Kubernetes concepts, see the\n[Kubernetes documentation](https://kubernetes.io/docs/concepts/).\n\nIf you are new to Google Kubernetes Engine, see the\n[Google Kubernetes Engine Overview](/kubernetes-engine/docs/concepts/kubernetes-engine-overview),\nor try the [Google Kubernetes Engine Quickstart](/kubernetes-engine/docs/deploy-app-cluster).\n\nBefore you begin\n----------------\n\n- If you want to deploy a commercial Kubernetes app, verify that your\n organization's billing administrator has bought a subscription for the app.\n\n For steps to select a billing plan for an app, see\n [Managing billing plans](/marketplace/docs/manage-billing#manage_billing_plan).\n- If you are using a [custom service account](/kubernetes-engine/docs/how-to/access-scopes#service_account)\n for your GKE cluster, make sure that service account has the\n [Storage Object Viewer role](https://cloud.google.com/container-registry/docs/access-control#permissions_and_roles).\n\nDeploying a Kubernetes app\n--------------------------\n\nTo see the Kubernetes apps that you can deploy to your Google Kubernetes Engine cluster, see\nthe Kubernetes Apps category in Cloud Marketplace.\n\n[Go to Cloud Marketplace](https://console.cloud.google.com/marketplace/browse?filter=solution-type:k8s)\n\nYou can deploy apps to your cluster from Cloud Marketplace, or using\nthe command line.\n| **Note:** If you are deploying an application to a non-GKE cluster configuration, such as a [Google Distributed Cloud](https://cloud.google.com/gke-on-prem/) cluster, or a cluster running [Istio](https://istio.io), you must first complete the [prerequisites for running Kubernetes applications with Google Distributed Cloud or Istio](/marketplace/docs/kubernetes-apps/deploying-non-gke-clusters).\n| **Note:** Marketplace applications that require elevated privileges generate `ClusterRole` and `ClusterRoleBinding` resources upon deployment. When you use Google Cloud console to deploy or delete an application that requires elevated privileges, these resources are automatically removed. However, if you use the command line to deploy or delete an application that requires elevated privileges, you must manually delete the `ClusterRole` and `ClusterRoleBinding` resources. For instructions, see the command-line instructions that follow.\n\nYou must have the `Kubernetes Engine Admin` and `Project Viewer`,\nor `Project Owner` role to deploy an app to a GKE cluster.\n\nTo deploy a Kubernetes app from Cloud Marketplace, your project must have\na network called `default`. [Learn about creating networks with Virtual Private Cloud](/vpc/docs/create-modify-vpc-networks#creating_networks). \n\n### Console\n\n1. To see information about an app, including its pricing, select the app.\n2. Click **Configure**.\n3. Select the Kubernetes cluster that you want to deploy the app to. If you\n want to create a new cluster, click **Create cluster**.\n\n | **Note:** If a cluster is marked ineligible, verify that you have permissions to deploy workloads to that cluster. For example, if a Google Distributed Cloud cluster is marked ineligible, verify that you've [set up access to your Google Distributed Cloud cluster](/marketplace/docs/kubernetes-apps/deploying-non-gke-clusters#deploy-onprem).\n4. Select or create a Namespace to use for the application.\n [Namespaces](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/)\n are a way to divide cluster resources among multiple users or teams.\n\n | **Note:** Namespaces with the `-system` suffix are reserved for Cloud Marketplace components. You cannot deploy applications to these namespaces.\n5. In the **App instance name** box, enter a name for the app, such as\n `sandbox-dev-app`. The name must be unique within the namespace.\n\n6. If you need to change the service account associated with the\n application's billing plan, expand **Advanced plan settings**, and verify\n the service account that is associated with the application.\n\n For information on billing plans for Kubernetes apps, see\n [Understanding Billing](/marketplace/docs/understanding-billing).\n7. Enter a name for your app instance, and then click **Deploy**.\n\n8. To manage, edit, or delete your deployment, open the\n GKE Applications page.\n\n [Go to the Applications Page](https://console.cloud.google.com/kubernetes/application)\n\n For information on what you can customize in the app, see the\n documentation provided by the software vendor.\n9. If the application needs to be accessible to external traffic, follow\n [these steps to expose the application as a Service](/kubernetes-engine/docs/how-to/exposing-apps).\n\n### Command Line\n\nYou can deploy a Kubernetes app to a Google Kubernetes Engine cluster, or to\nyour own infrastructure, such as a local installation of [Minikube](https://kubernetes.io/docs/setup/minikube/).\n\nTo deploy the app from the command line, you download a license file\nfrom Google Cloud. When you deploy the app using the steps below, you must\napply the license file to your `kubectl` config or Helm chart.\n\nDepending on the app provider, the specific steps to deploy the app might\nbe different. At a high level, you do the following:\n\n1. Connect to your Kubernetes cluster.\n2. Add the license file to your `kubectl` configuration or Helm chart, as applicable.\n3. Clone the Git repository for the app. The repository typically contains:\n\n - A `kubectl` configuration or\n Helm chart, which describes the Kubernetes resources for the app.\n\n If you want to customize the app, such as increasing the number\n of replicas, or changing the update strategy for application pods,\n edit the `kubectl` configuration or Helm chart.\n - An [Application resource](https://github.com/kubernetes-sigs/application),\n which defines the application's properties, such as the type of\n application, the version, maintainers, and so on.\n\n - Specific steps to deploy the application to your Kubernetes cluster.\n\n - Additional scripts or tools added by the provider.\n\n4. Verify the app's configuration and deploy the app.\n\n5. Following deployment, check for `ClusterRole` or `ClusterRoleBinding`\n resources labeled\n `app.kubernetes.io/component=deployer-rbac.marketplace.cloud.google.com`.\n If you find them, delete them."]]