KubeSphere使用(minio、ftp、redis、rabbitmq)

KubeSphere是将docker部署进行了页面化。
KubeSphere所有容器创建来源源自于docker。
minio为分布式文件储存服务器。docker部署使用 minio/minio
ftp为ftp文件服务器。docker部署使用fauria/vsftpd
此次方案为:
minio使用单机模式部署方式,使用ftp服务器存储目录。
达到同时支持ftp访问和ftp访问文件目录下载的效果。
注意:minio新版本改了存储机制,单机部署也会产生纠删码校验。导致无法ftp服务器识别文件。
ftp使用docker部署的根目录为/home/vsftpd/admin
需要将ftp存储根目录/home/vsftpd/admin和minio文件服务器存储目录/data进行使用中间卷挂载。

创建ftp服务:
先创建ftp有状态副本集的工作负载,工作负载即为搭载了这一工作需要使用的容器(1对多)。
ftp容器部署需要开放tcp 21 22端口,同时需要指定被动模式的ip地址,不然会自动绑定为docker主机的内网ip地址,无法与之建立连接。
需要设置被动模式开放的连接端口。在与ftp服务器21端口发送连接请求之后会随机返回开放的被动模式的ip地址和连接端口进行连接通信。
环境变量设置:
image
将docker部署的ftp服务器默认保存地址/home/vsftpd/admin绑定存储卷
image
需要注意工作负载设置好之后,需要去服务里将默认的无外网连接的有状态服务删除,新建指定工作负载的自定义服务。
给服务添加你容器需要的端口
image

将访问设置为外部访问,并将外部访问模式设置为NodePort。
同时需要注意主机之间的通信,k8s会将你的容器网络端口随机分配主机端口,会造成ftp建立连接时拿到的是容器网络端口,而不是指向容器网络端口的主机端口。
需要编辑服务的yaml文件将nodeport端口修改为和ftp容器被动模式开放端口号一致。
image
ftp服务器部署结束。

创建minio服务:
先创建minio有状态副本集的工作负载,工作负载即为搭载了这一工作需要使用的容器(1对多)。
minio容器自带api接口为9000,可以进行修改,不建议,minio自带控制台,但是需要自己指定端口去进行绑定启动。
设置一个9000端口和9001端口。
minio部署需要添加启动命令,不然启动会失败。
minio为内置minio服务命令,server:启动服务,/data:将文件根目录设置在/data,--console-address,:9001:控制台端口绑定为9001。
image
环境变量可以设置用户账号和密码,不设置会默认使用minioadmin。
image

将minio存储根目录/data挂载存储卷
image
同ftp一样去删除默认创建的服务,自己创建服务,指定外部访问,设置nodeport外部访问模式,开放端口即可。
不需要容器端口和主机端口一致。因为minio文件服务器和ftp文件服务器建立连接传输需要进行ftp协议进行加密解密握手操作。

部署redis:
创建redis工作负载,需要注意redis默认启动需要有配置文件,无配置文件无法启动。
1、去redis github或者redis官网上面下载redis.conf文件。
image
2、在kubesphere添加配置字典为redis-conf,键为redis.conf 值为redis.conf里的数据
image
image
3、创建redis工作负载,添加redis容器
添加启动命令 redis-server 参数 /etc/redis/redis.conf
勾选同步主机时区
image
4、给redis挂载配置字典,相当于将配置文件挂载进redis里面
image
5、redis可以开启持久化配置,配置文件里面可以设置 appendonly 为true,redis就会将数据存入/data目录
可以选择将/data挂载出来进行持久化
image
6、redis默认不开启外部访问,只能使用本机访问
如果需要开启外部访问,需要将 protect-mode 设置为no
将端口绑定属性bind 127.0.0.1 注释掉
image
7、redis密码在配置文件里为 requirepass,默认未配置,可以自己手动添加此配置
8、创建自定义服务,设置外部访问方式,开放端口映射操作见ftp操作

部署rabbitmq:
docker仓库rabbitmq有两个版本,一个自带开始配置插件(ui辅助界面)的版本,后缀为management(3.10-management),
另一个为未默认开启此插件的版本(3.10),如果要使用,需要自己去终端执行 rabbitmq-plugins enable rabbitmq_management 命令。看自己需求选择版本,建议选择开启配置插件的。
1、创建rabbitmq工作负载,选择rabbit容器,使用默认端口
2、rabbitmq可以在启动时使用环境变量设置用户和密码,如不设置,则为默认guest/guest
3、勾选同步主机时区即可
image
4、将rabbitmq数据和日志文件挂载出来
image
image
5、创建自定义服务,设置外部访问方式,开放端口映射操作见ftp操作

附:
KubeSphere数据存储卷可以理解为一个挂在的目录中间卷。可以进行数据持久化与容器之间数据同步。
kubesphere配置字典可以理解为配置文件,文件名为键,文件内容为值。可以采取挂载配置字典的方式映射需要配置文件的docker容器
服务为带有网络端口的工作负载。
工作负载为一组配合的容器组。
容器组管理容器。
docker部署的容器数据一般保存在 /var/lib/ + 容器名下面,注意有些容器时有自己的数据保存目录,比如redis就是直接在根目录的 /data 目录下
docker部署的容器日志数据一般保存在 /var/log/ + 容器名下面

posted @   星星小马  阅读(2805)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示