kubernetes如何简化容器化部署_容器集群

kubernetes如何简化容器化部署_容器集群程润科 数据库研发工程师,目前从事 RadonDB MySQL Kubernetes 研发,热衷于研究数据库内核、K8s 相关技术。 张莉梅 高级文档工程师,目前负责数据库产品文档开发、维护和管理工作

容器化 | 在 KubeSphere 中部署 MySQL 集群

程润科

数据库研发工程师,目前从事 RadonDB MySQL Kubernetes 研发,热衷于研究数据库内核、K8s 相关技术。

张莉梅

高级文档工程师,目前负责数据库产品文档开发、维护和管理工作。

本文将演示如何在 KubeSphere[1] 上部署 RadonDB MySQL on Kubernetes 2.1.2,快速实现高可用的 MySQL on K8s。

部署准备

  • 确保已启用 OpenPitrix 系统[2]
  • 创建一个企业空间、一个项目和一个用户供本操作使用[3]
  • 安装过程中,请以 admin 身份登录控制台,在企业空间 demo 中的 demo-project 项目中进行操作
  • 确保 KubeSphere 项目网关已开启外网访问[4]

动手实验

1、添加应用仓库

  1. 登录 KubeSphere 的 Web 控制台。
  2. demo 企业空间中,进入应用管理下的应用仓库页面,点击添加,弹出仓库配置对话框。
  3. 输入仓库名称和仓库 URL。
    • 输入 radondb-mysql-operator 作为应用仓库名称。
    • 输入 https://radondb.github.io/radondb-mysql-kubernetes/ 作为仓库的 URL,并点击验证以验证 URL,在 URL 旁边呈现一个绿色的对号,验证通过后,点击确定继续。
  4. 将仓库成功导入到 KubeSphere 之后,在列表中即可查看 RadonDB MySQL 仓库。

file

2、部署 RadonDB MySQL Operator

  1. 在 demo-project 项目中,进入应用负载下的应用页面,点击部署新应用。
  2. 在对话框中,选择来自应用模板,进入应用模版页面。
  3. 从下拉菜单中选择 radondb-mysql-operator 应用仓库。
  4. 点击 mysql-operator 应用图标,查看和配置应用信息。

file

  1. 在配置文件选项卡,可查看和编辑 values.yaml 配置文件;在版本列框区域,可查看和选择版本号。

file

  1. 点击部署,进入 mysql-operator 应用基本信息配置页面,确认应用名称、应用版本以及配置部署位置。
  2. 点击下一步,进入 mysql-operator 应用配置页面,确认 values.yaml 配置信息,可编辑文件修改配置。

file

  1. 点击部署,返回应用模版页面。待应用状态切换为运行中,则应用部署成功。

file

更新 Operator

若已在 KubeSphere 部署过历史版本 Operator,可以选择如下方式更新到最新版本。

  1. 在 KubeSphere 平台删除历史版本 Operator 应用。

file

  1. 参考如上步骤,安装最新版本 Operator 。

  2. 执行如下命令更新 CRD 版本。如下示例为更新 CRD 到 2.1.2 版。

kubectl apply -f https://raw.githubusercontent.com/radondb/radondb-mysql-kubernetes/v2.1.2/charts/mysql-operator/crds/mysql.radondb.com_mysqlclusters.yaml

3、部署 RadonDB MySQL 集群

可任选一个 RadonDB MySQL 配置示例[5] 部署,或自定义配置部署。

mysql_v1alpha1_mysqlcluster.yaml 模版为例,创建一个 RadonDB MySQL 集群。

  1. 在右下角 工具箱中选择 Kubectl 工具,打开终端窗口。
  2. 执行以下命令,安装 RadonDB MySQL 集群。
kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml --namespace=<project_name>

注意

未指定项目时,集群将被默认安装在 kubesphere-controls-system 项目中。若需指定项目,安装命令需添加 --namespace=<project_name>

预期结果

$ kubectl apply -f https://github.com/radondb/radondb-mysql-kubernetes/releases/latest/download/mysql_v1alpha1_mysqlcluster.yaml --namespace=demo-project
mysqlcluster.mysql.radondb.com/sample created
  1. 集群创建成果后,执行如下命令,可查看 RadonDB MySQL 集群节点服务。
kubectl get statefulset,svc

预期结果

$ kubectl get statefulset,svc
NAME                            READY   AGE
statefulset.apps/sample-mysql   3/3     10m

NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
service/default-http-backend   ClusterIP   10.96.69.202    <none>        80/TCP     3h2m
service/sample-follower        ClusterIP   10.96.9.162     <none>        3306/TCP   10m
service/sample-leader          ClusterIP   10.96.255.188   <none>        3306/TCP   10m
service/sample-mysql           ClusterIP   None            <none>        3306/TCP   10m

部署校验

demo-project 项目中,查看 RadonDB MySQL 集群状态。

  1. 进入 应用负载 下的 服务 页面,可查看集群服务信息。

file

  1. 进入 应用负载 下的 工作负载 页面,点击 有状态副本集,可查看集群状态。进入一个 有状态副本集 详情页面,点击 监控 标签页,可查看一定时间范围内的集群指标。

file

  1. 进入 应用负载 下的 容器组 页面,可查看集群节点运行状态。

file

  1. 进入 存储 下的 存储卷 页面,可查看存储卷。查看某个存储卷用量信息,以其中一个数据节点为例,可以看到当前存储的存储容量和剩余容量等监控数据。

file

至此,完成在 KubeSphere 中部署 RadonDB MySQL 集群。

参考引用

[1]:KubeSphere:https://kubesphere.com.cn

[2]:OpenPitrix:https://kubesphere.io/zh/docs/pluggable-components/app-store

[3]:创建操作:https://kubesphere.io/zh/docs/quick-start/create-workspace-and-project

[4]:项目网关:https://kubesphere.io/zh/docs/project-administration/project-gateway

[5]:配置示例:https://github.com/radondb/radondb-mysql-kubernetes/blob/main/config/samples

原文地址:https://www.cnblogs.com/radondb/archive/2022/02/25/15935332.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5490.html

(0)
上一篇 2023-05-07
下一篇 2023-05-07

相关推荐

  • Windows 下安装多个Redis 实例

    Windows 下安装多个Redis 实例1.在Redis 目录下复制redis.windows-service.conf文件,建议命名规则redis.windows-service-port.conf,我们以6380端口为例。 2.打开re

    2023-02-11
    157
  • 内建质量,你真的了解么?「建议收藏」

    内建质量,你真的了解么?「建议收藏」内建质量定义 内建质量作用在开发过程中,要求软件生命周期之间参与的各个角色都需要实时的对软件的质量负责。确保软件在交付到下一环节前已经有了基础的质量保证。其核心目的就是减少因为质量问题导致的返工,而…

    2023-02-26
    156
  • Python工程师必备:掌握numpy的load函数

    Python工程师必备:掌握numpy的load函数在Python的科学计算领域,numpy库是必不可少的。numpy中的load函数也是非常重要的一个函数,它可以方便地读取各种类型的文件,包括.npy、.npz等文件,并转换成numpy数组。本文将会从多个方面对numpy的load函数进行详细讲解,以便Python工程师能够轻松地熟练掌握这个函数,提高工作的效率。

    2024-05-25
    80
  • mysql数据库基础知识_数据库的基础是什么

    mysql数据库基础知识_数据库的基础是什么数据库的de增删改查【CRUD】 DDL【操作数据库、表】 创建数据库 CREATE DATABASE db1;【db1是我要创建的数据库的名称,如果已经存在数据库db1,则会报错】 CREATE D

    2023-04-16
    139
  • sql优化口诀_qq飞车进阶技巧

    sql优化口诀_qq飞车进阶技巧上文( SQL优化之SQL 进阶技巧(上) )我们简述了 SQL 的一些进阶技巧,一些朋友觉得不过瘾,我们继续来下篇,再送你 10 个技巧 一、 使用延迟查询优化 limit [offset

    2023-03-04
    191
  • mysql操作工具_MySQL 漏洞

    mysql操作工具_MySQL 漏洞前几天因工作需要,组长给我安排了一个数据清洗的任务。
    任务:把 A 表的数据洗到 B 表。
    我的第一反应,什么是「洗」?洗数据是什么?洗钱我倒是知道。

    2023-06-08
    136
  • redis集群搭建(非常详细,适合新手)_redis集群配置

    redis集群搭建(非常详细,适合新手)_redis集群配置redis集群的搭建 redis集群的三种模式 主从复制 哨兵模式 cluster集群 redis-cluster集群的搭建(在一台linux中搭建,三主三从) 下载安装redis5.0.3 cd /

    2023-06-06
    137
  • HBase Filter 过滤器之 ValueFilter 详解[通俗易懂]

    HBase Filter 过滤器之 ValueFilter 详解[通俗易懂]前言: 本文详细介绍了 HBase ValueFilter 过滤器 Java&Shell API 的使用,并贴出了相关示例代码以供参考。ValueFilter 基于列值进行过滤,在工作中涉及到

    2023-03-01
    146

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注