k8s kubernates部署mysql8.x集群

k8s kubernates部署mysql8.x集群,第1张

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/917074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存