安装手册
# 产品介绍
金蝶Apusic云原生中间件平台(Apusic Cloud Middleware Plantform)是基于K8S-Operator技术构建的一站式云中间件管理平台。 满足用户对中间件部署、变更、监控、运维等全生命周的管理需求,帮助以企业以最佳实践的方式来使用和管理中间件。充分利用云中间件的快速部署、弹性伸缩、动态配置、高可用高可靠的特性,来为企业应用提供现代化的应用支撑能力。
# 安装概览
产品支持在集群上直接安装,若已经拥有了一个可用的k8s集群,则可以从ACMP软件安装章节开始。 若需要从虚拟机开始安装,请参考K8S集群安装和K8S集群配置章节
# ACMP软件安装
# 先决条件
开始之前,检查下列先决条件:
- 下载 Istio 发行版。
- 执行必要的平台安装。
检查Kubernetes版本
1.18-1.24检查集群中必要组件:- 集群监控:
prometheus - 网络存储:
NFS、FC、iSCSI、RBD、CephFS、Cinder、Glusterfs、VsphereVolume - 日志采集分析:
ELK(Elasticsearch、Logstash and Kibana)
- 集群监控:
- 检查 Pod 和服务的要求。
# 镜像准备
下载产品对应的镜像包与镜像包导入工具,讲镜像导入到harbor中。
chmod +x imagestool.sh
./imagestool.sh imp [harbor仓库地址] [组]
2
例:./imagestool.sh imp harbor.apusic.com test
- 如果需要harbor需要登录,请先进行登录:
docker login [harbor仓库地址] -u [用户名] -p [密码]
例: docker login XXX -u XXX -p XXX
# 安装ACMP组件
配置values.yaml,用于做为创建集群的配置文件
首先mkdir config创建目录,之后执行以下脚本,在config目录中生成配置文件。
$ cat <<EOF > values.yaml
# Default values for olm.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
olm-core:
clusterName: cluster01
replicaCount: 1
prometheusNamespace: monitoring
image:
repository: harbor.apusic.com/acmp/operator-lifecycle-manager
operatorLifecycleManagerServer: http://acmp-operator-lifecycle-manager.acmp-system:8080
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: V1.0_Alpha1_20230518
operator-lifecycle-manager:
image:
repository: harbor.apusic.com/acmp/operator-lifecycle-manager
# Overrides the image tag whose default is the chart appVersion.
tag: V1.0_Alpha1_20230518
# 是否使用 pvc
persistentVolumeClaim:
enabled: true
volume:
name: olm-data
mountPath: /var/lib/olm-data
acmp-server:
image:
repository: harbor.apusic.com/acmp/acmp-server
# Overrides the image tag whose default is the chart appVersion.
tag: V1.0_Alpha1_20230518
# 请替换为prometheus 的svc地址
prometheusHost: prometheus.acmp-system:9090
olmHost: acmp-operator-lifecycle-manager.acmp-system:8080
aucHost: acmp-auc.acmp-system:9000
auc:
image:
repository: harbor.apusic.com/auc/console
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: V1.0_Alpha1_20230518
EOF
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
docker run -it --rm -v ~/.kube:/root/.kube -v $PWD/config:/root/config harbor.apusic.com/acmp/installer:V1.0_Alpha1_20230518 install
检查acmp-auc组件的端口,和acmp-acmp-server的端口。
kubectl get service -n acmp-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
acmp-acmp-server NodePort 10.68.66.145 <none> 8098:32556/TCP 54m
acmp-auc NodePort 10.68.181.77 <none> 9000:32555/TCP 54m
acmp-olm-core ClusterIP 10.68.187.93 <none> 8080/TCP,443/TCP 54m
acmp-operator-lifecycle-manager ClusterIP 10.68.97.13 <none> 8080/TCP 54m
2
3
4
5
6
7
# 登录web控制台
登录访问web控制台平台侧
http://<IP>:<acmp-auc端口>/
输入初始化账号:admin 密码:Admin$123456
进入右上角的平台管理功能 进入服务管理,点击“注册服务”,注册完成后回到首页,即可看到云原生中间件管理服务


点击对应菜单进入ACMP首页

# 卸载ACMP组件
helm uninstall acmp -n acmp-system
# 安装辅助
# K8S集群安装
# 硬件环境
推荐最小化配置(1 master+ 2 node)
- master节点
| 项目 | 配置要求 |
|---|---|
| 服务器 | PC服务器或 Linux 服务器,以及支持华为鲲鹏或飞腾芯片的国产服务器。 |
| CPU | 4C或以上 |
| 内存 | 8G或以上 |
| 硬盘 | 500G或以上 |
| 网络 | 千兆或以上 |
- node节点
| 项目 | 配置要求 |
|---|---|
| 服务器 | PC服务器或 Linux 服务器,以及支持华为鲲鹏或飞腾芯片的国产服务器。 |
| CPU | 8C或以上 |
| 内存 | 16G或以上 |
| 硬盘 | 1T或以上 |
| 网络 | 千兆或以上 |
# 资源准备
准备三台centos7服务器,这里以如下三台服务器构成一主两从为例。 可以准备另外一台centos7做为安装部署服务求,这里我们使用master做为安装部署的宿主机。
| 服务器 | IP |
|---|---|
| master | 172.24.4.110 |
| slave1 | 172.24.4.111 |
| slave2 | 172.24.4.112 |
# 环境准备
- 为三台服务器设置别名,方便后续配置。在每台服务器的/etc/hosts的文件中添加
172.24.4.110 master
172.24.4.111 slave1
172.24.4.112 slave2
2
3
- 为每台服务器安装ssh,并设置宿主机到每台服务器的免密访问 在master上执行,如下命令:
ssh-copy-id root@master
ssh-copy-id root@slave1
ssh-copy-id root@slave2
2
3
如果执行失败,可能是因为没有ssh密钥未生成,在所有服务器上使用ssh-keygen -t rsa命令生成密钥后,再执行免密访问命令即可。
- 在master服务器上安装ansible,并查看版本 本安装手册基于的ansible为2.9.27
yum install -y ansible
ansible --version
2
# 集群安装
- 创建安装目录,并拷贝安装包到该目录中
mkdir /opt/acmp-install
cd /opt/acmp-install
2
- 上传安装包到任务目录下,并解压到etc目录中 以下版本的安装包为例:kubeasz-1.20.5-amd64.tar.gz
wget https://nexus.apusic.com/repository/file-server/adop/k8s/kubeasz-1.20.5-amd64.tar.gz
tar -xvf kubeasz-1.20.5-amd64.tar.gz -C /etc
cd /etc/kubeasz
ls
2
3
4
可以看到ezctl、ezdown等文件
- 进行安装环境初始化
./ezdown -D

- 将压缩的镜像释放出来,做好安装准备
./ezdown -S
- 生成集群配置文件 通过生成一个集群配置文件来做集群生成的准备,集群配置文件模板可以使用如下命令进行生成,生成后修改对应的配置信息后,再进行集群的正式生成。
./ezctl new <集群名称>
- 检查修改配置文件 可以看到生成了config.yaml和hosts两个文件,其中config
cd /etc/kubeasz/clusters/<集群名称>
ls
2
修改hosts文件,将以下配置修改为对应的IP,这里不能使用域名或者别名,否则可能安装失败。
[etcd]
172.24.4.110
172.24.4.111
172.24.4.112
# master node(s)
[kube_master]
172.24.4.110
# work node(s)
[kube_node]
172.24.4.111
172.24.4.112
2
3
4
5
6
7
8
9
10
11
12
13
- 执行集群生成
cd /etc/kubeasz
./ezctl setup <集群名称> all
2
如出现以下信息,表明执行成功。否则请联系技术人员支持。


# 安装后的工作
- 获取密钥文件 进入当前用户的家目录,获得k8s的访问文件,用于连接k8s集群。
cd ~/.kube/
more config
2
- 卸载集群
./ezctl setup <集群名称> all
# K8S集群配置
# 配置Helm
cd /opt/acmp-install
wget https://nexus.apusic.com/repository/file-server/adop/k8s/helm-v3.9.1-linux-amd64.tar.gz
tar -xvf helm-v3.9.1-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/
helm repo add apusic https://nexus.apusic.com/repository/helm-hosted/
helm repo update
2
3
4
5
6
# 配置nfs
需要在安装前在所有节点上安装nfs-utils工具,
yum install nfs-utils -y
安装nfs服务,这里仅用于临时使用,选择了master节点来提供服务。
yum install nfs-utils -y
service nfs start
mkdir /data -p
chmod 777 /data
2
3
4
编辑/etc/exports,加入如下内容
/data *(rw,sync,root_squash)
重启nfs服务
service nfs restart
设置k8s默认的nfs
helm install --create-namespace -n nfs-system nfs-system \
apusic/nfs --version=0.1.0 --set hub=harbor.apusic.com/lfy_k8s_images/ \
--set nfs.server=172.24.4.224 \
--set nfs.path=/data
2
3
4