Instalación de WebSphere Liberty operator con la CLI de Kubernetes

Un administrador de clúster puede instalar un WebSphere® Liberty operator con la interfaz de línea de mandatos (CLI) de Kubernetes (kubectl) cuando el clúster no es un clúster de Red Hat® OpenShift® Container Platform . Los entornos Kubernetes de ejemplo que no utilizan OpenShift Container Platform incluyen Azure Kubernetes Service (AKS) o Amazon Elastic Kubernetes Service (EKS).

Antes de comenzar

WebSphere Liberty operator requiere un clúster de Kubernetes. Utilice kubectl para ejecutar mandatos en el clúster de Kubernetes .

Instale los requisitos previos. Consulte Preparación de la instalación.

Si tiene previsto utilizar Operator Lifecycle Manager (OLM), este se debe instalar en el clúster antes de continuar. Además, necesita el origen de catálogo de IBM® Operator. Los pods de CatalogSources deben estar en ejecución.

Inicie sesión en el clúster de Kubernetes como administrador del clúster.

Siga las instrucciones para instalar WebSphere Liberty operator en un clúster de Kubernetes no OCP con OLM o sin OLM.

Instalación de WebSphere Liberty operator con OLM

El operador apoya OwnNamespace, SingleNamespace, y AllNamespaces modos de instalación. La modalidad de instalación AllNamespaces se aplica a la mayoría de las instalaciones.

  1. Establezca las variables de shell WLO_NAMESPACE y WLO_TARGET_NAMESPACE .

    Para la modalidad de instalación AllNamespaces, establezca WLO_NAMESPACE en operators.

    WLO_NAMESPACE=operators

    Para la modalidad SingleNamespace, donde el operador observa un espacio de nombres distinto, establezca WLO_NAMESPACE en el nombre en el que está instalado el operador y establezca WLO_TARGET_NAMESPACE en el nombre del espacio de nombres que se debe observar.

    WLO_NAMESPACE=my-wlo-namespace
    WLO_TARGET_NAMESPACE=websphere-liberty-target

    Para la modalidad OwnNamespace, establezca la variable de entorno WLO_NAMESPACE y la variable de entorno WLO_TARGET_NAMESPACE en el mismo valor.

    WLO_NAMESPACE=my-wlo-namespace
    WLO_TARGET_NAMESPACE=my-wlo-namespace
  2. Cree los espacios de nombres, si es necesario.

    Para la modalidad de instalación AllNamespaces, el espacio de nombres operators ya existe.

    kubectl create namespace $WLO_NAMESPACE
    kubectl create namespace $WLO_TARGET_NAMESPACE
    Nota: Para ver las consideraciones de seguridad aplicables a nivel de espacio de nombres, consulte Establecimiento de límites con el recurso ResourceQuota.
  3. Para la modalidad OwnNamespace o SingleNamespace, cree un OperatorGroup.
    Nota: Si utiliza la modalidad AllNamespaces predeterminada, omita este paso.
    cat <<EOF | kubectl apply -f -
    apiVersion: operators.coreos.com/v1alpha2
    kind: OperatorGroup
    metadata:
      name: ibm-websphere-liberty
      namespace: $WLO_NAMESPACE
    spec:
      targetNamespaces:
      - $WLO_TARGET_NAMESPACE
    EOF
  4. Instale WebSphere Liberty operator.
    cat <<EOF | kubectl apply -f -
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: ibm-websphere-liberty
      namespace: $WLO_NAMESPACE
    spec:
      installPlanApproval: Automatic
      name: ibm-websphere-liberty
      source: ibm-operator-catalog
      sourceNamespace: olm
    EOF

Instalación de WebSphere Liberty operator sin OLM

El operador apoya OwnNamespace, SingleNamespace, y AllNamespaces Modos de instalación. La modalidad de instalación AllNamespaces se aplica a la mayoría de las instalaciones.

En un entorno Kubernetes no OCP sin OLM, una opción es utilizar kustomize. Para obtener más información, consulte Instalación del operador de WebSphere Liberty con kustomize.

  1. Instale los recursos de definición de recursos personalizados (CRD) para operaciones WebSphereLibertyApplication y Day-2 WebSphereLibertyTrace y WebSphereLibertyDump. Esto sólo debe hacerse una vez por clúster.
    kubectl apply --server-side -f https://raw.githubusercontent.com/WASdev/websphere-liberty-operator/main/deploy/releases/1.5.2/kubectl/websphereliberty-app-crd.yaml
  2. Cree variables de entorno y espacios de nombres.
    1. Establezca el espacio de nombres del operador y el espacio de nombres de destino para verlo.

      Para la modalidad de instalación AllNamespaces, establezca WLO_TARGET_NAMESPACE en '""'.

      WLO_NAMESPACE=my-wlo-namespace
      WLO_TARGET_NAMESPACE='""'

      Para la modalidad SingleNamespace, donde el operador observa un espacio de nombres distinto, establezca WLO_NAMESPACE en el nombre en el que está instalado el operador y establezca WLO_TARGET_NAMESPACE en el nombre del espacio de nombres que se debe observar.

      WLO_NAMESPACE=my-wlo-namespace
      WLO_TARGET_NAMESPACE=websphere-liberty-target

      Para la modalidad OwnNamespace, establezca la variable de entorno WLO_NAMESPACE y la variable de entorno WLO_TARGET_NAMESPACE en el mismo valor.

      WLO_NAMESPACE=my-wlo-namespace
      WLO_TARGET_NAMESPACE=my-wlo-namespace
    2. Cree los espacios de nombres que sean necesarios.
      kubectl create namespace $WLO_NAMESPACE
      kubectl create namespace $WLO_TARGET_NAMESPACE
      Nota: Para ver las consideraciones de seguridad aplicables a nivel de espacio de nombres, consulte Establecimiento de límites con el recurso ResourceQuota.
  3. Instale roles y enlaces para observar otro espacio de nombres o todos los espacios de nombres. Omita este paso si el operador está viendo su propio espacio de nombres.
    1. Para ver todos los espacios de nombres, instale el acceso basado en roles a nivel de clúster:
      curl -L https://raw.githubusercontent.com/WASdev/websphere-liberty-operator/main/deploy/releases/1.5.2/kubectl/websphereliberty-app-rbac-watch-all.yaml \
        | sed -e "s/WEBSPHERE_LIBERTY_OPERATOR_NAMESPACE/${WLO_NAMESPACE}/" \
        | kubectl apply -f -
    2. Para ver otro espacio de nombres, instale el rol con acceso a otro espacio de nombres:
      curl -L https://raw.githubusercontent.com/WASdev/websphere-liberty-operator/main/deploy/releases/1.5.2/kubectl/websphereliberty-app-rbac-watch-another.yaml \
        | sed -e "s/WEBSPHERE_LIBERTY_OPERATOR_NAMESPACE/${WLO_NAMESPACE}/" \
        | sed -e "s/WEBSPHERE_LIBERTY_WATCH_NAMESPACE/${WLO_TARGET_NAMESPACE}/" \
        | kubectl apply -f -
  4. Instale WebSphere Liberty operator.
    curl -L https://raw.githubusercontent.com/WASdev/websphere-liberty-operator/main/deploy/releases/1.5.2/kubectl/websphereliberty-app-operator.yaml \
      | sed -e "s/WEBSPHERE_LIBERTY_WATCH_NAMESPACE/${WLO_TARGET_NAMESPACE}/" \
      | kubectl apply -n ${WLO_NAMESPACE} -f -

Qué hacer a continuación

A su discreción, puede desplegar la aplicación de ejemplo.

Si el operador no se ha podido instalar correctamente, consulte los registros.
kubectl logs -l control-plane=websphere-liberty-controller-manager