Deployment Instructions
Cluster Architecture Description
In a private deployment cluster mode, storage components and microservices are deployed separately, reducing system coupling. Microservices run on a Kubernetes architecture, allowing for rapid scaling up and down as needed to enhance resource utilization.
Click to view recommended server configurations for different cluster modes
The cluster modes are divided as follows:
- Lite Version: Conserves server resources, with storage components deployed on a single node.
- Standard Version: Storage components are deployed in official master-slave or clustered mode, providing basic HA capability.
- Professional Version: Based on the Standard Version, each server runs only one component instance, improving reliability and performance by avoiding interference and resource competition between components.
In the standard and professional deployment modes, the default component architecture is as follows:
- MySQL: Master-slave dual-node setup, where the slave node can continue to provide services in case of a master node failure.
- MongoDB: Three-node replica set with support for automatic failover to ensure data availability.
- Redis: Supports master-slave and sentinel modes to ensure HA of services.
- Kafka: Three-node cluster with multiple replicas for topics, achieving data redundancy and reliability.
- Elasticsearch: Three-node cluster with a multi-replica shard to enhance data redundancy and availability.
- File: Based on a MinIO four-node cluster, with data replica redundancy storage to ensure reliability.
Deployment Process
Since HAP microservices rely on components such as MongoDB, MySQL, Redis, Kafka, Elasticsearch, and MinIO, these dependencies must be deployed first, followed by the deployment of HAP microservices.
Recommended deployment order:
- Deploy MongoDB, MySQL, Redis, Kafka, Elasticsearch, MinIO
- Deploy HAP File Service
- Deploy Kubernetes Cluster
- Deploy Istio
- Deploy HAP Microservices
- Deploy Flink
- Deploy Nginx Proxy
- Deploy Monitoring Services (Prometheus + Grafana)
Note:
-
It is recommended to uniformly use
/usr/local
for software installation directories,/data
for data directories, and mount the server data disk to/data
. -
Ensure that the time zones of all nodes in the cluster are consistent, and synchronize time with the same NTP server.
-
Some passwords in the example documentation are weak (e.g.,
123456
). For actual deployment, you must replace them with strong passwords.-
Passwords should include uppercase and lowercase letters and numbers with a minimum length of 8 characters.
-
If special characters are used, only
-
or_
are allowed. Avoid using@ ! # &
to prevent compatibility issues.
-
ARM Environment Deployment Instructions
The HAP private deployment version supports various Linux distributions and mainstream CPU architectures.
- This document provides deployment examples for the x86_64/AMD64 architecture.
- To deploy on an ARM64/AARCH64 architecture server, the deployment steps are generally identical.
- Note that there may be differences in software packages for different architectures, so ensure the use of installation packages that match the architecture.
ARM64/AARCH64 installation package download links for each software
Package Name | Download Link |
---|---|
Docker | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/docker-27.3.1.tgz |
Nginx | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/nginx-arm64-1.24.0.tar.gz |
MySQL | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/mysql-8.0.34-linux-glibc2.17-aarch64.tar.gz |
MongoDB | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/mongodb-linux-aarch64-rhel82-4.4.24.tgz |
Mongo Tools | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/mongodb-database-tools-rhel82-aarch64-100.7.5.tgz |
Redis | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/redis-5.0.14.tar.gz |
JDK | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/jdk-8u381-linux-aarch64.tar.gz |
Kafka | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kafka_2.13-3.4.1.tgz |
Elasticsearch | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/elasticsearch-8.5.3-linux-aarch64.tar.gz |
CNI Plugins | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/cni-plugins-linux-arm64-v1.1.1.tgz |
Crictl | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/crictl-v1.25.0-linux-arm64.tar.gz |
Kubeadm | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubeadm |
Kubelet | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubelet |
Kubectl | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubectl |
K8S Component Images | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubeadm-1.25.4-images-arm64.tar.gz |
CentOS Image | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/centos7.9.2009-arm64.tar.gz |
Istio | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/istio-1.18.0-linux-arm64.tar.gz |
Istio Service Images | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/istio-1.18.0-images-arm64.tar.gz |
Prometheus | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/prometheus-2.32.1.linux-arm64.tar.gz |
Grafana | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/grafana-10.1.1.linux-arm64.tar.gz |
Node Exporter | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/node_exporter-1.3.1.linux-arm64.tar.gz |
Cadvisor | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/cadvisor-v0.47.0-linux-arm64 |
Kafka Exporter | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kafka_exporter-1.4.2.linux-arm64.tar.gz |
K8S Metrics Service Image | https://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kube-state-metrics-arm-2.8.1.tar |