Platform Component Architecture

This article mainly introduces all the service components required for the complete deployment of Kato and helps users understand the Kato technology stack and component architecture.

In the current version, the life cycle of system components is jointly maintained and managed by Kubernetes and Kato-Operator.

Overview of Service Components

The following is the Kato service components and their version information that will be installed on the server through one-click deployment.

ComponentVersionDescription
kato-operatorv0.01Maintain the configuration and running status of kato components
rbd-api5.xkato regional center API service, providing the underlying service interface
rbd-app-ui5.xApplication console web service
rbd-chaos5.xApplication building services, providing source code, Docker image and other methods to create applications
rbd-db5.xCloud help database service, support MySQL5.6,5.7,8.0
rbd-dns5.xkato internal dns service, which can be used as cluster dns service
etcdv3.3.18etcd stores cluster metadata information, cluster status and network configuration
rbd-eventlog5.xkato event processing and log aggregation service
rbd-gateway5.xGlobal gateway to the application, providing advanced functions such as A/B testing, grayscale publishing
rbd-hubv2.6.2Based on Docker Registry package, provides docker image Storage Service
rbd-mq5.xMessage Queuing Service
rbd-nfsv2.2.1Storage Service
rbd-node5.xCluster monitoring and control, docker certificate distribution
rbd-repov6.16.0Source code build repository service, based on Artifactory OSS Package
rbd-webcli5.xProvide application web mode to enter container command line service
rbd-worker5.xCloud help application operation and processing service

The following is the official recommendation by kato easzup to quickly deploy the components and version information of the Kubernetes installation

ComponentVersionDescription
dockerv18.09Application Container Engine
kubeletv1.16.2is the main node agent running on each Node node
kube-apiserverv1.16.2Verify and configure data for API objects
kube-controller-managerv1.16.2Management control center inside Kubernetes cluster
kube-schedulerv1.16.2Responsible for assigning and scheduling Pod to node nodes in the cluster
kube-proxyv1.16.2Kubernetes network proxy, running on each node
corednsv1.6.2Provide domain name resolution services for other pods in the Kubernetes cluster
kube-flannelv0.11.0Flannel is one of the earliest network plugins applied to k8s cluster
metrics-serverv0.3.6The monitoring component of Kubernetes, collects metric information from the Summary API exposed by Kubelet

The advanced usage of the component can be read by clicking the link of the component.

Appendix

Service component port description

Public network access: If deployed in a public cloud environment, public network access requires security group release

Port NumberDescriptionPublic Network AccessService Components
80/443Global Load Balancing ServiceRequire Security Group Releaserbd-gateway
6060Websocket service, providing real-time push of logs and performance monitoringRequired security group releaserbd-api
7070Application console webRequire security group releaserbd-app-ui
8443Kato API ServiceRequire Security Group Releaserbd-api
30008Cluster installation operation and maintenance console webSecurity group release is required, close after cluster installationkato-operator
10248/10250/10255/42645kubelet servicekubelet
10251kube-scheduler servicekube-scheduler
6443/8080kube-apiserver servicekube-apiserver
2379,2380,4001etcd serviceetcd/etcd-proxy
10252/10257kube-controller servicekube-controller
53Cluster internal dns servicerbd-dns
8089Cluster domain name resolution service listening portkube-dns
6362/6363/6365/6366Cluster Event Servicerbd-eventlog
8443Kato API Servicerbd-api
6100/6101/6102/9125rbd-node servicekato-node
10254/18080/18081Cluster load balancing monitoring portrbd-gateway
10249/10256/30008kube-proxy servicekube-proxy
10259kube-scheduler servicekube-scheduler
53Cluster internal dns servicerbd-dns
8089Cluster domain name resolution service listening portkube-dns
9999Cluster Monitoringrbd-monitor
3306Cluster Databaserbd-db
  • 4001 of etcd is a non-secure port, 2379 is a secure port
  • The kato API port does not need to be opened when there is only one data center. When there are multiple data centers and different networks, it needs to be opened to the outside world. 8888 is a non-secure port and 8443 is a secure port.
  • The 80 and 443 ports provided by rbd-gateway are for HTTP protocol applications, and 10001~65535 are for TCP protocol applications.

For more specific port information, please refer to Component Ports

Service deployment type description

Deployment TypeDescriptionComponent Name
Binary or deb/rpm deploymentUsually install using apt or yum, guarded by systemd, see easzlabdocker,kubelet
Containerized deploymentRun as pod in kubernetesOther components are all containerized deployments, maintained together by Kubernetes and Kato-Operator