Amazon EKS Connect to Kato

This article mainly explains how to install Kato on Amazon EKS and connect to Kato Cloud.

Prerequisites

Before you begin, please check the following prerequisites:

  1. Understand Kato Cloud and proceed to register and Login
  2. Available AWS accounts

Prepare an EKS Cluster

Before installing Kato, a standard kubernetes on EKS is required. We use AWS’s command line tool eksctl to create an EKS cluster. For details, please refer to here. Select 1.17 for the cluster version, t3.large (2 cores, 8GB) for node specifications, and 2 for computing nodes.

  1. t3.large (2 cores, 8GB), 2 nodes is the minimum configuration. In a production environment, it is recommended to choose a higher configuration according to the actual situation.
  2. Kato’s minimum requirement for Kubernetes version is 1.13. It is recommended to select the highest version 1.17 supported by EKS.

Connect to EKS Cluster via kubectl

After installing the EKS cluster, awsctl has set the configuration file for communicating with kube-apiserver to the local ~/.kube/config, we only need to install kubectl to communicate with the EKS cluster. For details, please refer to here.

Prepare an Elastic Load Balancing ELB

In order to ensure the high availability of the Kato gateway node (rbd-gateway), at least two gateway nodes need to be prepared, and before the traffic enters the Kato gateway node, Add a 4-layer load balancing. We use AWS ELB as the 4-layer load balancer of the gateway node, and map the 5 ports of ELB 80, 443, 6060, 8443, and 30008 to the corresponding ports of the gateway node . Please refer to Load Balancer ELB for the creation method.

Prepare an RDS

Prepare an RDS with a database engine of MySQL and a version of 5.7.

In addition, you need to create a database for Kato, the database name is region.

Install the Amazon FSx for Lustre CSI Driver

We use Amazon FSx to provide Kubernetes native file storage capabilities for Kato. We need to install a CSI driver for Amazon FSx. For details, please refer to here.

Install Helm

Linux users use the following command to install:

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

For MacOs and Windows users, please refer to Installing Helm.

Note: The version of helm needs to be 3.0 and above, helm 2.0+ is not supported.

Install Kato Operator

  1. Create namespace: rbd-system:
 kubectl create ns rbd-system
  1. Install Kato Operator
 # Add repository
 helm repo add kato https://openchart.gridworkz.com/gridworkz/kato
 # Installation
 helm install kato-operator-cloud kato/kato-operator \
 --namespace rbd-system \
 --version 1.1.0-cloud

To learn more about Kato Operator parameters, please refer to here.

  1. Confirm Kato Operator status
 $ kubectl get pod -n rbd-system
 NAME                  READY   STATUS    RESTARTS   AGE
 kato-operator-0   2/2     Running   0          110s

Wait for a while (depending on the specific network environment) until the status of kato-operator-0 becomes Running.

Install Kato

Visit Kato Operator to Start the Installation of Kato.

Visit Kato Operator

Open the browser and enter the host IP address: http://<SERVER_ADDRESS>:30008. SERVER_ADDRESS is the address of the ELB prepared above

Parameter Configuration

  1. Installation Mode select high availability
  2. Fill in the prepared RDS information into Data Center Database
  3. Gateway node, Build service running node Select the two prepared computing nodes
  4. Gateway public IP fill in the prepared ELB
  5. Shared storage: Select Select the existing storage driver of the cluster -> fsx-sc
  6. After completing the above configuration, click Configure ready to start the installation

Verify Installation

When the installation progress is completed, it will jump to the following page:

The installation is complete.

Install Command Line Tools

Linux users:

wget https://gitlab.com/gridworkz/kato/releases/common/v5.2/grctl && chmod +x ./grctl
mv ./grctl /usr/local/bin/grctl && /usr/local/bin/grctl install

MacOS users:

wget https://pkg.kato.com/releases/common/darwin/v5.2/grctl && chmod +x ./grctl
sudo mv ./grctl /usr/local/bin/grctl && /usr/local/bin/grctl install

If it outputs Install success, the installation is successful.

After the installation is complete, execute grctl config to obtain Region Config. Region Config is used in the next step of Connecting to Kato Cloud.

Connect with Kato Cloud

The specific docking method is as follows, add a cluster in the enterprise view cluster interface of the registered enterprise; the process is as follows:

  1. Click on Add Cluster

  2. Select Import:

  3. Fill in the relevant information:

    Cluster ID: Custom, cannot be modified after the cluster is added;

    Cluster name: The name of the currently added cluster, customized, and can be modified after adding;

    Remarks: The current cluster remarks information, just customize;

    Region Config: The Region Config file defines the current cluster configuration information, including cluster API address, Web Socket communication address, HTTP application default domain name suffix, TCP application default access IP, etc. After adding the Region Config file when adding a cluster, the above information will be automatically read.

How to Use the Cluster

Select the cluster in Create Team and create a team belonging to the cluster. Going forward, the resources of the cluster will be used when creating components under the team.