KubeSphere安装mysql8.4.0

news2024/10/19 2:13:10

背景

KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,完全开源,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。

安装组件前提:已安装k8s集群,已经安装kubesphere,并且企业空间、项目已经创建。

1. 拉取镜像,并推送至私有registry

拉取镜像

ctr -n k8s.io images pull -all-platforms  hub.ccoc.eu.org/library/mysql:8.4.0-oraclelinux8

注意:–all-platforms:所有平台(amd64 、arm、386 、ppc64le 等),不加的话下载当前平台架构
如果不加 --all-platforms 会出现ctr: content digest sha256:xxxxxx not found 的错误,要解决这个办法需要 pull 所有平台镜像。

tag(注意把“yourHarbor”替换成你自己的registry空间地址)

ctr -n k8s.io images tag   hub.ccoc.eu.org/library/mysql:8.4.0-oraclelinux8 registry.opsxlab.cn/library/mysql:8.4.0-oraclelinux8

push到私有registry(注意把“yourRegistry”替换成你自己的registry空间地址)

ctr -n k8s.io images  push  yourRegistry/library/mysql:8.4.0-oraclelinux8

或者导出镜像再上传到私有仓库。
导出

 ctr -n k8s.io images export --all-platforms  xxx.tar.gz  yourRegistry/library/mysql:8.4.0-oraclelinux8

导入

ctr -n k8s.io images import --all-platforms xxx.tar.gz

推送镜像

 ctr -n k8s.io images push    yourRegistry/library/mysql:8.4.0-oraclelinux8 -k

2. 部署MySQL服务

1.配置字典

首先在kubesphere上创建mysql的配置文件,用于对mysql进行一些自定义配置。
进入项目后,选择配置->配置字典,点击创建按钮,输入配置文件名称mysql-config、别名描述等;
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
字典名称: mysql-config
key: my.cnf
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
# 设置不区分大小写
lower_case_table_names=1
 
# 创建数据表时,默认使用的存储引擎
default-storage-engine=INNODB
# 附加的内存池,用来存储 InnoDB 表的内容
#innodb_additional_mem_pool_size=3M
# 置提交日志的时机,若设置为 1,InnoDB 会在每次提交后将事务日志写到磁盘上
innodb_flush_log_at_trx_commit=1
# 来存储日志数据的缓存区的大小
innodb_log_buffer_size=2M
# 缓存的大小,InnoDB 使用一个缓冲池类保存索引和原始数据
innodb_buffer_pool_size=107M
# 日志文件的大小
innodb_log_file_size=54M
# 在 InnoDB 存储引擎允许的线程最大数
innodb_thread_concurrency=18
 
# 默认使用“mysql_native_password”插件认证
#default_authentication_plugin=mysql_native_password
 
 
# 回收空闲连接的时间
wait_timeout = 86400
# 允许同时访问 MySQL 服务器的最大连接数。其中一个连接是保留的,留给管理员专用的
max_connections=100
# 数据库 写入的 数据包 最大值
max_allowed_packet = 512M
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
 
# 查询时的缓存大小,缓存中可以存储以前通过 SELECT 语句查询过的信息,再次查询时就可以直接从缓存中拿出信息,可以改善查询效率
#query_cache_size=0
# 所有进程打开表的总数
#table_cache=256
# 内存中每个临时表允许的最大大小
tmp_table_size=35M
# 缓存的最大线程数
thread_cache_size=8
# MySQL 重建索引时所允许的最大临时文件的大小
myisam_max_sort_file_size=100G
# 重建索引时的缓存大小
myisam_sort_buffer_size=69M
# 关键词的缓存大小
key_buffer_size=55M
# MyISAM 表全表扫描的缓存大小
read_buffer_size=64K
#将排序好的数据存入该缓存中
read_rnd_buffer_size=256K
#用于排序的缓存大小
sort_buffer_size=256K
 
#开启binlog日志
#当前为单个节点,随机设置一个ID的值
server-id=1
log-bin=mysql-bin
binlog-format=Row
# 日志存储天数
#expire_logs_days=7
# 解决导入脚本时function报错问题
log_bin_trust_function_creators=1

在这里插入图片描述

2.创建保密字典

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

创建MYSQL_ROOT_PASSWORD值为123456
在这里插入图片描述

3.创建有状态副本集

3.1 选择有状态副本集

在这里插入图片描述

3.2 输入名称:mysql-8-4-0,点下一步

在这里插入图片描述

3.3 容器组设置

  • 输入镜像地址,注意:这里用私有registry上的地址,会显示“没有找到镜像”,不影响,可以继续往下操作
    在这里插入图片描述
  • 端口设置:
    • 协议选择TCP,名称:tcp-3306,容器端口:3306,服务端口:3306
    • 协议选择TCP,名称:tcp-33060,容器端口:33060,服务端口:33060

在这里插入图片描述

  • 勾选“环境变量”,键:MYSQL_ROOT_PASSWORD,值:选择创建的密码字典mysql-secert

  • 勾选“同步主机时区”,点确定(对号)及下一步
    在这里插入图片描述

3.4存储设置

  • 添加持久卷
    注意:因为截图的是测试环境,存储类只有local,生产环境是需要选择csi-nfs-sc之类的存储方式的。
    在这里插入图片描述
  • PVC名称前缀:mysql-pvc
  • 存出类选择csi-nfs-sc
  • 卷容量:1024G(根据实际需要)
  • 挂载路径:第一个下拉框选择“读写”,挂载路径:/var/lib/mysql
  • 点击确定
    在这里插入图片描述
  • 挂载配置字典或保密字典

在这里插入图片描述

  • 选在上面配置好的字典:mysql-confg
    在这里插入图片描述
  • 下拉框选择“只读”,挂载路径:/etc/mysql/conf.d

在这里插入图片描述

  • 选择特定键,选择my.cnf,值也为my.cnf,然后点击,再点下一步,最后直接点击创建
    在这里插入图片描述

在这里插入图片描述

3. 创建服务

  • 点击创建,选择“指定工作负载”

在这里插入图片描述

  • 输入名称:mysql-svc-nodeport,点下一步
    在这里插入图片描述
    在这里插入图片描述
  • 端口:协议选择“HTTP”,容器端口:3306,服务端口:3306,点击下一步

在这里插入图片描述

  • 勾选“外部访问”,访问模式下拉选择“NodePort”,点击创建

在这里插入图片描述

  • 点击在服务的“…”,选择“编辑YAML”,把nodePort修改为需要的端口,用于外部访问。

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

在这里插入图片描述

4. 访问测试

打开navcat,输入任意节点的ip和mysql外部服务的端口,点击测试,连接成功

在这里插入图片描述

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

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

相关文章

Metasploit渗透测试之攻击终端设备和绕过安全软件

概述 在之前,重点讨论了针对服务器端的利用。但在当下,最成功的攻击都是针对终端的;原因是,随着大部分安全预算和关注都转向面向互联网的服务器和服务,越来越难找到可利用的服务,或者至少是那些还没有被破…

阿里商品发布框架如何覆盖海量规则

1688商品发布系统升级发品框架GPF,面对商品模型复杂度极高,发布的海量场景、多重业务逻辑如何覆盖? 本文从手工测试到自动化测试,以及完善的质量保障方案一一解答。 1、项目背景 1688商品发布系统运行多年,架构逐步…

OFDM学习-IP核学习-FIFO IP核和FFT IP核在vavido中的配置以及使用

FIFO IP核和FFT IP核在vavido中的配置以及使用 前言一、FFT IP核配置过程二、FIFO IP核配置过程总结 前言 记录一下OFDM学习中遇到的ip核使用方法,个人之前主要用Quatus,之前用ip核也比较少,记录一下配置过程吧以及一些参数的含义&#xff0…

【linux】Microsoft Edge 的 Bookmarks 文件存储位置

在 Linux 系统中,Microsoft Edge 的书签(Bookmarks)文件存储在用户的配置目录下。具体路径通常如下: ~/.config/microsoft-edge/Default/Bookmarks说明: 路径解释: ~ 表示当前用户的主目录。.config 是一个…

代替AD作为身份认证组件,深信服零信任aTrust与宁盾身份目录实现互操作

9月25日,经深信服科技股份有限公司和上海宁盾信息科技有限公司共同严格测试:宁盾身份目录服务软件能够与深信服零信任访问控制系统 aTrust 兼容对接运行,双方相互兼容,共同为企事业单位提供身份和零信任管理需求。 本次测试包含了…

笔记整理—linux网络部分(2)Linux网络框架

前文说过,在OSI中将网络分为7层,这是理论上将其分为7层,但实际上可以将其分为4层。如TCP协议就是将其分为4层。理论只是提出一种指导意见,但不是行业范本。 驱动层只关系有没有接到包,不关心包经过多少次转发&#xff…

Java 实战虚拟机 进阶 (一 万字)

实战 Java 虚拟机-高级篇 什么是 GraalVM GraalVM 是 Oracle 官方推出的一款 **高性能JDK,**使用它享受比 OpenJDK 或者 OracleJDK 更好的性能。 GraalVM 的官方网址:https://www.graalvm.org/官方标语:Build faster, smaller, leaner appli…

搭子小程序:全新在线找搭子,满足社交

搭子作为一种新的社交方式,为大众带来的各种陪伴型的社交模式,不管是饭搭子、健身、遛狗、学习等,都可以找到适合自己的搭子。搭子主打各个领域的陪伴,双方都能够在社交相处中保持着边界感,不涉及情感纠葛等&#xff0…

群晖前面加了雷池社区版,安装失败,然后无法识别出用户真实访问IP

有nas的相信对公网都不模式,在现在基础上传带宽能有100兆的时代,有公网代表着家里有一个小服务器,像百度网盘,优酷这种在线服务都能部署为私有化服务。但现在运营商几乎不可能提供公网ip,要么自己买个云服务器做内网穿…

【实战篇】用SkyWalking排查线上[xxl-job xxl-rpc remoting error]问题

一、组件简介和问题描述 SkyWalking 简介 Apache SkyWalking 是一个开源的 APM(应用性能管理)工具,专注于微服务、云原生和容器化环境。它提供了分布式追踪、性能监控和依赖分析等功能,帮助开发者快速定位和解决性能瓶颈和故障。…

矢量线段摆正-二维旋转

用途:通过一些算法,生成了一些矢量线段,但是没有保持绝对的水平、垂直,需要校正。 如下图所示,白色线为初始的矢量线段,只是能达到大致水平,红色线段为校正后,此时,红色…

Hive优化:Hive的执行计划、分桶、MapJoin、数据倾斜

文章目录 1. hive的执行计划1.1 为什么使用EXPLAIN1.2 使用EXPLAIN的步骤1.3 EXPLAIN在什么场合使用 2. 分桶2.1 为什么要使用分桶 3. Map Join3.1 Map Join3.1.1 大小表关联3.1.2 不等连接 3.2 Bucket-MapJoin3.2.1 作用3.2.2 条件 3.3 SMB Join3.3.1 作用 4. 数据倾斜4.1 表连…

nginx过滤模块怎么生效的

在nginx中,如果你要开发一个过滤模块,config中必须要加 HTTP_FILTER_MODULES$HTTP_FILTER_MODULES xxx 否则,即使在postconfiguration回调中加了ngx_http_top_header_filtermy_xxxx_filter_handle,最终my_xxxx_filter_handle也不…

c语言必备知识-->文件操作(内存与磁盘交互)

引言:本篇文章主要的内容是关于c语言文件相关的知识点,包括相应的代码实操,及文件操作时常用的接口讲解。 本篇文章用来解决如何将内存中的数据永久保存到磁盘当中,并且如何从磁盘读取内容放到我们内存当中。 我将讲解如下知识点: 1:文件(是什么,为什么要用,) 2:常用…

《Spring Cloud Config与Bus整合实现微服务配置自动刷新》

目录 Config与Bus整合自动刷新步骤1:安装RabbitMQ并启动RabbitMQ的安装 步骤2:创建项目创建Eureka Server创建config-server 步骤3: 添加依赖步骤4:Config Client步骤5:测试运行问题一问题二 总结 Config与Bus整合自动…

Java爬虫:从入门到精通实战指南

在信息技术飞速发展的今天,数据已成为最宝贵的资源之一。Java作为一种成熟且功能强大的编程语言,不仅在企业级应用开发中占据主导地位,也成为了编写爬虫程序的理想选择。Java爬虫能够自动化地从网页或API中提取数据,为数据分析、机…

一篇文章带你走进Java集合中的HashMap

文章目录 一、了解常见的数据结构二叉平衡树AVL树红黑树 二、HashMap的实现原理HashMap的jdk1.7和jdk1.8有什么区别? 三、HashMap put的具体流程四、HashMap的扩容机制五、HashMap的寻址算法**第一步:** 计算对象的hashCode第二步: 二次哈希第…

基于springboot的学习平台系统

springbootjava学习平台作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 系统展示 【2024最新】基于JavaSpringBootVueMySQL的,前后端分离。 开发语言:Java数据库&#xff1a…

2024第七届全国大学生数学竞赛暨数学精英挑战赛第二场,第一场获奖名单已公布

第七届全国大学生数学竞赛暨数学精英挑战赛(原网络挑战赛)由浙江应用数学研究会组织举办。自2018年起已经连续举办6届,吸引来自全国900余所高校选手参赛,近三年累计参赛人数1.5万人。2024年,第七届全国大学生数学竞赛暨…

力扣MySQL 1581

先把两张表连接,amount为null 的正是我们需要的,再按customer_id聚合 select Visits.visit_id,customer_id ,Transactions.visit_id ,transaction_id ,amount from Visits left join Transactions on Visits.visit_idTransactions.visit_id 正确代码&…