使用 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 安装方式适用于大多数安装。
- 设置 WLO_NAMESPACE 和 WLO_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 - 如果需要,请创建名称空间。
对于 AllNamespaces 安装方式,
operators名称空间已存在。kubectl create namespace $WLO_NAMESPACE kubectl create namespace $WLO_TARGET_NAMESPACE注: 有关在名称空间级别适用的安全注意事项,请参阅 使用 ResourceQuota 资源设置限制。 - 对于 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 - 安装 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 操作程序。
- 安装
WebSphereLibertyApplication和 Day-2 操作WebSphereLibertyTrace和WebSphereLibertyDump的定制资源定义 (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 - 创建环境变量和名称空间。
- 设置要监视的操作程序名称空间和目标名称空间。
对于 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 - 创建所需的任何名称空间。
kubectl create namespace $WLO_NAMESPACE kubectl create namespace $WLO_TARGET_NAMESPACE注: 有关在名称空间级别适用的安全注意事项,请参阅 使用 ResourceQuota 资源设置限制。
- 设置要监视的操作程序名称空间和目标名称空间。
- 安装角色和绑定以监视其他名称空间或所有名称空间。 如果操作程序正在监视它自己的名称空间,请跳过此步骤。
- 要监视所有名称空间,请安装集群级别的基于角色的访问权:
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 - - 要监视另一个名称空间,请安装有权访问另一个名称空间的角色:
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 -
- 要监视所有名称空间,请安装集群级别的基于角色的访问权:
- 安装 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