Uninstalling Knative
To uninstall an Operator-based Knative installation, see the following Uninstall an Operator-based Knative Installation procedure. To uninstall a YAML-based Knative installation, see the following Uninstall a YAML-based Knative Installation procedure.
Uninstalling a YAML-based Knative installation
To uninstall a YAML-based Knative installation:
Uninstalling optional Serving extensions
Uninstall any Serving extensions you have installed by performing the steps in the following relevant tab:
HPA autoscalingTLS with cert-manager
Knative also supports the use of the Kubernetes Horizontal Pod Autoscaler (HPA) for driving autoscaling decisions. The following command will uninstall the components needed to support HPA-class autoscaling:
kubectl delete -f https://github.com/knative/serving/releases/download/knative-v1.16.0/serving-hpa.yaml
Uninstall the component that integrates Knative with cert-manager:
kubectl delete -f https://github.com/knative/net-certmanager/releases/latest/download/release.yaml
Optional: if you no longer need cert-manager, uninstall it by following the steps in the cert-manager documentation.
Uninstalling a networking layer
Follow the relevant procedure to uninstall the networking layer you installed:
ContourIstioKourier
The following commands uninstall Contour and enable its Knative integration.
Uninstall the Knative Contour controller by running:
kubectl delete -f https://github.com/knative/net-contour/releases/download/knative-v1.16.0/net-contour.yaml
Uninstall Contour:
kubectl delete -f https://github.com/knative/net-contour/releases/download/knative-v1.16.0/contour.yaml
The following commands uninstall Istio and enable its Knative integration.
Uninstall the Knative Istio controller by running:
kubectl delete -f https://github.com/knative/net-istio/releases/download/knative-v1.16.0/net-istio.yaml
Optional: if you no longer need Istio, uninstall it by running:
kubectl delete -f https://github.com/knative/net-istio/releases/download/knative-v1.16.0/istio.yaml
Uninstall the Knative Kourier controller by running:
kubectl delete -f https://github.com/knative/net-kourier/releases/download/knative-v1.16.0/kourier.yaml
Uninstalling the Serving component
Uninstall the Serving core components by running:
kubectl delete -f https://github.com/knative/serving/releases/download/knative-v1.16.0/serving-core.yaml
Uninstall the required custom resources by running:
kubectl delete -f https://github.com/knative/serving/releases/download/knative-v1.16.0/serving-crds.yaml
Uninstalling optional Eventing extensions
Uninstall any Eventing extensions you have installed by following the relevant procedure:
Apache Kafka SinkGitHub SourceApache Kafka SourceGCP SourcesApache CouchDB SourceVMware Sources and Bindings
Uninstall the Kafka Sink data plane:
kubectl delete -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.16.0/eventing-kafka-sink.yaml
Uninstall the Kafka controller:
kubectl delete -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.16.0/eventing-kafka-controller.yaml
Uninstall a single-tenant GitHub source by running:
kubectl delete -f https://github.com/knative-extensions/eventing-github/releases/download/knative-v1.16.0/github.yaml
Uninstall a multi-tenant GitHub source by running:
kubectl delete -f https://github.com/knative-extensions/eventing-github/releases/download/knative-v1.16.0/mt-github.yaml
Uninstall the Apache Kafka source by running:
kubectl delete -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.16.0/eventing-kafka-source.yaml
Uninstall the GCP sources by running:
kubectl delete -f https://github.com/google/knative-gcp/releases/latest/download/cloud-run-events.yaml
Uninstall the Apache CouchDB source by running:
kubectl delete -f https://github.com/knative-extensions/eventing-couchdb/releases/latest/download/couchdb.yaml
Uninstall the VMware sources and bindings by running:
kubectl delete -f https://github.com/vmware-tanzu/sources-for-knative/releases/latest/download/release.yaml
Uninstalling an optional Broker (Eventing) layer
Uninstall a Broker (Eventing) layer, if you installed one:
Apache Kafka BrokerMT-Channel-based
Uninstall the Kafka Broker data plane by running the following command:
kubectl delete -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.16.0/eventing-kafka-broker.yaml
Uninstall the Kafka controller by running the following command:
kubectl delete -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.16.0/eventing-kafka-controller.yaml
Uninstall the broker by running:
kubectl delete -f https://github.com/knative/eventing/releases/download/knative-v1.16.0/mt-channel-broker.yaml
Uninstalling optional channel (messaging) layers
Uninstall each channel layer you have installed:
Apache Kafka ChannelGoogle Cloud Pub/Sub ChannelIn-Memory (standalone)NATS Channel
Uninstall the Apache Kafka Channel by running:
kubectl delete -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.16.0/eventing-kafka-channel.yaml
Uninstall the Google Cloud Pub/Sub Channel by running:
kubectl delete -f https://github.com/google/knative-gcp/releases/latest/download/cloud-run-events.yaml
Uninstall the in-memory channel implementation by running:
kubectl delete -f https://github.com/knative/eventing/releases/download/knative-v1.16.0/in-memory-channel.yaml
Uninstall the NATS Streaming channel by running:
kubectl delete -f https://github.com/knative-extensions/eventing-natss/releases/download/knative-v1.16.0/eventing-natss.yaml
Uninstall NATS Streaming for Kubernetes. For more information, see the eventing-natss repository in GitHub.
Uninstalling the Eventing component
Uninstall the Eventing core components by running:
kubectl delete -f https://github.com/knative/eventing/releases/download/knative-v1.16.0/eventing-core.yaml
Uninstall the required custom resources by running:
kubectl delete -f https://github.com/knative/eventing/releases/download/knative-v1.16.0/eventing-crds.yaml
Uninstall an Operator-based Knative installation
To uninstall an Operator-based Knative installation, follow these procedures:
Removing the Knative Serving component
Remove the Knative Serving CR:
kubectl delete KnativeServing knative-serving -n knative-serving
Removing Knative Eventing component
Remove the Knative Eventing CR:
kubectl delete KnativeEventing knative-eventing -n knative-eventing
Knative operator prevents unsafe removal of Knative resources. Even if the Knative Serving and Knative Eventing CRs are successfully removed, all the CRDs in Knative are still kept in the cluster. All your resources relying on Knative CRDs can still work.
Removing the Knative Operator:
If you have installed Knative using the Release page, remove the operator using the following command:
kubectl delete -f https://github.com/knative/operator/releases/download/knative-v1.16.0/operator.yaml
If you have installed Knative from source, uninstall it using the following command while in the root directory for the source:
ko delete -f config/