前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >K8s 上的中间件

K8s 上的中间件

作者头像
operator开发工程师
发布2023-11-16 19:57:39
1860
发布2023-11-16 19:57:39
举报
文章被收录于专栏:云原生民工云原生民工

K8S 上部署 mysql、redis、minio方案

docker 部署

Minio简单版:

1 2 3 4 5 6 7 8 9 10 11 12

docker run \ -p 9000:9000 \ -p 9001:9001 \ --name zj-minio \ -v ~/minio/data:/data \ -e "MINIO_ROOT_USER=admin" \ -e "MINIO_ROOT_PASSWORD=root123456" \ quay.io/minio/minio server /data --console-address ":9001" mkdir -p ~/minio/data 数据迁移至:~/minio/data

Redis 简单版

1

docker run -itd --name zj-redis -p 6379:6379 redis

Mysql 简单版

1 2 3 4 5 6 7 8

sudo docker run -p 3306:3306 --name zjmysql \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:5.7 数据迁移至:/usr/local/docker/mysql/data

备份:无

高可用:无

手动 yaml 部署

mysql

1.为机器打label

1

kubectl label node node1xx mysql=true --overwrite

2.创建pv,pvc,根据自己的实际情况创建(内置的账号密码为root/admin)

1 2 3 4 5 6 7

kubectl apply -f pv-pvc-hostpath.yaml kubectl apply -f service.yaml kubectl apply -f configmap-mysql.yaml kubectl apply -f deploy.yaml

3.校验mysql的pv和pvc是否匹配完成

4.本地调试可以使用docker启动mysql

1

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=admin -d mysql:5.7

operator 部署

RadonDB for mysql

1 2 3 4 5

helm repo add radondb https://radondb.github.io/radondb-mysql-kubernetes/ helm install demo radondb/mysql-operator kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml

添加用户

1 2 3 4 5 6 7 8

apiVersion: v1 kind: Secret metadata: name: sample-user-password # 密钥名称。应用于 MysqlUser 中的 secretSelector.secretName。 data: pwdForSample: UmFkb25EQkAxMjMKIA== #密钥键,应用于 MysqlUser 中的 secretSelector.secretKey。示例密码为 base64 加密的 RadonDB@123 # pwdForSample2: # pwdForSample3:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

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: default # radondb mysql 集群所在的命名空间。 secretSelector: # 指定用户的密钥和保存当前用户密码的键。 secretName: sample-user-password # 密钥名称。 secretKey: pwdForSample # 密钥键,一个密钥可以保存多个用户的密码,以键区分。

备份、恢复

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • K8S 上部署 mysql、redis、minio方案
    • docker 部署
      • 手动 yaml 部署
        • mysql
      • operator 部署
        • RadonDB for mysql
        • 备份、恢复
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档