HA Kato Deployment

Kato high-availability installation is based on the high availability of Kubernetes clusters, so before installing Kato clusters, please ensure that you have installed a Kubernetes high-availability cluster that meets one of the following conditions. Kubernetes clusters are recommended to use version 1.16 and above

  • For users who have not yet installed a highly available Kubernetes cluster, it is recommended to refer to the Highly Available Kubernetes Cluster Installation Document to install a highly available cluster.

  • Purchase Kubernetes cluster resources on public cloud platforms such as Alibaba Cloud (Currently, Kubernetes cluster resources in serverless mode are not supported, please purchase professional or managed mode clusters).

  • For users who have already installed a Kubernetes cluster, please check the node configuration list in the High Availability Kubernetes Cluster Installation Document to confirm whether high availability is met.

Prerequisites

  • Kubernetes of version 1.13 and above
  • At least 2G memory remaining in the cluster
  • The host DNS can resolve the public network address normally
  • Ensure communication between containers across hosts
  • There is at least one machine in the cluster. The following ports can be used: 80, 443, 7070, 6060, 8443, 10254, 18080, 18081

Install Helm (V3)

If Helm is not installed in your environment, please install it. If Helm (3.0+) is already installed, please skip this step.

wget https://gitlab.com/gridworkz/pkg/helm && chmod +x helm && mv helm /usr/local/bin/

Tip: When /usr/local/bin is in the $PATH environment variable, the executable program can be placed in this directory, depending on the operating system.

Note: If the download speed is slow, the download can be accelerated from Kato, this version is 3.0.3

wget https://gitlab.com/gridworkz/pkg/helm && chmod +x helm && mv helm /usr/local/bin/

Install Mysql-Operator Controller

Users can choose to connect to external databases or use the Mysql-operator controller to achieve high database availability according to their own needs. Users who need to install the Mysql-operator controller, please perform the following operations

Create a namespace resource before starting the installation

kubectl create namespace rbd-system

Download the Mysql-operator Chart application package and install it

wget https://gitlab.com/gridworkz/offline/5.2/mysql-operator-chart.tgz
tar zxvf mysql-operator-chart.tgz
helm install mysql-operator ./mysql-operator -n rbd-system

Confirm that all pods of Mysql-operator are ready

kubectl get pod -n rbd-system
NAME READY STATUS RESTARTS AGE
mysql-operator-6c5bcbc7fc-4gjvn 1/1 Running 0 5m7s

After the Mysql-operator is ready, you can start to install kato-operator

Download and Run Kato-Operator to Install the Controller

Download the kato-operator Chart application package:

wget https://gitlab.com/gridworkz/offline/5.2/kato-operator-chart-v5.2.0-release.tgz && tar xvf kato-operator-chart-v5.2.0-release.tgz

Optional configuration refer to ./chart/values.yaml, no need to modify by default.

Installation is complete after configuration

  • How to install Kato-Operator when connecting to an external database
#Install operator through helm to the specified namespace
helm install kato-operator ./chart -n rbd-system
  • Kato-Operator installation method when using Kato official database high availability installation
#Install operator through helm to the specified namespace
helm install kato-operator ./chart --set enableMySQLOperator=true -n rbd-system

After the execution is complete, since it takes a certain amount of time to obtain the image from the public network, please run kubectl get pod -n rbd-system, confirm that all Pods are Ready (as shown below) and proceed to the next steps.

NAME READY STATUS RESTARTS AGE
kato-operator-0 2/2 Running 0 110s

Visit the UI Interface for Installation

Kato has adopted the UI configuration installation method since version 5.2, and the relevant parameters required for Kato installation are configured through the UI.

Visit Host IP: 30008, click to start installation

If you are using Alibaba Cloud’s kubernetes resources, please use SLB to forward the 30008 node of the node where rbd-operator is located to an accessible address

Go to the next step, select the configuration according to your needs, and click the configuration ready to start the installation.

  • Installation mode

    • Minimal installation

      Minimal installation is suitable for the understanding of kato products, the installation method is simple, and it takes up less resources

    • Highly available installation (optional)

      High-availability installation is suitable for production use, and will ensure the high availability of kato components as much as possible, but it will take up more resources

  • Mirror repository

    Used for application running mirror storage and cluster public mirror storage, users can choose according to their own needs

    • New installation of mirror repository

      The mirror repository is installed by rbd-operator, and a highly available mirror repository will be installed in the high-availability installation mode

    • Provide existing mirror repository

      The user provides the relevant information of the mirror repository, which is convenient for the user to manage, and the user himself guarantees the availability

  • Data center database

    Record data center metadata, users can choose according to their own needs

    • Newly installed database

      The data center database is installed by rbd-operator, and a highly available database will be installed in the highly available installation mode

    • Provide existing database

      The user provides the relevant information of the database, which is convenient for the user to manage, and the user guarantees the availability

  • Console database

    Record console metadata, users can choose according to their own needs

    • Newly installed database

      The console database is installed by rbd-operator, and a highly available database will be installed in the highly available installation mode

    • Provide existing database

      The user provides the relevant information of the database, which is convenient for the user to manage, and the user guarantees the availability

  • ETCD

    Provide data storage for each component of kato

    • New installation of ETCD

      The ETCD service is installed by rbd-operator, and a highly available ETCD cluster will be installed in the highly available installation mode

    • Provide existing ETCD

      The relevant information of the ETCD service by the user is convenient for the user to manage, and the user himself guarantees the availability

Select gateway management node and build service operation node
Select external network IP

After setting the gateway’s extranet IP, the default domain name will be resolved to the changed IP address. If not set, it will be resolved to the first gateway installation node. Please make sure that the IP address resolved by the default domain name is accessible, otherwise the application cannot be accessed. Case

Select a highly available storage device

High-availability installations must select high-availability storage devices to provide storage for applications

  • It is recommended to use Alibaba Cloud NAS for shared storage when installing using Alibaba Cloud Kubernetes cluster, and Alibaba Cloud disk for block devices
  • It is recommended to use GFS cluster to provide resources when installing with own Kubernetes cluster to share storage, and to use ceph cluster to provide resources for block devices

After the configuration is complete, click Configuration Complete to start the installation

Cluster status verification

After the installation is complete, you can enter the following interface, confirm that the number of component copies of all components is equal to the number of ready copies, indicating that the cluster is installed and operating normally, just click the access address to log in

Note: In order to ensure the safety of the cluster after the installation is complete, please close port 30008 to prevent accidental uninstallation of the cluster