搭建和运行实例
可采用以下两种途径使用PolarDB Stack Daemon:
- 阿里云PolarDB混合云版本。
- 本地搭建开源PolarDB Stack Daemon。
搭建阿里巴巴PolarDB混合云版运行的实例
阿里云PolarDB 混合云版:官网地址。
搭建本地运行的实例
操作前提:
PolarDB Stack Daemon以k8s daemonset形式运行在每台node机器上,通过ssh在本机上执行操作命令。部署前,请确保k8s安装完毕,k8s各组件运行正常, 且所有主机之间互相已打通ssh免密访问。
操作步骤:
- 下载PolarDB Stack Daemon源代码,地址: https://github.com/ApsaraDB/PolarDB-Stack-Daemon。
- 安装k8s,确保k8s个组件处于正常运行状态。
安装相关依赖:执行
kubectl create -f all.yaml
(该yaml文件包含了PolarStack-Daemon部署所需的全部内容)。网卡配置ccm-config configmap:
- 配置了NET_CARD_NAME业务网网卡名称。NET_MASK业务网网卡子网掩码
创建了PolarDB Stack Daemon运行所需的ClusterRole、ServiceAccount、ClusterRoleBinding
ClusterRole:cloud-controller-manager
ClusterRoleBinding:cloud-controller-manager
- ServiceAccount:cloud-controller-manage
主要启动参数:
- 数据库日志所在目录参数dbcluster-log-dir
- 数据库日志清理标准(单位天)ins-folder-overdue-days
- 内核小版本信息所在configmap的label标签:core-version-cm-labels
k8s daemonset设置:
- 需要通过ssh访问本机的一些命令,挂载了/root/.ssh
- polarstack-daemon日志所在目录/var/log/polardb-box/polardb-net, 挂载了该目录
- 需要访问本机网情况,因为daemon-set使用了主机网络hostNetwork: true
检查运行状态
部署完PolarDB Stack Daemon后,可以通过查看daemonset pod状态,k8s node中的condition状态,k8s中端口扫描清理configmap, 内核镜像版本存在性configmap查看功能是否正常
a. PolarDB Stack Daemon的pod运行情况, 每台机器上有一个polarstack-daemon的pod, 都处于runningzhaungtai
kubectl get pod -owide -A |grep polarstack-daemon
b. 查看端口扫描情况, 每个polarstack-daemon pod会通过尝试监听端口的方式识别本机上端口占用情况,并将已使用端口存入configmap中
kubectl get cm -A |grep port-usage
c. 查看内核版本情况,PolarDB Stack Daemon在启动时会根据参数值查询内核小版本信息的configmap,然后根据configmap查询本机上是否存在这些image信息
kubectl get cm -A |grep version-availability
如下所示图中表示两个内核小版本11.2.20200630.0172e3f3.20201103225317和11.2.20200630.e0eb5bdb.20210317155810存在于polardb-box-soft011160139051机器上