首页 > 数据库 >在 Kubernetes 上部署 RadonDB MySQL 集群

在 Kubernetes 上部署 RadonDB MySQL 集群

时间:2023-05-27 15:35:41浏览次数:48  
标签:kubectl RadonDB Kubernetes radondb TCP https mysql MySQL com

1.mysql部署

部署参考文档:https://radondb.com/docs/mysql/v2.2.0/installation/on_kubernetes/#content

参数:https://github.com/radondb/radondb-mysql-kubernetes/blob/main/docs/zh-cn/config_para.md

官网:https://radondb.com

helm repo add radondb https://radondb.github.io/radondb-mysql-kubernetes
helm search repo
# 部署
helm install demo radondb/mysql-operator
NAME: demo
LAST DEPLOYED: Tue May 23 17:39:06 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Welcome to RadonDB MySQL Kubernetes!

> Create MySQLCluster:

kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml

Create Users:

kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqluser.yaml

Connect to the database:

kubectl exec -it svc/sample-leader -c mysql -- mysql -usuper_usr -pRadonDB@123

Change password:

kubectl patch secret sample-user-password --patch="{\"data\": { \"super_usr\": \"$(echo -n <yourpass> |base64 -w0)\" }}" -oyaml

Github: https://github.com/radondb/radondb-mysql-kubernetes
# 部署 RadonDB MySQL 集群
kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml
# 效验
kubectl get deployment,svc
NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/demo-mysql-operator      1/1     1            1           2m51s

NAME                             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
service/mysql-operator-metrics   ClusterIP   10.107.167.19    <none>        8443/TCP            37m
service/radondb-mysql-webhook    ClusterIP   10.97.244.14     <none>        443/TCP             37m
service/sample-follower          ClusterIP   10.100.241.1     <none>        3306/TCP,8082/TCP   35m
service/sample-leader            ClusterIP   10.108.130.159   <none>        3306/TCP,8082/TCP   35m
service/sample-mysql             ClusterIP   None             <none>        3306/TCP,8082/TCP   35m

# 效验crd
kubectl get crd | grep mysql.radondb.com
backups.mysql.radondb.com                             2023-05-23T09:39:04Z
mysqlclusters.mysql.radondb.com                       2023-05-23T09:39:04Z
mysqlusers.mysql.radondb.com                          2023-05-23T09:39:04Z

# 安装客户端
apt-get install mysql-client
# 或者
apt-get install default-mysql-client
# 登录数据库
mysql -h 10.108.130.159  -P 3306 -u radondb_usr -p
Enter password: RadonDB@123 #默认密码,社区文档里面有显示。

#卸载 Operator
helm delete demo

#卸载集群
kubectl delete mysqlclusters.mysql.radondb.com sample


###

RadonDB MySQL 提供 Leader 和 Follower 两种服务,分别用于客户端访问主从节点。Leader 服务始终指向主节点(可读写),Follower 服务始终指向从节点(只读)。

解决无法使用root用户去创建仓库:解决方法

# 进入leader节点中的xenon容器
kubectl exec -it sample-mysql-0  -c xenon -- bash
# 增加一个superuser
xenoncli mysql createsuperuser ldap % Eryajf@123 NO
# 授权root账户创建仓库
CREATE USER 'ldap'@'%' IDENTIFIED BY 'Eryajf@123';
CREATE DATABASE IF NOT EXISTS `go_ldap_admin` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES on `go_ldap_admin`.* to 'ldap'@'%';
FLUSH privileges;

 

标签:kubectl,RadonDB,Kubernetes,radondb,TCP,https,mysql,MySQL,com
From: https://www.cnblogs.com/-k8s/p/17436793.html

相关文章

  • 一个mysql的group_concat导致的问题
    好久都没有写点东西了,是时候有点写东西的必要了。去年下年底离职了,躺了几个月,最近又兜兜转转换了一家公司继续当牛马了,前段时间八股文背了好多,难受呀,不过我也趁着前段时间自己也整理了属于我自己的八股文,有好几万字吧,哈哈哈,以后就不用到处去找八股文了。说回正题,这......
  • Mysql练习
    1. 练习11.1 选择题   811代码在E:\java学习\初级\course166\db_exercise01--选择题写法对错判断811--错误,as可以省略但是AnnualSalary中间有空格会被认为Salary是最终的别名SELECTename,sal*12ASAnnualSalaryFROMempSELECTename,sal*12AS"AnnualSalary"FR......
  • MySQL学习进阶篇Day2
    2.索引2.1索引概述2.1.1介绍索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 一提到数据结构,大......
  • MySQL数据类型
    数据类型的选取原则:更小的通常更好:尽量使用可以正确存储数据的最小数据类型(它们占用更少的磁盘,内存,cpu缓存,处理时需要的cpu周期也更少)简单:简单数据类型的操作通常所需cpu周期更少,例如整型就是比字符串类型的操作代价更低尽量避免NULL:最好指定列为NOTNULL,如果......
  • ubuntu 20.4 安装msyql+创建mysql用户
    sudoapt-getupdatesudoapt-getupgratesudoaptinstallmysql-server设置运行远程访问修改:sudovim/etc/mysql/mysql.conf.d/mysqld.cnf用#注释掉bind-address=127.0.0.1进入mysql创建用户mysql-uroot-pCREATEUSER'test'@'%'IDENTIFIEDBY'12345......
  • Ubuntu22.04 安装单机版kubernetes
    前言上期讲到要实现.net6框架下的EFCore操作数据库基本增删改查,没有及时兑现。没有兑现的原因就是因为安装kubernetes。安装kubernetes的过程是灾难性的,也是十分顺利的。灾难性是因为在安装kubernetes过程中误操作,在/etc下执行了一个重置的命令导致我的工作站系统崩塌了。索性......
  • MySQL的间隙锁
    什么是间隙锁?间隙锁就是在MySQL的一个范围锁,对某个不存在数据的范围进行加锁,加锁后,不能在这个范围内插入数据;在可重复读事务隔离级别下,默认使用的是next-keyLock(行锁+间隙锁);间隙锁是为了解决什么问题?间隙锁就是MySQL在Innodb存储引擎在可重复读的事务隔离级别下为了解决当前读......
  • MySQL刷题记录
    1. select*fromemployeesorderbyhire_datedesclimit1; 笔记: limit 0,1;使用limit关键字从第0条记录向后读取一个,也就是第一条记录  2.select*fromtestLIMIT 3OFFSET 1;(在mysql 5以后支持这种写法)当limit和offset组合使用的时候,limit后面只......
  • rhel 7.3搭建mysql的主从复制—非单机场景
    文档课题:rhel7.3搭建mysql的主从复制—非单机场景.数据库:mysql8.0.27系统:rhel7.3安装包:mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz环境介绍:1、理论知识master将操作语句记录到binlog日志,然后授予slave远程连接权限(master需开启binlog,为数据安全考虑,slave也开启binlog).s......
  • mysql在执行start slave命令时报错"ERROR 1872 (HY000)"
    问题描述:mysql在执行startslave命令时报错"ERROR1872(HY000)",如下所示:数据库:mysql8.0.27系统:rhel7.31、问题重现mysql>startslave;ERROR1872(HY000):Slavefailedtoinitializerelayloginfostructurefromtherepository2、异常原因从库已经存在之前的relay......