KubeSphere 核心实战之一【在kubesphere平台上部署mysql】(实操篇 1/4)

news2024/9/27 12:18:02

文章目录

    • 1、登录kubesphere平台
    • 2、kubesphere部署应用分析
      • 2.1、工作负载
      • 2.2、服务
      • 2.3、应用路由
      • 2.4、任务
      • 2.5、存储与配置
      • 2.6、部署应用三要素
    • 3、部署mysql
      • 3.1、mysql容器启动实例
      • 3.2、mysql部署分析
      • 3.3、创建mysql的配置
      • 3.4、创建mysql的数据卷pvc
      • 3.5、创建mysql工作负载
      • 3.6、创建mysql服务service
    • 4、使用navicat测试连接mysql

在kubesphere平台上部署MySQL,首先搭建好k8s集群,并且在集群上安装配置好kubesphere。详细安装配置教程请参见我的上个博客文章:

Kubernetes上安装KubeSphere(亲测–实操完整版)

1、登录kubesphere平台

游览器输入自己搭建的kubesphere平台网址:http://192.168.162.31:30880/login

注意:登录成功后,首先创建一个拥有platform-admin角色的用户 账号,然后创建自己的企业空间和项目。
具体的创建企业空间、项目、用户和平台角色,详见kubesphere官网:
https://kubesphere.io/zh/docs/v3.4/quick-start/create-workspace-and-project/

登录后进入自己的项目。
在这里插入图片描述
在这里插入图片描述

2、kubesphere部署应用分析

在这里插入图片描述

2.1、工作负载

问题一:在云上部署应用,需要用什么样的方式进行部署?

采用工作负载,kubesphere针对三种应用采用三种方式进行部署:

  1. 无状态部署Depolyment:主要针对微服务等应用
  2. 有状态副本集 StatefulSet:mysql、redis等有状态且数据动态变化的服务
  3. 守护进程集 DaemonSet:日志收集器应用。

在这里插入图片描述
无论是哪种服务,部署后最终以pod容器组的形式运行在k8s集群中。

2.2、服务

问题二:部署后的应用服务或者说pod,如何实现在集群内或者集群外的访问?

通过服务Service,两种网络访问模式:

  1. ClusterIP模式:集群内部访问
  2. NodePort模式:外部访问

2.3、应用路由

问题三:服务应用路由如何实现?

kubesphere中的应用路由对应的是kubernetes中的ingress服务。

2.4、任务

问题四:任务如何实现?

kubesphere中的任务对应的是kubernetes中的Job和CronJob。

2.5、存储与配置

问题五:容器组pod中涉及的数据存储和配置如何实现?

kubesphere中的存储中的持久卷申明 对应的是kubernetes中的数据存储卷PVC挂载。
kubesphere中的配置中的配置字典 对应的是kubernetes中的配置集ConfigMap。

2.6、部署应用三要素

总结:
部署一种应用需要考虑的三要素:

  1. 应用的部署方式:选择一种工作负载进行部署
  2. 应用的数据挂载(数据、配置文件):部署期间需要配置存储卷PVC和配置集ConfigMap的创建
  3. 应用的可访问性:服务访问Service(两种模式)

3、部署mysql

3.1、mysql容器启动实例

所有应用部署需要参照docker hub中对应镜像的说明进行。

启动msyql服务的实例:

docker run -p 3306:3306 --name mysql-01 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
-d mysql:5.7 

3.2、mysql部署分析

在这里插入图片描述

3.3、创建mysql的配置

在kubesphere平台中创建mysql的配置文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mysql配置文件示例(文件名:my.cnf) ,内容如下:

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

3.4、创建mysql的数据卷pvc

在这里插入图片描述
在这里插入图片描述

如果没有nfs-storage,需要安装一下nfs服务器,并设置为默认存储。参照我的博客 kubernetes上安装kubesphere中的安装nfs网络存储文件内容:
Kubernetes上安装KubeSphere(亲测–实操完整版)

创建mysql-pvc成功:
在这里插入图片描述

3.5、创建mysql工作负载

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
输入mysql:5.7.35 回车
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
挂载数据存储卷:
在这里插入图片描述
在这里插入图片描述
挂载配置文件:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
等待更新完成,状态变为运行中。

测试进入mysql
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

# cd /etc/mysql/conf.d
# ls
my.cnf
# cat my.cnf

如果修改配置文件,也会同步到mysq状态集的配置内容。

测试 集群内部访问使用服务名.项目名 进行访问

mysql -uroot -hhis-mysql.his -p

在这里插入图片描述

1、集群内部,直接通过应用的 【服务名.项目名】 直接访问

mysql -uroot -hhis-mysql.his -p

2、集群外部,用node ip+端口号 +mysql密码

3.6、创建mysql服务service

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、使用navicat测试连接mysql

在这里插入图片描述
连接成功。

1、集群内部,直接通过应用的 【服务名.项目名】 直接访问

mysql -uroot -hhis-mysql.his -p

2、集群外部,用node ip+端口号 +mysql密码

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1396859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣第236题——二叉树的最近公共祖先 (C语言题解)

题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以…

C#MQTT编程07--MQTT服务器和客户端(wpf版)

1、前言 上篇完成了winform版的mqtt服务器和客户端,实现了订阅和发布,效果666,长这样 这节要做的wpf版,长这样,效果也是帅BBBB帅,wpf技术是cs程序软件的福音。 wpf的基础知识和案例项目可以看我的另一个专…

定义域【高数笔记】

【定义域】 1,{知识点} 对于一个函数,f(x),"f"是起到两个作用,第一,是对自变量的范围的约束,第二,是对运算的约束,同一个"f" 就有同一个约束效果 2,…

TPU编程竞赛系列|第八届集创赛“算能杯“报名开启!

近日,第八届全国大学生集成电路创新创业大赛正式开幕,"算能杯"以 基于TPU处理器的边缘计算系统设计 为赛题,围绕算能提供的多款TPU硬件,展开软硬件协同设计,创新开发算法及探索新兴应用。我们诚邀全国高校的…

表的增删改查 进阶(二)

🎥 个人主页:Dikz12🔥个人专栏:MySql📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 3.新增 4.查询 聚合查询 聚合函数 GROUP BY子句 HA…

php反序列化之pop链构造(基于重庆橙子科技靶场)

常见魔术方法的触发 __construct() //创建类对象时调用 __destruct() //对象被销毁时触发 __call() //在对象中调用不可访问的方法时触发 __callStatic() //在静态方式中调用不可访问的方法时触发 __get() //调用类中不存在变量时触发(找有连续箭头的…

Git学习笔记(第3章):Git常用命令

目录 3.1 设置用户签名 3.2 初始化本地库 3.3 查看本地库状态 3.4 添加暂存区 3.5 提交本地库 3.6 历史版本 3.7 修改文件 3.8 版本穿梭 小结 命令 作用 git config --global user.name 用户名 设置用户签名 git config --global user.email 邮箱 设置用户签名 …

机器学习顶会ICLR 2024录用论文合集,包含时间序列、图大模型、agent等热门主题

朋友们,ICLR 2024这周放榜了!据统计,本届会议共收到了7262篇论文,整体接收率约为31%,与去年(31.8%)基本持平。其中Spotlight论文比例为5%,Oral论文比例为1.2%。 不知道各位看完有什…

排序链表(LeetCode 148)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路参考文献 1.问题描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4]示例 2: 输入&#xff…

经典计算机网络面试题

1.说说HTTP常用的状态码及其含义? 状态码 类别 1xx 信息性状态码 2xx 成功状态码 3xx 重定向状态码 4xx 客户端错误状态码 5xx 服务端错误状态码 日常开发中的状态码: 状态码 含义 101 切换请求协议 200 请求成功 301 永久性重定向&…

网络:FTP

1. FTP 文件传输协议,FTP是用来传输文件的协议。使用FTP实现远程文件传输的同时,还可以保证数据传输的可靠性和高效性。 2. 特点 明文传输。 作用:可以从服务器上下载文件,或将本地文件上传到服务器。 3. FTP原理 FTP有控制层面…

原神官网切换效果

这两天来研究一下原神游戏官网的效果,地址:《原神》官方网站-全新4.3版本「蔷薇与铳枪」上线! (mihoyo.com) 继续用我之前的模板项目: 等我把这一页写满,会上传原码。 效果很多,我们先看第一个&#xff…

数学建模美赛资料(赛题+获奖论文更新)

数学建模美赛历年真题可以帮助我们了解比赛的出题思路,对建模比赛有一个大致的了解。 在备赛过程中,通过往年真题,我们可以了解考试的范围和重点,做到心中有数,可以有的放矢。通过真题,我们可以感受到各个…

逻辑运算符

逻辑运算符 什么是逻辑运算符&#xff1f; 在数学中&#xff0c;一个数据x大于5&#xff0c;小于15&#xff0c;我们可以这样来进行表示&#xff1a;5<x<15.在Java中&#xff0c;需要把上面的式子先进行拆解&#xff0c;再进行合并表达。 拆解为&#xff1a;x>5和 x…

Python中HTTP代理的配置和使用

在Python中&#xff0c;HTTP代理是一种常用的技术&#xff0c;用于控制和修改HTTP请求和响应。通过使用HTTP代理&#xff0c;我们可以更好地控制网络请求的行为&#xff0c;提高安全性、隐私性和效率。下面我们将详细介绍如何在Python中配置和使用HTTP代理。 一、配置HTTP代理…

泛型编程——模板详解

文章目录 1. 前言2. 泛型编程3. 函数模板3.1 函数模板的概念3.2 函数模板的格式3.3 函数模板的原理3.4 函数模板的实例化3.5 模板参数的匹配原则 4. 类模板4.1 类模板的定义格式4.2 类模板的实例化 5. 模板参数6. 模板的特化6.1 概念6.2 函数模板特化6.3 类模板特化6.3.1 全特化…

【STM32】STM32学习笔记-I2C通信外设(34)

00. 目录 文章目录 00. 目录01. I2C简介02. I2C外设简介03. I2C框图04. I2C基本结构05. 主机发送06. 主机接收07. 软件/硬件波形对比08. 预留09. 附录 01. I2C简介 I2C(Inter&#xff0d;Integrated Circuit)总线是一种由NXP&#xff08;原PHILIPS&#xff09;公司开发的两线式…

链表练习 Leetcode234.回文链表

题目传送门&#xff1a;Leetcode234 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true示例 2&…

element中表格组件的row-class-name和class-name属性的使用以及无效处理

1.这两个属性的使用&#xff0c;row-class-name用在el-table标签上&#xff0c;class-name用在el-table-column标签上。两个属性即可绑定类名也可绑定函数 <!-- 这里是绑定函数&#xff0c;也可以绑定类名 --> <el-table :data"tableData" selection-chang…

Ubuntu安装zsh

安装zsh sudo apt install zsh安装git&#xff08;如果有跳过&#xff09; sudo apt install git(1条消息) 关于Git这一篇就够了_17岁boy想当攻城狮的博客-CSDN博客 安装oh my zsh git clone https://github.com/robbyrussell/oh-my-zsh切换目录到oh-my-zsh文件夹下的tools…