微服务引擎集群初始化组件¶
本教程旨在补充需要手工 单独在线安装 微服务引擎集群初始化组件的的场景。下文出现的 skoala-init 是微服务引擎集群初始化组件的内部开发代号,代指微服务引擎集群初始化组件。
微服务引擎集群初始化组件部署结构:

蓝色框内的 chart 即 skoala-init 组件,需要安装在工作集群。安装 skoala-init 组件之后即可以使用微服务引擎的各项功能,例如创建注册中心、网关实例等。另外需要注意, skoala-init 组件依赖 DCE 5.0 可观测模块的 insight-agent 组件提供指标监控和链路追踪等功能。 如您需要使用该项功能,则需要事先安装好 insight-agent 组件, 具体步骤可参考安装组件 insight-agent。
Note
- 如果安装 skoala-init之前没有事先安装insight-agent,则不会安装service-monitor。
- 如果需要安装 service-monitor,请先安装insight-agent,然后再安装skoala-init。
在线安装¶
skoala-init 是微服务引擎所有的组件 Operator:
- 仅安装到工作集群即可
- 包含组件有:skoala-agent、nacos-operator、sentinel-operator、seata-operator、contour-provisioner、gateway-api-adminssion-server
- 未安装时,创建注册中心和网关时会提示缺少组件
由于 Skoala 涉及的组件较多,我们将这些组件打包到同一个 Chart 内,也就是 skoala-init, 所以我们应该在用到微服务引擎的工作集群安装好 skoala-init。此安装命令也可用于更新该组件。
配置好 Skoala 仓库,即可查看和获取到 skoala-init 的应用 chart。
$ helm search repo skoala-release/skoala-init --versions
NAME                        CHART VERSION   APP VERSION DESCRIPTION
skoala-release/skoala-init  0.28.1          0.28.1      A Helm Chart for Skoala init, it includes Skoal...
skoala-release/skoala-init  0.28.0          0.28.0      A Helm Chart for Skoala init, it includes Skoal...
skoala-release/skoala-init  0.27.2          0.27.2      A Helm Chart for Skoala init, it includes Skoal...
skoala-release/skoala-init  0.27.1          0.27.1      A Helm Chart for Skoala init, it includes Skoal...
......
执行以下命令,注意对应的版本号:
helm upgrade --install skoala-init --create-namespace -n skoala-system --cleanup-on-fail \
    skoala-release/skoala-init \
    --version 0.28.1
查看 Pod 是否启动成功:
$ kubectl get pods -n skoala-system
NAME                                   READY   STATUS    RESTARTS        AGE
contour-provisioner-54b55958b7-5ltng                  1/1     Running     0          2d6h
gateway-api-admission-patch-bk7c8                     0/1     Completed   0          2d6h
gateway-api-admission-pwhdh                           0/1     Completed   0          2d6h
gateway-api-admission-server-77545d74c4-v6fpr         1/1     Running     0          2d6h
nacos-operator-6d94bdccc8-wx4w5                       1/1     Running     0          2d6h
seata-operator-f556d989d-8qrf8                        1/1     Running     0          2d6h
sentinel-operator-6fb9dc98f4-d44k5                    1/1     Running     0          2d6h
skoala-agent-54d4df7897-7p4pz                         1/1     Running     0          2d6h
除了通过终端安装,也可以在 容器管理-> Helm 应用 内找到 skoala-init 进行安装。

在线升级¶
由于 skoala-init 组件安装在工作集群中,所以需要在每个工作集群中各执行一次下列操作。
-  备份原有参数 
-  添加微服务引擎的 Helm 仓库 
-  添加微服务引擎的 Helm 仓库 
-  删除 gateway-api 相关 job 
-  执行 helm upgrade命令helm upgrade --install --create-namespace -n skoala-system skoala-init skoala/skoala-init --version=0.28.1 --set nacos-operator.image.tag=v0.28.1 --set skoala-agent.image.tag=v0.28.1 --set sentinel-operator.image.tag=v0.28.1 --set seata-operator.image.tag=v0.28.1 -f skoala-init.yamlNote 需要将 version、nacos-operator.image.tag、skoala-agent.image.tag、sentinel-operator.image.tag、seata-operator.image.tag五个参数的值调整为您需要升级到的微服务引擎的版本号。
-  根据自身需要,手动更新需要升级的网关相关 CRD 文件。 
离线升级¶
参考微服务引擎管理组件的离线升级方式
卸载微服务引擎集群初始化组件¶
Note
- nacos sentinel seata 的 crd 会随之卸载,特别注意,相关 cr 会被删除。
- 网关相关 crd 不会被随之卸载,如需清除需手动处理,特别注意,清除 crd 时相关 cr 会被删除。
网关相关 crd 清单
contourconfigurations.projectcontour.io
 contourdeployments.projectcontour.io
 extensionservices.projectcontour.io
 gatewayclasses.gateway.networking.k8s.io
 gateways.gateway.networking.k8s.io
 grpcroutes.gateway.networking.k8s.io
 httpproxies.projectcontour.io
 httproutes.gateway.networking.k8s.io
 referencegrants.gateway.networking.k8s.io
 tcproutes.gateway.networking.k8s.io
 tlscertificatedelegations.projectcontour.io
 tlsroutes.gateway.networking.k8s.io
 udproutes.gateway.networking.k8s.io
手动清理 gateway-api 相关 job¶
手动清理网关相关 crd¶
kubectl delete crds `kubectl get crds | grep -E "projectcontour.io|gateway.networking.k8s.io" | awk '{print $1}'`