Skip to main content

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:

  1. Deploy MongoDB, MySQL, Redis, Kafka, Elasticsearch, MinIO
  2. Deploy HAP File Service
  3. Deploy Kubernetes Cluster
  4. Deploy Istio
  5. Deploy HAP Microservices
  6. Deploy Flink
  7. Deploy Nginx Proxy
  8. 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 NameDownload Link
Dockerhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/docker-27.3.1.tgz
Nginxhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/nginx-arm64-1.24.0.tar.gz
MySQLhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/mysql-8.0.34-linux-glibc2.17-aarch64.tar.gz
MongoDBhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/mongodb-linux-aarch64-rhel82-4.4.24.tgz
Mongo Toolshttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/mongodb-database-tools-rhel82-aarch64-100.7.5.tgz
Redishttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/redis-5.0.14.tar.gz
JDKhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/jdk-8u381-linux-aarch64.tar.gz
Kafkahttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kafka_2.13-3.4.1.tgz
Elasticsearchhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/elasticsearch-8.5.3-linux-aarch64.tar.gz
CNI Pluginshttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/cni-plugins-linux-arm64-v1.1.1.tgz
Crictlhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/crictl-v1.25.0-linux-arm64.tar.gz
Kubeadmhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubeadm
Kubelethttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubelet
Kubectlhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubectl
K8S Component Imageshttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kubeadm-1.25.4-images-arm64.tar.gz
CentOS Imagehttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/centos7.9.2009-arm64.tar.gz
Istiohttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/istio-1.18.0-linux-arm64.tar.gz
Istio Service Imageshttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/istio-1.18.0-images-arm64.tar.gz
Prometheushttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/prometheus-2.32.1.linux-arm64.tar.gz
Grafanahttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/grafana-10.1.1.linux-arm64.tar.gz
Node Exporterhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/node_exporter-1.3.1.linux-arm64.tar.gz
Cadvisorhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/cadvisor-v0.47.0-linux-arm64
Kafka Exporterhttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kafka_exporter-1.4.2.linux-arm64.tar.gz
K8S Metrics Service Imagehttps://pdpublic.mingdao.com/private-deployment/offline/common/arm64/kube-state-metrics-arm-2.8.1.tar