KubeSphere中间件部署

news/2024/5/17 19:03:37

中间件部署实战 · 语雀

RuoYi-Cloud部署实战 · 语雀

https://www.bilibili.com/video/BV13Q4y1C7hS?p=79

1. 应用部署三要素

应用的部署方式(Deployment、StatefulSet、DaemonSet)

应用的数据挂载(数据、配置文件)

应用的可访问性(Service)

在这里插入图片描述

2. 部署MySQL

2.1 DockerHub官网了解

去DockerHub找到镜像

在这里插入图片描述

参考官网的命令,启动一个MySQL实例(比如用docker的话-e是指定环境变量)

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

在这里插入图片描述

官网上对镜像也有描述:MySQL的配置文件在/etc/mysql/my.cnf下,

在这里插入图片描述

使用自定义MySQL配置文件

MySQL的默认配置在/etc/mysql/my.cnf中。它可能会包含其他目录,如/etc/mysql/conf.d/etc/mysql/mysql.conf.d

请检查mysql镜像本身中的相关文件和目录以了解更多详细信息。

如果/my/custom/config-file.cnf是您的自定义配置文件的路径和名称,您可以像这样启动您的mysql容器(注意,只有自定义的目录路径config文件用于此命令)

docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

这将启动一个新的容器some-mysql,其中mysql实例使用/etc/mysql/my.cnf/etc/mysql/conf.d/config-file.cnf的组合启动设置,后者的设置优先。

不带cnf文件的配置

许多配置选项可作为标志传递给mysqld。这将使您能够灵活地自定义容器,而不需要cnf文件。例如,将所有表的默认编码和排序规则更改为使用UTF-8(utf8mb4),运行以下命令:

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

查看可用选项的完整列表,运行:

docker run -it --rm mysql:tag --verbose --help

2.2 以前用Docker启动MySQL容器

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 

2.3 分析

在这里插入图片描述

Pod里面是使用官方镜像的Mysql容器

启动时指定环境变量MYSQL_ROOT_PASSWORD

MySql的所有数据在容器内/var/lib/mysql路径下,此目录应以PVC方式挂载出来

配置文件在容器内/etc/mysql/conf.d路径下,k8s中,中间件的配置文件可以以configMap的方式做配置集

2.4 Mysql配置

部署Mysql之前,先把Mysql的ConfigMap做出来,在/etc/mysql/conf.d路径下以.cnf结尾的文件都会被Mysql识别为配置文件,所以ConfigMap的key可以写作my.cnf

在这里插入图片描述

mysql配置具体内容(ConfigMap的Value)

[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

2.5 PVC

本次采用先创建好,在后续创建副本集时直接选用,其实也可以在创建副本集时直接创建挂载卷。

系统内有默认的nfs存储类型

弹幕:没有nfs-storage的,要装一下nfs服务器,并设置为默认默认存储,参照kubernetes上安装kubesphere第三节的第一小节

有状态服务一般使用单节点读写,无状态的使用多节点读写

创建完后该卷是【未挂载】的状态。

在这里插入图片描述

2.6 创建有状态副本集

可以限制cpu和内存,但可以不预留

在这里插入图片描述

页面下边环境变量配置好MYSQL_ROOT_PASSWORD=my-secret-pw

勾选【同步主机时区】

添加存储卷,选择前一步创建好的PVC并设置路径

在这里插入图片描述

挂载配置文件或秘钥,选择先前创建好的并设置路径。创建ConfigMap时命名的key(my.cnf)将作为文件名添加到该路径下。

在这里插入图片描述

在这里插入图片描述

启动好之后,可以进容器内部查看文件

在这里插入图片描述

在页面上更改了ConfigMap的配置内容,会同步到容器里面的该配置文件,但Mysql不支持热更新,还是需要重启生效。

1、集群内部,直接通过应用的 【服务名.项目名】 直接访问mysql -uroot -hhis-mysql-glgf.his -p

2、集群外部,需要添加配置

在这里插入图片描述

3. 部署Redis

3.1 以前用Docker启动Redis

# 创建配置文件
## 1、准备redis配置文件内容
mkdir -p /mydata/redis/conf && vim /mydata/redis/conf/redis.conf
## 2、配置文件内容示例
appendonly yes
port 6379
bind 0.0.0.0# docker启动redis
## 弹幕:新版本好像变成/usr/local/etc/redis/路径存放配置文件了
docker run -d -p 6379:6379 --restart=always \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-v  /mydata/redis-01/data:/data \--name redis-01 redis:6.2.5 \redis-server /etc/redis/redis.conf

3.2 分析

Redis想持久化存储,加参数--appendonly yes

redis默认数据目录是/data,

准备一个Redis的Pod,

在这里插入图片描述

Redis要自定义配置文件,启动命令就变了

后续在页面上的创建操作与前面Mysql雷同

4. 部署ElasticSearch

4.1 以前用Docker启动

# 创建数据目录
mkdir -p /mydata/es-01 && chmod 777 -R /mydata/es-01# 容器启动
docker run --restart=always -d -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-v es-config:/usr/share/elasticsearch/config \
-v /mydata/es-01/data:/usr/share/elasticsearch/data \
--name es-01 \
elasticsearch:7.13.4

4.2 分析

数据可以挂载到外边的PVC

但是配置文件只想挂载该路径下所有文件中的两个:elasticsearch.yml和jvm.options,需要在ConfigMap中准备两个配置项,key分别是两个文件的文件名

在这里插入图片描述

注意: 子路径挂载,配置修改后,k8s不会对其Pod内的相关配置文件进行热更新,需要自己重启Pod

页面上操作时,因为不是映射全部的/usr/share/elasticsearch/config,所以要注意设置子路径

在这里插入图片描述

在【选择特定的键和路径】下选择ConfigMap中对应的配置

在这里插入图片描述

5. 应用商店

可以使用具有更高权限的管理员账户登录,从应用商店部署

6. 应用仓库

使用企业空间管理员登录,设置应用仓库

学习Helm即可,去helm的应用市场添加一个仓库地址,比如:bitnami


http://www.mrgr.cn/p/66816147

相关文章

Java 的注释

文章目录 java 的注释共有三种形式单行注释多行注释文档注释文档注释的文档需要命令进行生成GBK 不可映射问题 与大多数的编程语言一样,Java 中的注释也不会出现在可执行程序中。 因此我们可以在源程序中根据需要添加任意多的注释,而不必担心可执行代码受…

jenkins从节点配置说明

目的 打包构建时使用从节点,从节点所在服务器配置4C8G5000G(服务器2) 前提 首先在服务器1上部署jenkins服务,即主节点,默认节点名称为master 步骤 1)登录进入jenkins平台,在系统设置中&…

一个静态页面接入科大讯飞3.5AI

静态文件html<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible&q…

\x 开头编码的数据解码成中文

在宾馆让单片机连wifi,可惜不能显示汉字,显示都是utf-8码:可以用python解读这些 \x开头的字符串,比如第一个 \xe4\xb8\x89\xe4\xb8\x91\xe5\xae\xbe\xe9\xa6\x864 可以在python 输入以下命令: 先把错误的方式展示给你: # 错误的使用方式 s = "你好世界" decode…

Linux读写文件

前言 学习了文件系统&#xff0c;就能理解为什么说Linux下一切皆文件。 语言层面的操作 在c语言的学习中我们可以使用fopen()函数对文件进行操作。 int main() {//FILE * fp fopen("./log.txt", "w");//FILE * fp fopen("./log.txt", "…

OpenStack 入门体验

目录 一、云计算概述 1.1、什么是云计算 1.2、云计算的服务模型 1&#xff09;IaaS 2&#xff09;PaaS 3&#xff09;SaaS 1.3、OpenStack 概述 1&#xff09;OpenStack 起源 2&#xff09;什么是 OpenStack 3&#xff09;OpenStack 优势 二、OpenStack 一…

品牌百度百科词条创建多少钱?

百度百科作为国内最具权威和影响力的知识型平台&#xff0c;吸引了无数品牌和企业争相入驻。一个品牌的百度百科词条&#xff0c;不仅是对品牌形象的一种提升&#xff0c;更是增加品牌曝光度、提高品牌知名度的重要途径。品牌百度百科词条创建多少钱&#xff0c;这成为了许多企…

Ubuntu 22.04中使用微信

刚开始装了一个优麒麟原装的微信,真的好难用,就只能发送接受个文字消息,所以还是推荐安装wine版本的,链接如下:https://www.ubuntukylin.com/applications/119-cn.html 还是推荐离线安装,在线安装wine环境时容易出问题,根据它的教程安装即可~ 1、Wine环境安装: 下载链…

解析SAP系统在企业成本管理中的关键作用与优势

成本管理对于企业的可持续发展至关重要,而SAP系统作为领先的企业资源规划软件,在企业成本管理中发挥着重要作用。本文将分析SAP系统在企业成本管理中的重要性,探讨SAP系统如何帮助企业降低成本、提高效率,以及实现可持续发展的过程。第一部分:SAP系统的全面性 SAP系统是企…

python 正则表达式匹配

re模块: 案例: python的贪婪和非贪婪 r的作用:

python 修改jenkins的配置文件

python有jenkins获取配置文件的api,也有修改配置文件的api, 下面介绍下 如果修改jenkins job的配置文件内容:import re import time import jenkinsjenkins_url="http://xxx.com/jenkins" username="zhangsan" token="1.......de"jenkins = je…

基于SkyEye运行Qt:著名应用程序开发框架

Qt是一个著名的跨平台的C++图形用户界面应用程序开发框架,目前包括Qt Creator、Qt Designer等等快速开发工具,还支持2D/3D图形渲染、OpenGL,允许真正的组件编程,是与GTK、MFC、OWL、ATL一样的图形界面库。使用Qt开发的软件可以做到一次开发、任意部署,相同的代码可以在任意…

Apple App Store API 快速获取app综合评分,最新评论

iDataRiver平台 https://idatariver.com 提供开箱即用的app store采集api,可快速获取app的公开信息,包括app综合评分,用户评论,版本记录,以及搜索app等,能快速获取市场的反馈从而提升运营效率。iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的苹果应用…

6、JVM-JVM调优工具与实战

前置启动程序 事先启动一个web应用程序&#xff0c;用jps查看其进程id&#xff0c;接着用各种jdk自带命令优化应用 Jmap 此命令可以用来查看内存信息&#xff0c;实例个数以及占用内存大小 jmap -histo 14660 #查看历史生成的实例 jmap -histo:live 14660 #查看当前存活的实…

Stable Diffusion 3 API 发布!超越Midjourney v6和DALL-E 3

Stable Diffusion 3 于 2 月首次宣布作为预览版发布。而今天&#xff0c;StabilityAI 正式推出了 Stable Diffusion 3 和 Stable Diffusion 3 Turbo API 的API接口服务。 Stability AI 称仍在持续改进该模型&#xff0c;并没有说明发布日期。模型还没发布&#xff0c;但API先来…

说说你对图的理解?相关操作有哪些?

一、是什么 在计算机科学中,图是一种抽象的数据类型,在图中的数据元素通常称为结点,V是所有顶点的集合,E是所有边的集合 如果两个顶点v,w,只能由v向w,而不能由w向v,那么我们就把这种情况叫做一个从 v 到 w 的有向边。v也被称做初始点,w也被称为终点。这种图就被称做有向…

【机器学习】第二节-如何选择和评估模型

目录一、经验误差与过拟合错误率精度误差训练误差/经验误差度量指标泛化误差欠拟合过拟合二、评估方法专家样本1.留出法(1)单次留出法(2)多次留出法2.交叉验证(1)k折交叉验证(2)留一法(3)P次k折交叉验证3.自助法三、性能度量四、偏差与方差 一、经验误差与过拟合 错误率 分类错…

找win的局域网ip方式

执行命令ipconfig,结果如下这样跟你同一网络的小伙伴就能找到你啦

linux input system 分析笔记

1 struct input_dev 和 struct input_handler 1.1 简介 struct input_dev表示一个设备驱动层的输入设备。 struct input_handler是处理struct input_dev上报的事件的事件处理器。 1.2 全局变量input_dev_list&#xff0c;input_handler_list 输入设备链表&#xff1a;input…