Uninstall a CNE instance using FLO

Introduction

The following instructions describe how to uninstall a CNE instance using F5 Lifecycle Operator (FLO). If you want to uninstall more than one CNE instance, repeat these instructions for each instance.

Note

  • These instructions assume that you’ll delete the CNE-instance namespace as part of the uninstallation. Make sure you have manifests for any resources in the namespace that you want to keep.

  • After you install the last CNE instance, F5 Lifecycle Operator automatically uninstalls the CNE core.

Uninstall a CNE instance

  1. In a terminal window on your computer, make sure you’re in the release-manifest directory.

  2. Set the CNE_INSTANCE_NAMESPACE environment variable to the name of the CNE instance’s namespace.

    Example

    export CNE_INSTANCE_NAMESPACE=f5-bnk-instance-app1
    
  3. Trigger F5 Lifecycle Operator to uninstall the CNE-instance workloads:

    kubectl delete -f cne-instance-${CNE_INSTANCE_NAMESPACE}.yaml \
      --namespace $CNE_INSTANCE_NAMESPACE
    
  4. Delete the certificates for the Prometheus-scraping endpoint:

    kubectl delete certificates \
      external-f5ingotelsvr \
      external-otelsvr \
      --namespace $CNE_INSTANCE_NAMESPACE
    
  5. Did you use the SR-IOV Network Operator to create MULTUS network-attachment definitions?

    • Yes:

      • List the MULTUS network-attachment definitions in the CNE-instance namespace:

        kubectl get network-attachment-definitions \
          --namespace $CNE_INSTANCE_NAMESPACE
        
      • Delete the cluster-facing and external-facing SriovNetwork resources in the openshift-sriov-network-operator namespace whose names match the names of the MULTUS network-attachment definitions in the CNE-instance namespace.

        Example

        kubectl delete sriovnetworks \
          <CLUSTER_FACING_SRIOVNETWORK_RESOURCE_NAME> \
          <EXTERNAL_FACING_SRIOVNETWORK_RESOURCE_NAME> \
          --namespace openshift-sriov-network-operator
        

        The SR-IOV Network Operator deletes the associated MULTUS network-attachment definitions in the CNE-instance namespace.

    • No:

      • Manually delete the cluster-facing and external-facing MULTUS network-attachment definitions in the CNE-instance namespace.

        Example

        kubectl delete network-attachment-definitions \
          <CLUSTER_FACING_NETWORK_ATTACHMENT_DEFINITION_NAME> \
          <EXTERNAL_FACING_NETWORK_ATTACHMENT_DEFINITION_NAME> \
          --namespace $CNE_INSTANCE_NAMESPACE
        
  6. Did you store Helm charts and Docker container images in a private artifact registry?

    • Yes:

      • If your private artifact registry requires authentication, delete the image pull secret for your private artifact registry (for example, private-registry-pull-secret):

      kubectl delete secret \
        <PRIVATE_REGISTRY_PULL_SECRET_MANIFEST_FILENAME> \
        --namespace $CNE_INSTANCE_NAMESPACE
      
    • No:

      • Delete the image pull secret for F5 Artifact Registry:

        kubectl delete secret far-pull-secret \
          --namespace $CNE_INSTANCE_NAMESPACE
        
  7. Delete the namespace:

    kubectl delete namespace $CNE_INSTANCE_NAMESPACE
    

Next steps

  • Have you uninstalled all CNE instances and want to uninstall F5 BIG-IP Cloud-Native Edition completely?

    • Yes:

    • No:

      • If you want to uninstall another CNE instance, repeat the instructions on this page.