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

文章目录

    • 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.mfbz.cn/a/335362.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

视频监控需求记录

记录一下最近要做的需求,我个人任务还是稍微比较复杂的 需求:需要实现一个视频实时监控、视频回放、视频设备管理,以上都是与组织架构有关 大概的界面长这个样子 听着需求好像很简单,但是~我们需要在一个界面上显示两个厂商的视…

1.C语言——基础知识

C语言基础知识 1.第一个C语言程序2.注释3.标识符4.关键字5.数据类型6.变量7.常量8.运算符9.输入输出输入输出 1.第一个C语言程序 C语言的编程框架 #include <stdio.h> int main() {/* 我的第一个 C 程序 */printf("Hello, World! \n");return 0; }2.注释 单行…

C#使用Graphics绘图通过加载纹理底图的方式绘制纹理效果

纹理图片 加载效果如下图&#xff1a; 在扇形上把纹理图片作为底&#xff0c;渲染到绘制的图像中。 图形渲染中&#xff0c;纹理可以包括各种图像&#xff0c;如照片、图标、图案等。这些图像被映射到三维模型的表面&#xff0c;使得表面看起来像是被这些图像所包裹。 主要特点…

基于SSM的图书馆管理系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的图书馆管理系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring Sp…

AIGC - 视频生成模型的相关算法进展

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/135688206 视频生成技术确实是一个很有潜力的颠覆性技术领域&#xff0c;可以作为企业创新梯队的重点关注方向&#xff0c;最近发展很快&#xff…

Docker--harbor

目录 一、搭建本地私有仓库 Docker容器的重启策略如下&#xff1a; 二、Harbor 简介 2.1Harbor是什么 2.2Harbor的特性 2.3Harbor的构成 2.4架构的数据流向 三、harbor部署以及配置文件 环境准备 部署Docker-Compose服务 下载或上传Docker-Compose&#xff1a; 赋予…

验证回文串[简单]

优质博文&#xff1a;IT-BLO-CN 一、题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个回文串。 字母和数字都属于字母数字字符。 给你一个字符串s&#xff0c;如果它是回文串&#xff…

MySQL---视图索引

表定义&#xff1a; 学生表&#xff1a;Student (Sno, Sname, Ssex , Sage, Sdept) 学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;所在系 Sno为主键 课程表&#xff1a;Course (Cno, Cname,) 课程号&#xff0c;课程名 Cno为主键 学生选课表&#xff1a;S…

【JavaEE】文件操作 —— IO

文件操作 —— IO 1. 文件的属性 文件内容文件大小文件路径文件名称 2. 文件的管理 采用树形结构进行管理。 3. 文件路径 分为两种&#xff1a;相对、绝对路径。 相对路径&#xff1a;相对于当前位置的路径&#xff0c;以“./xxx.xxx”为标志绝对路径&#xff1a;以从盘符…

MySQL作业

目录 1.实验需求1&#xff1a; &#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09; &#xff08;4&#xff09; &#xff08;5&#xff09; 2.实验步骤1&#xff1a; &#xff08;1&#xff09;完成上述实验需求1&#xff0c;需要先创建一…

DAY13--learning English

一、积累 1.jog Riding rollercoaster is even like a daily jog for this man, 对这个男人来说坐过山车甚至就像每天散步一样轻松. 2.admission Admission to guilt. 承认有罪 3.summon I love the guy hes literally summon Karpov into material plane. 我喜欢这家伙他真…

牛牛的猜球游戏

置换群 前缀和 思想 学好线性代数 做这题很有意思&#xff0c;记得多校也有一道置换群的好题&#xff5e; 把多次变换看成一个置换矩阵就好也就是 I (一开始为单位矩阵) ->经过A作用产生了B->经过C作用产生了D 即 CAI D 现在让我们求一下 CI &#xff1f; 两边右…

C++浮点数比较

根据资料&#xff0c;C浮点数计算时存在精度误差&#xff0c;在一些情况下比较浮点数可能应使用特定的比较函数&#xff1b; #include "stdafx.h" #include<iostream>using namespace std;#define EPS 1e-9int main(int argc, char* argv[]) {double a 0.3;do…

利用appium自动控制移动设备并提取数据

安装appium-python-client模块并启动已安装好的环境 安装appium-python-client模块 在window的虚拟环境下执行pip install appium-python-client 启动夜神模拟器&#xff0c;进入夜神模拟器所在的安装路径的bin目录下&#xff0c;进入cmd终端&#xff0c;使用adb命令建立adb…

Klocwork—符合功能安全要求的自动化静态测试工具

产品概述 Klocwork是Perforce公司产品&#xff0c;主要用于C、C、C#、Java、 python和Kotlin代码的自动化静态分析工作&#xff0c;可以提供编码规则检查、代码质量度量、测试结果管理等功能。Klocwork可以扩展到大多数规模的项目&#xff0c;与大型复杂环境、各种开发工具集成…

在k8s上部署ClickHouse

概述 clickhouse的容器化部署&#xff0c;已经有非常成熟的生态了。在一些互联网大厂也已经得到了大规模的应用。 clickhouse作为一款数据库&#xff0c;其容器化的主要难点在于它是有状态的服务&#xff0c;因此&#xff0c;我们需要配置PVC。 目前业界比较流行的部署方式有…

使用pyechart创建基础柱状图

from pyecharts.charts import Bar# 构建柱状图对象 bar Bar()# 添加X轴数据 bar.add_xaxis(["中国","美国","英国"])# 添加Y轴数据 bar.add_yaxis("GDP",[30,20,10])# 绘图 bar.render("基础柱状图.html")效果演示&#x…

Git学习笔记(第6章):GitHub操作(远程库操作)

目录 6.1 远程库操作 6.1.1 创建远程库 6.1.2 命名远程库 6.1.3 本地库推送到远程库(push) 6.1.4 远程库拉取到本地库(pull) 6.1.5 远程库克隆到本地库(clone) 6.2 团队内协作 6.3 跨团队协作 6.4 SSH免密登录 6.1 远程库操作 命令 作用 git remote -v 查看所有远程…

C语言·预处理详解

1. 预定义符号 C语言设置了一些预定义符号&#xff0c;可以直接使用&#xff0c;预定义符号也是在预处理期间处理的 __FILE__ 进行编译的源文件 __LINE__ 文件当前的行号 __DATE__ 文件被编译的日期 __TIME__ 文件被编译的时间 __STDC__ 如果编译器遵循ANSI C&#xff0c;…

正则表达式..

1.字符串的合法检验 现在有一个字符串验证码 我们需要检验其的合法性 什么条件才能够使得字符串合法呢&#xff1f;就是6-10个字符串长度 并且以字母开头 并且其中由字母、数字、下划线构成 那么我们可以先通过自定义的方式进行检验 public class Main {public static void m…
最新文章