《OpenShift 4.x HOL教程汇总》
说明:本文已经在 OpenShift 4.13 环境中验证
文章目录
安装 OpenShift Service Mesh 和相关依赖 Operator
一套完整的 Service Mesh 环境不但需要安装 OpenShift Service Mesh Operator 以提供 Istio 运行环境,还需要安装 Elasticsearch Operator、Jaeger Operator(OpenShift distributed tracing platform)、Kiali Operator,以提供对 Service Mesh 应用的监控跟踪功能。
下面将使用OpenShift集群管理员身份登录OpenShift控制台,然后按照顺序安装Elasticsearch Operator、Jaeger Operator、Kiali Operator和Service Mesh Operator。
安装配置 Elasticsearch Operator
- 在控制台的Administrator视图中,进入Operators → OperatorHub,然后搜索出下图的“OpenShift Elasticsearch Operator”,点击进入。
- 在右滑的“OpenShift Elasticsearch Operator”页面中点击“Install”按钮。
- 在“Install Operator”页面中接受默认选项,点击“Install”按钮。
- 安装完成后界面将显示下图(你看到的版本有可能更新)。
安装配置 Jaeger Operator(OpenShift distributed tracing platform)
- 在控制台的 Administrator 视图中,进入Operators → OperatorHub,然后搜索出下图的“Jaeger”(注意,不是“Community Jaeger Operator”),点击进入。
- 在右滑的“Red Hat OpenShift distributed tracing platform”页面中点击“Install”按钮。
- 在“Install Operator”页面中接受默认选项,点击“Install”按钮。
- 安装完成后界面将显示下图(你看到的版本有可能更新)。
- 此时查看Operators → Installed Operators,其中Status会显示Successed。
安装配置 Kiali Operator
- 在控制台的Administrator视图中,进入Operators → OperatorHub,然后搜索出下图的“Kiali Operator”。选择下图进入(而不是“Community的 Kiali Operator”)。
- 在右滑的“Kiali Operator”页面中点击“Install”按钮。
- 在“Install Operator”页面中接受默认选项,点击“Install”按钮。
- 安装完成后界面将显示下图(你看到的版本有可能更新)。
- 此时查看Operators → Installed Operators,其中Status会显示Successed。
安装配置 OpenShift Service Mesh Operator
- 在控制台的Administrator视图中,进入Operators → OperatorHub,然后搜索出下图的“Red Hat OpenShift Service Mesh”。
- 在右滑的“Red Hat OpenShift Service Mesh”页面中点击“Install”按钮。
- 在“Install Operator”页面中接受默认选项,点击“Install”按钮。
- 安装完成后界面将显示下图(你看到的版本有可能更新)。
- 此时查看Operators → Installed Operators,其中Status会显示Successed。
为OpenShift项目配置Service Mesh运行环境
准备项目资源
可以用非集群管理员创建以下2个项目,其中istio-system项目用来运行Service Mesh的Control Plane的,而istio-app项目是用来运行Istio应用的。
$ ISTIO_SYSTEM=istio-system
$ ISTIO_APP=istio-app
$ oc new-project $ISTIO_SYSTEM
$ oc new-project $ISTIO_APP
创建Service Mesh Control Plane
Control Plane是Service Mesh 的核心管理环境。在OpenShift集群中我们按照以下说明创建一个Service Mesh Control Plane运行环境。
- 用以上用户登录控制台,向切换到istio-system项目,然后进入Operators → Installed Operators菜单,然后在进入上一步安装的“Red Hat OpenShift Service Mesh”。
- 在Red Hat OpenShift Service Mesh的Overivew页面中的“Istio Service Mesh Control Plane”区域点击Create Instance链接。
- 在“Create ServiceMeshControlPlane”页面中接受默认的配置,然后点击Create按钮。
- 执行命令查看进度创建进度,完成后会在istio-system项目中运行7个Pod。可以通过命令或在Console的Developer视图的Topology中查看部署的资源。
$ oc get smcp -n $ISTIO_SYSTEM
NAME READY STATUS PROFILES VERSION AGE
basic 9/9 ComponentsReady ["default"] 2.4.0 3m36s
$ oc get pods -n $ISTIO_SYSTEM
NAME READY STATUS RESTARTS AGE
grafana-57df5c94b7-d6tpv 2/2 Running 0 3m37s
istio-egressgateway-cff975474-2jrhn 1/1 Running 0 3m38s
istio-ingressgateway-84ddcb8699-48kvz 1/1 Running 0 3m38s
istiod-basic-568667df69-62fnj 1/1 Running 0 4m8s
jaeger-7db698cb5c-sz4rn 2/2 Running 0 3m38s
kiali-59c95c68f-6w456 1/1 Running 0 2m43s
prometheus-b54d9974d-4vppp 3/3 Running 0 3m52s
创建Service Mesh Member Roll,并关联Istio应用项目
所有在Member Roll的项目是被OpenShift Service Mesh的Control Plane纳管的资源,因此我们需要要把所有运行istio应用的项目关联到Service Mesh Member Roll中。
- 在控制台上切换到istio-system项目,然后进入Operators → Installed Operators菜单,然后在进入上一步安装好的“Red Hat OpenShift Service Mesh”。
- 在Red Hat OpenShift Service Mesh的 Overivew 页面中点击“Istio Service Mesh Member Roll”区域的Create Instance链接。
- 在Create ServiceMeshMemberRoll页面中的Members区域提供用来运行 Istio 的项目名“istio-app”,然后点击 Create。如果还有其他项目,都可添加到该Members列表中。
- 查看名为default的ServiceMeshMemberRoll状态,正常完成后是Ready状态。
完成以上操作后,我们就准备好OpenShift Service Mesh运行所需要的所有资源了,然后就可以在istio-app项目中部署Istio的服务了。