添加 helm repo
helm repo add radondb https://radondb.github.io/radondb-mysql-kubernetes/
在指定的ns下安装 Operator 2.2
kubectl create ns radondb
helm install radondb-demo radondb/mysql-operator -n radondb
在指定的ns下安装 MySQL 5.7 三节点集群
安装配置下载地址:https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml
在配置中开启mysql-exporter
metricsOpts:
enabled: true
执行安装
kubectl apply -f mysql_v1alpha1_mysqlcluster.yaml -n radondb
创建用户并连接到集群,这里注意修改对应的ns
kubectl apply -f mysqluser.yaml -n radondb
示例:mysqluser.yaml
apiVersion: v1
kind: Secret
metadata:
name: sample-user-password # 密钥名称。应用于 MysqlUser 中的 secretSelector.secretName。
data:
pwdForSample: UmFkb25EQkAxMjMKIA== #密钥键,应用于 MysqlUser 中的 secretSelector.secretKey。示例密码为 base64 加密的 RadonDB@123
# pwdForSample2:
# pwdForSample3:
---
apiVersion: mysql.radondb.com/v1alpha1
kind: MysqlUser
metadata:
name: sample-user-cr # 用户 CR 名称,建议使用一个用户 CR 管理一个用户。
spec:
user: sample_user # 需要创建/更新的用户的名称。
hosts: # 支持访问的主机,可以填多个,% 代表所有主机。
- "%"
permissions:
- database: "*" # 数据库名称,* 代表所有数据库。
tables: # 表名称,* 代表所有表。
- "*"
privileges: # 权限,参考 https://dev.mysql.com/doc/refman/5.7/en/grant.html。
- SELECT
userOwner: # 指定被操作用户所在的集群。不支持修改。
clusterName: sample
nameSpace: radondb # radondb mysql 集群所在的命名空间。
secretSelector: # 指定用户的密钥和保存当前用户密码的键。
secretName: sample-user-password # 密钥名称。
secretKey: pwdForSample # 密钥键,一个密钥可以保存多个用户的密码,以键区分。