This document explains how to delete existing stateful workloads running in a Google Distributed Cloud (GDC) air-gapped Kubernetes cluster. It's important to remove workloads that are no longer in use to maintain the health and performance of your Kubernetes cluster.
This document is for developers within the application operator group who are responsible for managing application workloads for their organization. For more information, see Audiences for GDC air-gapped documentation.
Before you begin
To complete the tasks in this document, you must request the necessary permissions and prepare your environment.
Request IAM roles
You must have specific roles to get the permissions you need to delete stateful workloads. The roles you require depend on whether you are working within an organization-scoped shared cluster or project-scoped standard cluster. For more information, see Kubernetes cluster configurations.
Shared cluster roles
To create, delete, edit, or view stateful workloads in a shared cluster, ask
your Project IAM Admin to grant you the Namespace Admin (namespace-admin)
role. This role is bound to your project namespace.
Standard cluster roles
To create, delete, edit, or view stateful workloads in a standard cluster, ask
your Project IAM Admin to grant you the Cluster Developer
(cluster-developer) role. This role is bound to your project namespace.
Prepare your environment
To run commands against a Kubernetes cluster using the API, make sure you have the following resources:
Locate the Kubernetes cluster name, or ask a member of the platform administrator group what the cluster name is.
Sign in and generate the kubeconfig file for the Kubernetes cluster.
Use the kubeconfig path of the Kubernetes cluster to replace
KUBERNETES_CLUSTER_KUBECONFIGin these instructions.
Delete a StatefulSet resource
Delete a StatefulSet resource if you no longer have a use for its associated
stateful container workloads.
To delete a
StatefulSetresource, run:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ -n NAMESPACE \ delete statefulset STATEFULSET_NAMEReplace the following:
KUBERNETES_CLUSTER_KUBECONFIG: the kubeconfig file for the cluster.NAMESPACE: the namespace of the container workload. For shared clusters, this must be a project namespace. For standard clusters, it can be any namespace.STATEFULSET_NAME: the name of theStatefulSetobject to delete.
When deleting a
StatefulSetresource, all of its pods are also deleted. If you prefer to only delete theStatefulSetresource and not its pods, include the--cascade=orphanparameter.Delete the associated service:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ delete service SERVICE_NAMEReplace the following variables:
KUBERNETES_CLUSTER_KUBECONFIG: the kubeconfig file for the cluster.SERVICE_NAME: the name of theServiceobject to delete.