环境信息
系统:Ubuntu 20.04
CPU:4C
内存:8G
硬盘:40Gi * 2
内核版本:5.4.0-67-generic
部署架构图
搭建过程
1 安装Docker
apt install docker.io
2 安装 Minikube
2.1 下载安装包
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
2.2 启动minikube虚拟机
minikube start
3 安装kubectl
3.1 下载kubectl
curl -LO "https://dl.k8s.io/release/**$(**curl -L -s https://dl.k8s.io/release/stable.txt**)**/bin/linux/amd64/kubectl"
3.2 安装kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
4 安装并配置helm
4.1 下载并运行安装脚本
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
4.2 添加helm官方仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
5 安装mysql 一主二从
5.1 下载并解压mysql chart 包
helm pull bitnami/mysql --untar
5.2 增量修改配置
values-update.yaml
architecture: replication
auth:
rootPassword: "19990424"
username: zjqxy
password: zjqxy@123
secondary:
replicaCount: 2
persistence:
size: 4Gi
primary:
persistence:
size: 4Gi
5.3 执行部署
helm install mysql -f values.yaml -f values-update.yaml .
5.4 转发外部流量到svc
kubectl port-forward --address 0.0.0.0 service/mysql-primary 8306:3306
kubectl port-forward --address 0.0.0.0 service/mysql-secondary 8307:3306
6 安装redis 一主三从
6.1 下载并解压redis chart 包
helm pull bitnami/redis --untar
6.2 增量修改配置
values-update.yaml
master:
persistence:
size: 4Gi
replica:
persistence:
size: 4Gi
auth:
password: zjqxy@123
6.3 执行部署
helm install redis -f values.yaml -f values-update.yaml .
6.4 转发外部流量到svc
kubectl port-forward --address 0.0.0.0 service/redis-master 8379:6379
kubectl port-forward --address 0.0.0.0 service/redis-replicas 8479:6379
7 安装rabbitmq
7.1下载并解压rabbitmq chart 包
helm pull bitnami/rabbitmq --untar
7.2 增量修改配置
values-update.yaml
auth:
username: zjqxy
password: zjqxy@123
persistence:
size: 4Gi
7.3 执行部署
helm install rabbitmq -f values.yaml -f values-update.yaml .
7.4 转发外部流量到svc
kubectl port-forward --address 0.0.0.0 service/rabbitmq 5672:5672
kubectl port-forward --address 0.0.0.0 service/rabbitmq 15672:15672
8 安装minio对象存储
采用minikube 部署 流量转发经常 broken pipe 访问很慢,故使用docker 部署
docker run --name minio
-p 9000:9000 -p 9001:9001
-v /minio/data:/data
-e MINIO_ROOT_USER="zjqxy"
-e MINIO_ROOT_PASSWORD="zjqxy@123"
bitnami/minio:latest