k8s之KubeSphere部署有状态数据库中间件服务 mysql、redis、mongo

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: k8s之KubeSphere部署有状态数据库中间件服务 mysql、redis、mongo

部署mysql

新建配置文件configMap

创建configmap


54a82ee045c14783afe80ab4f019ca0c.png


高级设置

值:


[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
skip-character-set-client-handshake
# 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
# 数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
# 设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
# 最大连接数
max_connections = 1000
# 最大错误连接数
max_connect_errors = 1000
# TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true
# SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet = 128M
# MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
# MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
# 内部内存临时表的最大值 ,设置成128M。
# 比如大数据量的group by ,order by时可能用到临时表,
# 超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 134217728
max_heap_table_size = 134217728
# 禁用mysql的缓存查询结果集功能
# 后期根据业务情况测试决定是否开启
# 大部分情况下关闭下面两项
query_cache_size = 0
query_cache_type = 0
# 是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
# 跳过密码登录
#skip-grant-tables

786c0d1b92ae4b2e98c41c56a8d737e7.png


创建PVC,用户存储Mysql的数据

创建存储卷


282a94b544ed40f7a319c04c7b2648b4.png


存储设置


fc27dc3eac574005afa3d1adb8343b77.png


高级设置不用设置,下一步点完成


创建有状态工作负载

基本信息


2a6ae41f8080440783665421f375c455.png


容器组设置


f3fdc552b0fc4c8aae41fd676ae9e152.png


启动命令 参数增加:–lower_case_table_names=1,–default-time_zone=+8:00


8b3d6426849e41b288a8b26f0371f9f8.png


添加环境变量 ——> 键:MYSQL_ROOT_PASSWORD、值:自定义登录密码


76cc3c319bd3494dbf165a425535bb42.png


挂载存储卷


b637981f8dd14e77b2f0f51e03e892c4.png


选择我们刚刚添加那个pvc,挂载路径:/var/lib/mysql


85c14140d8b34f0c86a076126f02399b.png


挂载配置文件


ebbfb8723d6c4ee29919b85f2b014e6e.png


选择我们配置的信息,挂载路径为:/etc/mysql/conf.d


fb2d761c91ec40dfa236708fde80c827.png


以上mysql就部署完成啦


部署redis

应用商店搜索redis


da0697557e7f4d979dc076d2987cb412.png


点击安装


114c2d2c392043cfbc9dfedbac5b1c5f.png


下一步

第一个是卷挂载

第二个是初始化redis连接密码


6b84738e89934eaf9f16b1f71e66e79b.png


部署mongo

采用应用商店部署,与redis类似


编辑服务外网访问

基于redis演示

按照圈出来的步骤进行点击


41db4e5228c74e97a0a4c14f3a38d58b.png


基本信息


d1a6cfd09b174d79926a5646990c6df4.png


服务设置

点击指定工作负载——>选择有状态副本集,选中刚刚部署的redis服务


f6ca7a89c2274f5dbba2f9632764c3ea.png


c3820e0ecbd9451fa7d8b9196d65bd67.png


高级设置

选择外部访问 NodePort访问方式


ec0d585555634b56991b0ae943f39d29.png


redis外部访问端口号


e3848a6fba424d5380f2cafb4d5a50fa.png


测试外部访问

2f58a6184d0b434e81c78c2bb01d2229.png


以上就完成啦


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
Kubernetes 持续交付 Docker
利用 Docker 和 Kubernetes 实现微服务部署
【10月更文挑战第2天】利用 Docker 和 Kubernetes 实现微服务部署
|
30天前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
118 60
|
1月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
181 62
|
11天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
58 3
|
11天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
50 2
|
20天前
|
存储 Kubernetes Cloud Native
Kubernetes上的数据库
【10月更文挑战第16天】数据库在Kubernetes上的应用日益普及,超过72%的组织已在Kubernetes上运行数据库。这得益于Kubernetes的声明式特性和标准化部署,能够加速开发、降低成本、减少复杂性,并提高系统的弹性和正常运行时间。Kubernetes为数据管理提供了自动化操作、环境一致性、数据可移植性和自助服务功能,特别适合现代云原生应用。然而,引入数据库到Kubernetes时需考虑团队技能、自动化支持及存储配置等问题。
15 1
|
1月前
|
NoSQL Linux Shell
Redis 的安装与部署(图文)
Redis 的安装与部署(图文)
|
28天前
|
NoSQL 关系型数据库 Redis
高可用和性能:基于ACK部署Dify的最佳实践
本文介绍了基于阿里云容器服务ACK,部署高可用、可伸缩且具备高SLA的生产可用的Dify服务的详细解决方案。
|
1月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
69 0
|
1月前
|
Kubernetes 网络协议 安全
[kubernetes]二进制方式部署单机k8s-v1.30.5
[kubernetes]二进制方式部署单机k8s-v1.30.5
下一篇
无影云桌面