¿Cómo se suprimen los componentes de Operator Lifecycle Manager ?

Operator Lifecycle Manager (OLM) no está instalado ni gestionado en clústeres que ejecutan Kubernetes versión 1.23 o posterior. Sin embargo, es posible que los clústeres que se han actualizado de la versión 1.22 a la versión 1.23 o posterior sigan teniendo instalados los componentes OLM. Si no utiliza componentes OLM en el clúster, siga estos pasos para eliminarlos.

Si desea seguir utilizando componentes de OLM en su clúster, o si desea instalar y ejecutar OLM en un clúster que ejecute la versión 1.23 o posterior, deberá gestionar usted mismo las actualizaciones. Consulte la documentación de código abierto OLM.

  1. Confirme que tiene instalado el operador OLM.

    kubectl get deploy -n ibm-system olm-operator
    

    Salida de ejemplo

    NAME                                   READY   UP-TO-DATE   AVAILABLE   AGE
    olm-operator                           1/1     1            1           6mo
    
  2. Compruebe si está utilizando las versiones 1.4 a 1.9 del complemento Istio. Istio las versiones 1.4 a 1.9 no son compatibles y utilizan OLM. Si utiliza estas versiones, actualice a una versión compatible del complemento Istio que no utilice el operador OLM. Después de actualizar a una versión compatible de Istio, puede eliminar el operador OLM.

    ibmcloud ks cluster addons -c CLUSTER
    

    En la salida de este ejemplo, OLM sigue siendo utilizado por el complemento Istio versión 1.5. Actualice el complemento y, a continuación, continúe estos pasos.

    NAME            Version     Health State   Health Status
    istio           1.5         normal         Addon Ready
    
  3. Compruebe si hay algún operador en uso que se haya desplegado a través de OLM listando las versiones del servicio de clúster.

    kubectl get clusterserviceversions -A
    

    Salida de ejemplo de un operador que se ha desplegado a través de OLM.

    NAMESPACE                              NAME            DISPLAY          VERSION   REPLACES   PHASE
    kubernetes-operator-lifecycle-manager   packageserver   Package Server   0.19.0               Succeeded
    

    Si en la salida aparece clusterserviceversions, es que sigue utilizando operadores gestionados a través de OLM. Puedes seguir utilizando OLM, pero eres responsable de gestionar las actualizaciones. Los siguientes pasos suponen que ya no está utilizando OLM y proporcionan instrucciones de limpieza, no continúe si todavía está utilizando OLM.

  4. Si no había instancias de clusterserviceversions en la salida del paso 3, no está utilizando OLM. Ahora puede obtener una lista de los recursos creados por OLM y eliminarlos.

  5. Para cada CRD de la lista siguiente, obtenga los recursos personalizados (CR) en todos los espacios de nombres.

    kubectl get catalogsources.operators.coreos.com -A
    kubectl get clusterserviceversions.operators.coreos.com -A
    kubectl get installplans.operators.coreos.com -A
    kubectl get operatorgroups.operators.coreos.com -A
    kubectl get operators.operators.coreos.com -A
    kubectl get subscriptions.operators.coreos.com -A
    
  6. Si encuentra CR, determine si sigue necesitando estos recursos.

    • Es posible que siga viendo los grupos de operadores olm-operators y ibm-operators desplegados por OLM. Estos grupos de operadores formaban parte de la instalación de OLM. Puesto que no tiene ninguna instancia de cluseterserviceversions en los pasos anteriores, ya no está utilizando estos grupos de operadores.
    • Si en el pasado tenía instalada la versión 1.4- 1.9 del complemento Istio, es posible que siga viendo el recurso istio operators.operators.coreos.com en el espacio de nombres ibm-operators. Si ha actualizado Istio al menos a la versión 1.10, ya no necesita este recurso.
    • Si encuentra otros CR, lo más probable es que no los esté utilizando porque no tenía ninguna instancia de clusterserviceversions en los pasos anteriores. Sin embargo, revise cada CR con el administrador del clúster caso por caso para determinar si se siguen utilizando.

    Los siguientes pasos suponen que ya ha completado la revisión y le guiarán a través de la eliminación de OLM.

  7. Si determinó que OLM no es utilizado por el complemento Istio ni por ningún operador adicional, ejecute los siguientes comandos por separado para eliminar los recursos de OLM.

    kubectl delete clusterrole aggregate-olm-edit
    kubectl delete clusterrole aggregate-olm-view
    kubectl delete deploy -n ibm-system catalog-operator
    kubectl delete deploy -n ibm-system olm-operator
    kubectl delete clusterrole system:controller:operator-lifecycle-manager
    kubectl delete serviceaccount -n ibm-system olm-operator-serviceaccount
    kubectl delete clusterrolebinding olm-operator-binding-ibm-system
    kubectl delete operatorgroup -n ibm-operators  ibm-operators
    kubectl delete operatorgroup -n ibm-system   olm-operators
    kubectl delete service -n ibm-system catalog-operator-metrics
    kubectl delete service -n ibm-system olm-operator-metrics
    
  8. Suprima los CR no utilizados y, a continuación, suprima las definiciones de recursos personalizados (CRD) instaladas por OLM.

    kubectl delete catalogsources.operators.coreos.com NAME -n NAMESPACE
    
    kubectl delete crd catalogsources.operators.coreos.com
    
  9. Repita los pasos anteriores para cada una de las CRD siguientes.

    • catalogsources.operators.coreos.com
    • clusterserviceversions.operators.coreos.com
    • installplans.operators.coreos.com
    • operatorgroups.operators.coreos.com
    • operators.operators.coreos.com
    • subscriptions.operators.coreos.com