[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群)

这篇具有很好参考价值的文章主要介绍了[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上一节讲解了K8s包管理工具Helm、使用Helm部署mongodb集群(主从数据库集群),这里来看看K8s使用Helm部署mysql集群(主从数据库集群)

一.Helm 搭建mysql集群 

1.安装mysql不使用persistence(无本地存储)

无本地存储:当重启的时候,数据库消失

(1).打开官网的应用中心

打开应用中心,搜索mysql

[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群),Kubernetes,数据库,kubernetes,mysql,k8s 搭建mysql集群,helm,k8s搭建mysql集群

(2).安装 

1).添加repo仓库
#添加repo仓库源
# mysql-repo 是自定义的
helm repo add  mysql-repo https://charts.bitnami.com/bitnami
2).安装
#安装: mysql-repo和上面保存一致
#mongo:是自定义的
#--set 可以跟参数
#persistence.enabled 配置应用的持久化
helm install mysqltest mysql-repo/mysql --set persistence.enabled=false,auth.rootPassword="mysqlpass"

具体命令如下: 

[root@VM-0-12-tencentos ~]# helm install mysqltest mysql-repo/mysql --set primary.persistence.size=10Gi,auth.rootPassword=mysqlpass
NAME: mysqltest
LAST DEPLOYED: Wed Jan 10 20:30:35 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: mysql
CHART VERSION: 9.16.1
APP VERSION: 8.0.35

** Please be patient while the chart is being deployed **

Tip:

  Watch the deployment status using the command: kubectl get pods -w --namespace default

Services:

  echo Primary: mysqltest.default.svc.cluster.local:3306

Execute the following to get the administrator credentials:

  echo Username: root
  MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default mysqltest -o jsonpath="{.data.mysql-root-password}" | base64 -d)

To connect to your database:

  1. Run a pod that you can use as a client:

      kubectl run mysqltest-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.0.35-debian-11-r2 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash

  2. To connect to primary service (read/write):

      mysql -h mysqltest.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
3).自动生成secret,PVC,磁盘等 

可以通过面板进行查看

[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群),Kubernetes,数据库,kubernetes,mysql,k8s 搭建mysql集群,helm,k8s搭建mysql集群

(3).设置环境变量 

使用安装完成的提示命令设置环境变量

 [root@VM-0-3-tencentos ~]#MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default my-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d)
[root@VM-0-3-tencentos ~]# echo $MYSQL_ROOT_PASSWORD
mysqlpass

[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群),Kubernetes,数据库,kubernetes,mysql,k8s 搭建mysql集群,helm,k8s搭建mysql集群 (4).开启一个客户端进行测试

参考上面安装完成的代码

1).开启临时客户端
 kubectl run mysqltest-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.0.35-debian-11-r2 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash

具体如下: 

[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群),Kubernetes,数据库,kubernetes,mysql,k8s 搭建mysql集群,helm,k8s搭建mysql集群

 2).连接数据库
[root@VM-0-12-tencentos ~]# kubectl run testmysql-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.0.35-debian-11-r2 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
If you don't see a command prompt, try pressing enter.
I have no name!@testmysql-client:/$ 
I have no name!@testmysql-client:/$ 
I have no name!@testmysql-client:/$ 
I have no name!@testmysql-client:/$ 
I have no name!@testmysql-client:/$ 
I have no name!@testmysql-client:/$ 
I have no name!@testmysql-client:/$ 
I have no name!@testmysql-client:/$ mysql -h testmysql.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.35 Source distribution

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群),Kubernetes,数据库,kubernetes,mysql,k8s 搭建mysql集群,helm,k8s搭建mysql集群

(5).查看 pod 

[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群),Kubernetes,数据库,kubernetes,mysql,k8s 搭建mysql集群,helm,k8s搭建mysql集群

(6).外部访问

这里需要进行一下端口转发,命令如下:

kubectl port-forward --address 0.0.0.0 service/testmysql 3306:3306

[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群),Kubernetes,数据库,kubernetes,mysql,k8s 搭建mysql集群,helm,k8s搭建mysql集群

[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群),Kubernetes,数据库,kubernetes,mysql,k8s 搭建mysql集群,helm,k8s搭建mysql集群

在服务端开启一个临时mysql客户端,看看有上面添加的数据不? 文章来源地址https://www.toymoban.com/news/detail-810054.html

[root@VM-0-12-tencentos ~]# kubectl run testmysql-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.0.35-debian-11-r2 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
If you don't see a command prompt, try pressing enter.
I have no name!@testmysql-client:/$  mysql -h testmysql.default.svc.

到了这里,关于[Kubernetes]8. K8s使用Helm部署mysql集群(主从数据库集群)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【K8s】:在 Kubernetes 集群中部署 MySQL8.0 高可用集群(1主2从)

    💖The Begin💖点点关注,收藏不迷路💖 Kubernetes 是一个强大的容器编排平台,可以帮助我们管理和部署容器化应用。MySQL 是一个流行的关系型数据库,在生产环境中通常需要高可用性和数据持久性。 本文将介绍如何在 Kubernetes 中部署 MySQL 集群,以确保数据的高可用性和持久

    2024年04月17日
    浏览(30)
  • k8s学习-第4部分Helm(Helm安装MySQL集群)

    Helm简介 Helm 是一个 Kubernetes 应用的包管理工具,类似于 Ubuntu 的 APT 和 CentOS 中的 YUM。 Helm使用chart 来封装kubernetes应用的 YAML 文件,我们只需要设置自己的参数,就可以实现自动化的快速部署应用。 三大概念 Chart 代表着 Helm 包。 它包含运行应用程序需要的所有资源定义和依

    2024年02月08日
    浏览(61)
  • Kubernetes技术--使用kubeadm快速部署一个K8s集群

    这里我们配置一个 单master集群 。( 一个Master节点,多个Node节点 ) 1.硬件环境准备 一台或多台机器,操作系统 CentOS7.x-86_x64 。这里我们使用安装了CentOS7的三台虚拟机 硬件配置 : 2GB或更多RAM , 2个CPU或更多CPU , 硬盘30GB或更多 2.主机名称和IP地址规划 3. 初始化准备工作 (1).关

    2024年02月10日
    浏览(34)
  • 云原生 | K8S集群helm部署apisix3.1

    1.当前环境是内网,内网环境手动下载安装 下载地址:https://github.com/kubernetes/helm/releases 2.执行helm version命令验证: 目前只能查看到客户端的版本,服务器还没有安装 3.添加apisix 仓库 a.查看ns b.查看pvc是否已绑定 c.查看apisix的pod是否启动 d.查看svc e.修改apisix-dashboard端口号为:

    2024年02月13日
    浏览(25)
  • 第27关 在K8s集群上使用Helm3部署最新版本v2.10.0的私有镜像仓库Harbor

    ------ 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维。 在前面的几十关里面,博哥在k8s上部署服务一直都是用的docker hub上的公有镜像,对于企业服务来说,有些我们是不想把服务镜像放在公网上面的; 同时如果在有内部的镜像仓库,那拉取镜像的速度就会很快

    2024年02月01日
    浏览(33)
  • k8s搭建mysql集群实现主从复制

    名称 版本 操作系统 IP 备注 K8S集群 1.20.15 Centos7.9 192.168.11.21 192.168.11.22 192.168.11.23 21为k8s-master 22为k8s-node01 23为k8s-node02 MySql 5.7 Centos7.9 一主两从 nfs服务器 Centos7.9 192.168.11.24 共享目录为/nfs 11.24: 11.21/22/23(所有K8S节点): 11.21: 创建rbac 创建sc 启动: 11.21: 此文件定义了两个

    2024年02月15日
    浏览(24)
  • 浅谈sealos及使用sealos4.0部署Kubernetes(K8s)高可用集群

    sealos 是以kubernetes为内核的云操作系统发行版 早期单机操作系统也是分层架构,后来才演变成 linux windows这种内核架构,云操作系统从容器诞生之日起分层架构被击穿,未来也会朝着高内聚的\\\"云内核\\\"架构迁移 从现在开始,把你数据中心所有机器想象成一台\\\"抽象\\\"的超级计算机

    2024年02月07日
    浏览(35)
  • Kubernetes(K8S)集群部署

    目录 一、创建3台虚拟机 二、为每台虚拟机安装Docker 三、安装kubelet 3.1 安装要求 3.2 为每台服务器完成前置设置 3.3 为每台服务器安装kubelet、kubeadm、kubectl 四、使用kubeadm引导集群 4.1 master服务器 4.2 node1、node2服务器 4.3 初始化主节点 4.4 work节点加入集群 五、token过期怎么办?

    2024年02月07日
    浏览(58)
  • Kubernetes(k8s)集群安装部署

    名称 IP 系统 配置 主控节点 192.168.202.101 CentOS 7.9.2009 2核4G 工作节点1 192.168.202.102 CentOS 7.9.2009 2核4G 工作节点2 192.168.202.103 CentOS 7.9.2009 2核4G 2.1 升级操作系统内核 导入elrepo gpg key 安装elrepo YUM源仓库 安装kernel-ml版本,ml为长期稳定版本,lt为长期维护版本 设置grub2默认引导为0 重

    2024年02月10日
    浏览(56)
  • K8S部署MySQL主从环境

    1.创建mysql主从环境的命名空间 2.创建master的pvc 3.创建mysql-master的headliness 4.创建mysql-master-service对外访问 5.创建mysql-master部署文件 6.检查服务启动情况 7.创建mysql-slave的pvc 8.建mysql-slave的headliness和service用来对外访问(slave节点可以不创建service) 9.创建mysql-slave部署文件(mysql-serv

    2024年02月20日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包