使用 Kubernetes CLI 安装 WebSphere Liberty operator

当集群不是 Red Hat® OpenShift® Container Platform 集群时,集群管理员可以使用 Kubernetes 命令行界面 (CLI) (kubectl) 安装 WebSphere® Liberty operator 。 不使用 OpenShift Container Platform 的示例 Kubernetes 环境包含 Azure Kubernetes Service (AKS) 或 Amazon Elastic Kubernetes Service (EKS)。

准备工作

WebSphere Liberty operator 需要一个 Kubernetes 集群。 使用 kubectl 对 Kubernetes 集群运行命令。

安装必备软件。 请参阅 准备安装

如果您计划使用 Operator Lifecycle Manager (OLM),那么必须先将其安装在集群上,然后再继续。 此外,您还需要 IBM® Operator 目录源。 CatalogSources pod 必须正在运行

以集群管理员身份登录到 Kubernetes 集群。

遵循有关在带有 OLM 或不带 OLM 的非 OCP Kubernetes 集群上安装 WebSphere Liberty operator 的指示信息。

安装带有 OLM 的 WebSphere Liberty operator

运营商支持OwnNamespace,SingleNamespace,和AllNamespaces安装模式。 AllNamespaces 安装方式适用于大多数安装。

  1. 设置 WLO_NAMESPACEWLO_TARGET_NAMESPACE shell 变量。

    对于 AllNamespaces 安装方式,请将 WLO_NAMESPACE 设置为 operators

    WLO_NAMESPACE=operators

    对于操作程序要监视其他名称空间的 SingleNamespace 方式,请将 WLO_NAMESPACE 设置为已安装的操作程序的名称,并将 WLO_TARGET_NAMESPACE 设置为要监视的名称空间的名称。

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

    对于 OwnNamespace 方式,请将 WLO_NAMESPACE 环境变量和 WLO_TARGET_NAMESPACE 环境变量设置为相同的值。

    WLO_NAMESPACE=my-wlo-namespace
    WLO_TARGET_NAMESPACE=my-wlo-namespace
  2. 如果需要,请创建名称空间。

    对于 AllNamespaces 安装方式,operators 名称空间已存在。

    kubectl create namespace $WLO_NAMESPACE
    kubectl create namespace $WLO_TARGET_NAMESPACE
    注: 有关在名称空间级别适用的安全注意事项,请参阅 使用 ResourceQuota 资源设置限制
  3. 对于 OwnNamespace 或 SingleNamespace 方式,请创建一个 OperatorGroup
    注: 如果要使用缺省 AllNamespaces 方式,请跳过此步骤。
    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. 安装 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

安装不带 OLM 的 WebSphere Liberty operator

运营商支持OwnNamespace,SingleNamespace,和AllNamespaces安装模式。 AllNamespaces 安装方式适用于大多数安装。

在没有 OLM的非 OCP Kubernetes 环境中,选项是使用 kustomize。 有关更多信息,请参阅 通过 kustomize 安装 WebSphere Liberty 操作程序

  1. 安装 WebSphereLibertyApplication 和 Day-2 操作 WebSphereLibertyTraceWebSphereLibertyDump的定制资源定义 (CRD) 资源。 每个集群仅需要执行一次此操作。
    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. 创建环境变量和名称空间。
    1. 设置要监视的操作程序名称空间和目标名称空间。

      对于 AllNamespaces 安装方式,请将 WLO_TARGET_NAMESPACE 设置为 '""'

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

      对于操作程序要监视其他名称空间的 SingleNamespace 方式,请将 WLO_NAMESPACE 设置为已安装的操作程序的名称,并将 WLO_TARGET_NAMESPACE 设置为要监视的名称空间的名称。

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

      对于 OwnNamespace 方式,请将 WLO_NAMESPACE 环境变量和 WLO_TARGET_NAMESPACE 环境变量设置为相同的值。

      WLO_NAMESPACE=my-wlo-namespace
      WLO_TARGET_NAMESPACE=my-wlo-namespace
    2. 创建所需的任何名称空间。
      kubectl create namespace $WLO_NAMESPACE
      kubectl create namespace $WLO_TARGET_NAMESPACE
      注: 有关在名称空间级别适用的安全注意事项,请参阅 使用 ResourceQuota 资源设置限制
  3. 安装角色和绑定以监视其他名称空间或所有名称空间。 如果操作程序正在监视它自己的名称空间,请跳过此步骤。
    1. 要监视所有名称空间,请安装集群级别的基于角色的访问权:
      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. 要监视另一个名称空间,请安装有权访问另一个名称空间的角色:
      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. 安装 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 -

下一步做什么?

您可以自行决定 部署样本应用程序

如果无法正确安装操作程序,请查看日志。
kubectl logs -l control-plane=websphere-liberty-controller-manager