Uninstalling Knative

    To uninstall a YAML-based Knative installation:

    Uninstall any Serving extensions you have installed by following the relevant steps below:

    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:

    1. Uninstall the component that integrates Knative with cert-manager:

    2. Optional: if you no longer need cert-manager, uninstall it by following the steps in the .

    Uninstall the net-http01 controller by running:

    1. kubectl delete -f https://github.com/knative/net-http01/releases/download/v0.23.0/release.yaml

    Uninstall the components needed to provision wildcard certificates in each namespace by running:

    1. kubectl delete -f https://github.com/knative/serving/releases/download/v0.23.0/serving-nscert.yaml

    To uninstall the DomainMapping components run:

    1. kubectl delete -f https://github.com/knative/serving/releases/download/v0.23.0/serving-domainmapping.yaml
    2. kubectl delete -f https://github.com/knative/serving/releases/download/v0.23.0/serving-domainmapping-crds.yaml

    Uninstalling a networking layer

    Follow the relevant procedure to uninstall the networking layer you installed:

    The following commands uninstall Ambassador and enable its Knative integration.

    1. Uninstall Ambassador by running:

      1. -f https://getambassador.io/yaml/ambassador/ambassador-crds.yaml \
      2. -f https://getambassador.io/yaml/ambassador/ambassador-rbac.yaml \
      3. -f https://getambassador.io/yaml/ambassador/ambassador-service.yaml
    2. Delete the Ambassador namespace:

      1. kubectl delete namespace ambassador

    The following commands uninstall Contour and enable its Knative integration.

    1. Uninstall the Knative Contour controller by running:

      1. kubectl delete -f https://github.com/knative/net-contour/releases/download/v0.23.0/net-contour.yaml
    2. Uninstall Contour:

      1. kubectl delete -f https://github.com/knative/net-contour/releases/download/v0.23.0/contour.yaml

    Uninstall Gloo and the Knative integration by running:

    1. Uninstall the Knative Istio controller by running:

      1. kubectl delete -f https://github.com/knative/net-istio/releases/download/v0.23.0/net-istio.yaml
    2. Optional: if you no longer need Istio, uninstall it by running:

      1. kubectl delete -f https://github.com/knative/net-istio/releases/download/v0.23.0/istio.yaml

    Uninstall Kong Ingress Controller by running:

    1. kubectl delete -f https://raw.githubusercontent.com/Kong/kubernetes-ingress-controller/0.9.x/deploy/single/all-in-one-dbless.yaml

    Uninstall the Knative Kourier controller by running:

    Uninstalling the Serving component

    1. Uninstall the Serving core components by running:

      1. kubectl delete -f https://storage.googleapis.com/knative-nightly/serving/latest/serving-core.yaml
    2. Uninstall the required custom resources by running:

      1. kubectl delete -f https://storage.googleapis.com/knative-nightly/serving/latest/serving-crds.yaml

    Uninstall any Eventing extensions you have installed by following the relevant procedure below:

    1. Uninstall the Kafka Sink data plane:

      1. kubectl delete -f https://github.com/knative-sandbox/eventing-kafka-broker/releases/download/v0.23.0/eventing-kafka-sink.yaml
    2. Uninstall the Kafka controller:

      1. kubectl delete -f https://github.com/knative-sandbox/eventing-kafka-broker/releases/download/v0.23.0/eventing-kafka-controller.yaml

    Uninstall the Eventing Sugar Controller by running:

      Uninstall a single-tenant GitHub source by running:

      1. kubectl delete -f https://github.com/knative-sandbox/eventing-github/releases/download/v0.23.0/github.yaml

      Uninstall a multi-tenant GitHub source by running:

      1. kubectl delete -f https://github.com/knative-sandbox/eventing-github/releases/download/v0.23.0/mt-github.yaml

      Uninstall the Apache Camel-K Source by running:

      1. kubectl delete -f https://github.com/knative-sandbox/eventing-camel/releases/download/v0.23.0/camel.yaml

      Uninstall the Apache Kafka source by running:

      1. kubectl delete -f https://github.com/knative-sandbox/eventing-kafka/releases/download/v0.23.0/source.yaml

      Uninstall the GCP sources by running:

      1. kubectl delete -f https://github.com/google/knative-gcp/releases/download/v0.23.0/cloud-run-events.yaml

      Uninstall the Apache CouchDB source by running:

      1. kubectl delete -f https://github.com/vmware-tanzu/sources-for-knative/releases/download/v0.23.0/release.yaml

      Uninstalling an optional Broker (Eventing) layer

      Uninstall a Broker (Eventing) layer, if you installed one:

      1. Uninstall the Kafka Broker data plane by running the following command:

      2. Uninstall the Kafka controller by running the following command:

        1. kubectl delete -f https://github.com/knative-sandbox/eventing-kafka-broker/releases/download/v0.23.0/eventing-kafka-controller.yaml

      Uninstall the broker by running:

      1. kubectl delete -f https://github.com/knative/eventing/releases/download/v0.23.0/mt-channel-broker.yaml

      Uninstalling optional channel (messaging) layers

      Uninstall each channel layer you have installed:

      Uninstall the Apache Kafka Channel by running:

      1. curl -L "https://github.com/knative-sandbox/eventing-kafka/releases/download/v0.23.0/channel-consolidated.yaml" \
      2. | sed 's/REPLACE_WITH_CLUSTER_URL/my-cluster-kafka-bootstrap.kafka:9092/' \
      3. | kubectl delete -f -

      Uninstall the Google Cloud Pub/Sub Channel by running:

      1. kubectl delete -f https://github.com/google/knative-gcp/releases/download/v0.23.0/cloud-run-events.yaml

      Uninstall the in-memory channel implementation by running:

      1. kubectl delete -f https://github.com/knative/eventing/releases/download/v0.23.0/in-memory-channel.yaml
      1. Uninstall the NATS Streaming channel by running:

        1. kubectl delete -f https://github.com/knative-sandbox/eventing-natss/releases/download/v0.23.0/300-natss-channel.yaml
      2. Uninstall NATS Streaming for Kubernetes. For more information, see the eventing-natss repository in GitHub.

      1. Uninstall the Eventing core components by running:

        1. kubectl delete -f https://storage.googleapis.com/knative-nightly/eventing/latest/eventing-core.yaml
      2. Uninstall the required custom resources by running:

        1. kubectl delete -f https://storage.googleapis.com/knative-nightly/eventing/latest/eventing-crds.yaml

      Uninstall an Operator-based Knative installation

      To uninstall an Operator-based Knative installation, follow the procedures below.

      Removing the Knative Serving component

      Remove the Knative Serving CR:

      1. kubectl delete KnativeServing knative-serving -n knative-serving

      Removing Knative Eventing component

      Remove the Knative Eventing CR:

      1. 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.

        If you have installed Knative from source, uninstall it using the following command while in the root directory for the source:

        1. ko delete -f config/