Skip to content

Microservice Engine Cluster Init Components

Deployment structure of the microservice engine cluster init components:

image

The chart inside the blue box, namely the skoala-init component, needs to be installed in the working cluster. After installing the skoala-init component, you can use various features of the microservice engine, such as creating a registry center, gateway instances, etc. Additionally, please note that the skoala-init component depends on the insight-agent component of the DCE 5.0 observability module to provide metric monitoring and distributed tracing functionalities. If you need to use these features, you need to install the insight-agent component beforehand. For specific steps, refer to Install the insight-agent component.

Note

  • If the insight-agent is not installed before installing skoala-init, the service-monitor will not be installed.
  • If you need to install service-monitor, please install insight-agent first, and then install skoala-init.

Online Installation

skoala-init is the Operator for all components of the microservice engine:

  • Only needs to be installed in the working cluster
  • Includes components such as skoala-agent, nacos-operator, sentinel-operator, seata-operator, contour-provisioner, gateway-api-adminssion-server
  • When not installed, creating a registry center and gateway will prompt for missing components

Since Skoala involves multiple components, we package these components into a single Chart, which is the skoala-init. Therefore, you should install skoala-init in the working cluster where you use the microservice engine. This installation command can also be used to update the component.

Configure the Skoala repository to view and obtain the application chart for skoala-init.

helm repo add skoala-release https://release.daocloud.io/chartrepo/skoala
helm repo update
$ 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...
......

Run the following command. Note that you shall change the version to a proper nubmer.

helm upgrade --install skoala-init --create-namespace -n skoala-system --cleanup-on-fail \
    skoala-release/skoala-init \
    --version 0.28.1

Check if Pod is started successfully:

$ kubectl -n skoala-system get pods
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

Online Upgrade

Since the skoala-init component is installed in the working cluster, you need to perform the following steps in each working cluster.

  1. Backup the original parameters.

    helm -n skoala-system get values skoala-init > skoala-init.yaml
    
  2. Add the Helm repository for the microservice engine.

    helm repo add skoala https://release.daocloud.io/chartrepo/skoala
    
  3. Update the Helm repository for the microservice engine.

    helm repo update
    
  4. Delete the gateway-api-admission and gateway-api-admission-patch jobs.

    kubectl -n skoala-system delete jobs gateway-api-admission gateway-api-admission-patch
    
  5. Run the helm upgrade command.

    helm --kubeconfig /tmp/deploy-kube-config 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.yaml
    

    Note

    Adjust the values of the version, nacos-operator.image.tag, skoala-agent.image.tag, sentinel-operator.image.tag, and seata-operator.image.tag parameters to the version number of the microservice engine you want to upgrade to.

  6. Manually update the CRD files that need to be upgraded based on your needs.

    # projectcontour crd
    kubectl apply -f skoala-init/charts/contour-provisioner/crds/contour.yaml
    # gateway-api crd
    kubectl apply -f skoala-init/charts/contour-provisioner-prereq/crds/gateway-api.yaml
    

Offline Upgrade

Refer to the offline upgrade method for the microservice engine management components in Offline Upgrade.

Uninstalling the Microservice Engine Cluster Init Component

helm uninstall skoala-init -n skoala-system

Comments