k8s kubernates部署mysql8.x集群
官方参考文档:https://dev.mysql.com/doc/mysql-operator/en/mysql-operator-installation.htmlstep1 :下载yaml到本地,防止在线下载可能存在访问不了的情况。https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-crds.ya
简介
基于k8s平台部署mysql inndb cluster。
版本说明:
1、mysql 8.0.29
2、mysql-operator 8.0.29-2.0.4
3、kubernates v1.20.4
官方参考:
1、MySQL集群架构图
2、官方参考文档
https://dev.mysql.com/doc/mysql-operator/en/mysql-operator-installation.html
实践如下
1、环境准备
step1 :下载yaml到本地,防止在线下载可能存在访问不了的情况。
https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-crds.yaml
https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-operator.yaml
step2:kubectl apply
deploy-crds.yaml
kubectl apply -f deploy-crds.yaml
deploy-operator.yaml
kubectl apply -f deploy-operator.yaml
step3:验证mysql-operator是否正常运行
kubectl get deployment mysql-operator --namespace mysql-operator
2、部署MySQL InnoDB Cluster
2.1、创建namespace存在就不用创建
kubectl create namespace prod
2.2、指定当前上下文namespace
kubectl config set-context --current --namespace=prod
2.3、创建secret
kubectl create secret generic mysqlpwds --from-literal=rootUser=root --from-literal=rootHost=% --from-literal=rootPassword="123456"
2.4、创建InnoDBCluster配置文件
vim mycluster.yaml
apiVersion: mysql.oracle.com/v2
kind: InnoDBCluster
metadata:
name: sysmysqlcluster
spec:
secretName: mysqlpwds
tlsUseSelfSigned: true
instances: 3
router:
instances: 1
2.5、部署cluster
kubectl apply -f mycluster.yaml
kubectl get innodbcluster --watch
大概需要10分钟左右才会看到如下信息,具体取决于下载 mysql镜像的速度,请耐心等待。
2.6、获取服务描述
kubectl describe service sysmysqlcluster
2.7、获取服务列表
kubectl get service
kubeshpere管理后台截图
1、容器组信息
2、服务列表
3、存储卷
4、工作负载
5、配置中心
6、自定义资源
重要组件
1、mysql-router
2、mysql cluster
Connect with MySQL Shell
kubectl run --rm -it myshell --image=mysql/mysql-operator -- mysqlsh
kubectl --namespace prod exec -it myshell -- mysqlsh root@sysmysqlcluster --sql
验证mysql节点
验证主从是否同步
暴露路由端口提供外部访问
1、通过页面配置外网访问
更多推荐
所有评论(0)