# 1. 安装环境
本步骤将指导您如何安装Docker、kubectl、minikube和Helm3。
# 1.1 安装Docker
a.执行如下命令,安装Docker。
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
b.执行如下命令,启动Docker。
systemctl start docker
# 1.2 安装kubectl
a.执行如下命令,下载kubectl文件。
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
b.执行如下命令,赋予可执行权限。
chmod +x ./kubectl
c.执行如下命令,移动到系统目录。
mv ./kubectl /usr/local/bin/kubectl
# 1.3 安装minikube
执行如下命令,下载并安装minikube。
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
2
# 1.4 安装Helm3
a.执行如下命令,下载Helm3。
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/helm-v3.9.0-linux-amd64.tar.gz
b.执行如下命令,解压Helm3。
tar -zxvf helm-v3.9.0-linux-amd64.tar.gz
c.执行如下命令,移动到系统目录。
mv linux-amd64/helm /usr/local/bin/helm
# 1.5 安装MySQL
yum install mysql -y
# 2. 安装PolarDB-X集群
本步骤将指导您如何创建一个简单的Kubernetes集群并部署PolarDB-X Operator ,使用Operator部署一个完整的PolarDB-X集群,详细文档请参考通过Kubernetes安装PolarDB-X (opens new window)。
# 2.1 minikube创建Kubernetes集群
minikube (opens new window)是由社区维护的用于快速创建Kubernetes测试集群的工具,适合测试和学习Kubernetes。使用minikube创建的Kubernetes集群可以运行在容器或是虚拟机中,本实验场景以CentOS 8.5上创建Kubernetes为例。
**说明:**如果您使用其他操作系统部署minikube,例如macOS或Windows,部分步骤可能略有不同。
a.执行如下命令,新建账号galaxykube,并将galaxykube加入docker组中。minikube要求使用非root账号进行部署,所有您需要新建一个账号。
useradd -ms /bin/bash galaxykube
usermod -aG docker galaxykube
2
b.执行如下命令,切换到账号galaxykube。
su galaxykube
c.执行如下命令,进入到home/galaxykube目录。
cd
d.执行如下命令,启动一个minikube。
**说明:**这里我们使用了阿里云的minikube镜像源以及USTC提供的docker镜像源来加速镜像的拉取。
minikube start --cpus 4 --memory 12288 --image-mirror-country cn --registry-mirror=https://docker.mirrors.sjtug.sjtu.edu.cn
返回结果如下,表示minikube已经正常运行,minikube将自动设置kubectl的配置文件。
e.执行如下命令,使用kubectl查看集群信息。
kubectl cluster-info
返回如下结果,您可以查看到集群相关信息。
# 2.2 部署 PolarDB-X Operator
a.执行如下命令,创建一个名为polardbx-operator-system的命名空间。
kubectl create namespace polardbx-operator-system
b.执行如下命令,安装PolarDB-X Operator。
helm repo add polardbx https://polardbx-charts.oss-cn-beijing.aliyuncs.com
helm install --namespace polardbx-operator-system polardbx-operator polardbx/polardbx-operator
2
c.执行如下命令,查看PolarDB-X Operator组件的运行情况。
kubectl get pods --namespace polardbx-operator-system
返回结果如下,请您耐心等待2分钟,等待所有组件都进入Running状态,表示PolarDB-X Operator已经安装完成。
# 2.3 部署 PolarDB-X 集群
a.执行如下命令,创建polardb-x.yaml。
vim polardb-x.yaml
b.按i键进入编辑模式,将如下代码复制到文件中,然后按ECS退出编辑模式,输入:wq后按下Enter键保存并退出。
apiVersion: polardbx.aliyun.com/v1
kind: PolarDBXCluster
metadata:
name: polardb-x
spec:
topology:
nodes:
cdc:
replicas: 1
template:
resources:
limits:
cpu: "1"
memory: 1Gi
requests:
cpu: 100m
memory: 500Mi
cn:
replicas: 1
template:
resources:
limits:
cpu: "2"
memory: 4Gi
requests:
cpu: 100m
memory: 1Gi
dn:
replicas: 1
template:
engine: galaxy
hostNetwork: true
resources:
limits:
cpu: "2"
memory: 4Gi
requests:
cpu: 100m
memory: 500Mi
gms:
template:
engine: galaxy
hostNetwork: true
resources:
limits:
cpu: "1"
memory: 1Gi
requests:
cpu: 100m
memory: 500Mi
serviceType: ClusterIP
upgradeStrategy: RollingUpgrade
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
44
45
46
47
48
49
50
51
52
c.执行如下命令,创建PolarDB-X集群。
kubectl apply -f polardb-x.yaml
d.执行如下命令,查看PolarDB-X集群创建状态。
kubectl get polardbxCluster polardb-x -o wide -w
返回结果如下,请您耐心等待七分钟左右,当PHASE显示为Running时,表示PolarDB-X集群已经部署完成。
e.按Ctrl+C键,退出查看PolarDB-X集群创建状态。
# 3. 体验PolarDB-X集群扩缩容
本步骤将指导您如何对PolarDB-X集群进行扩容,缩容的话,数量减少即可。
# 3.1 编辑polardb-x.yaml文件
vim polardb-x.yaml
# 3.2 replicas参数改为2,进行扩容
执行如下命令,将修改后的polardb-x.yaml文件应用到已经创建的PolarDB-X集群中。
kubectl apply -f polardb-x.yaml
执行如下命令,观察集群的变化情况。
kubectl get polardbxCluster polardb-x -o wide -w
返回结果如下,您可以看到PolarDB-X集群扩容过程中各个节点的变化。请您耐心等待两分钟左右,当PHASE显示为Running时,表示PolarDB-X集群已经扩容完成。
执行如下命令,获取PolarDB-X集群登录密码。
kubectl get secret polardb-x -o jsonpath="{.data['polardbx_root']}" | base64 -d - | xargs echo "Password: "
返回结果如下,您可以查看到PolarDB-X集群登录密码。
执行如下命令,将PolarDB-X集群的端口转发到本地的3306端口。
kubectl port-forward svc/polardb-x 3306
执行如下命令,连接PolarDB-X集群。 **说明:**您需要将<PolarDB-X集群登录密码>替换为实际获取到的PolarDB-X集群登录密码。
mysql -h127.0.0.1 -P3306 -upolardbx_root -p<PolarDB-X集群登录密码>
执行如下SQL语句,检查扩容后的状态。
show storage;
返回结果如下,您可查看到PolarDB-X集群扩容后的状态。