简介
基于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、通过页面配置外网访问

在这里插入图片描述

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐