目录
🧡应用部署总览
🧡中间件部署
MySQL有状态副本集
🍠KubeSphere创建配置集
🍠KubeSphere创建存储卷
🍠KubeSphere创建有状态副本集
🍠集群访问
💟这里是CS大白话专场,让枯燥的学习变得有趣!
💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!
💟好记性不如烂键盘,自己总结不如收藏别人!
💌之前在Docker中部署过中间件,但是没有用到K8S上,这次可以更直观地看到应用部署的各个组件。
🧡应用部署总览
💌应用部署三要素:
🍠应用的部署方式:无状态、有状态、守护进程。
🍠应用的数据挂载:数据挂载到哪个存储卷,配置文件挂载到哪个配置集。
🍠应用的可访问性:服务访问端口,负载均衡网络。
🧡中间件部署
MySQL有状态副本集
https://hub.docker.com/_/mysql
💌根据刚才的部署架构,在pod中使用官方镜像创建MySQL的容器,设置环境变量(用户名密码),创建配置存储卷和配置集。
🍠KubeSphere创建配置集
🍠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
🍠KubeSphere创建存储卷
💌其实最好是在创建副本集时直接创建存储卷,这样扩展副本数量的时候存储卷也会对应扩展。
🍠KubeSphere创建有状态副本集
选择容器版本
设置资源限制
配置环境变量 MYSQL_ROOT_PASSWORD
选择存储卷 /var/lib/mysql
选择配置集 /etc/mysql/conf.d
成功部署~~内存一定要够大,至少要有一个8G的服务器。
🍠集群访问
mysql -uroot -hmysql-inner.default -p
🍠暴露端口可在集群外访问(集群内也能访)