Kubesphere之ks-installer介绍

本文详细介绍了Kubesphere的部署工具ks-installer和shell-operator的工作原理,包括安装脚本、监控事件、组件部署策略及自定义配置。重点展示了ks-installer的部署流程、schedule.sh定时任务和installRunner.py的部署操作。

Kubesphere提供两个部署工具,KubeKey和ks-installer。其中,ks-installer部署Kubesphere,KubeKey安装Kubernetes和ks-installer。

代码框架

在这里插入图片描述
controller:shell-operator的两个脚本
deploy:部署ks-installer的yaml文件
docs:文档
env:变量
playbooks:各个playbook

  • alerting.yaml:部署报警模块
  • auditing:部署审计模块
  • common:部署通用模块,包括es、fluent-bit、minio、openldap、mysql等等
  • devops:部署devops模块
  • events:部署事件模块
  • harbor:部署镜像仓库模块
  • ks-config:
  • ks-core:部署ks核心组件,包括ks-apiserver、ks-controller-manager、ks-console等
  • logging:部署日志模块
  • metrics-server:部署metrics-server
  • monitor:部署监控模块
  • multicluster:部署多集群模块
  • openpitrix:部署openpitrix
  • preinstall:预安装,包括检查k8s版本、storageclass、helm版本转换等
  • result-info:统计部署结果,显示welcome信息
  • servicemesh:部署微服务模块
  • telemetry:获取一些集群信息,如k8s版本、ks版本、machineID等等,再向ClusterConfiguration写入- - clusterID(当前镜像有问题,生成clusterID失败,因为没有uuidgen命令)
    roles:各个role目录

scripts:ks-installer相关脚本

shell-operator

ks-installer本质是一个shell-operator,监控着ClusterConfiguration资源,当ClusterConfiguration资源变化时,则会触发ks-installer的部署流程。
不像fluentbit-operator这些,shell-operator并不是一种具体的operator实现,而是提供了一种框架。按照这种框架,可以编写出具体的operator。
shell-operator 与其他 Kubernetes 工作负载类似,部署在 Pod中。在 Pod 中有一个/hooks 的一个子目录,其中存储了可执行文件,它们可以用 Bash、Python、Ruby等编写的,我们称这些可执行文件为hooks。在这些可执行文件中,声明感兴趣的Kubernetes事件,订阅这些事件,并执行这些钩子。
shell-operator 如何知道何时执行钩子呢?事实上每个钩子都有两个阶段。在启动过程中,shell-operator 使用-config参数运行每个钩子。一旦配置阶段结束,钩子将以“正常”方式执行:响应附加给它们的事件。
在这里插入图片描述
shell-operator支持三种钩子响应类型:
1、OnStartup:启动后即运行;
2、schedule:crontab格式的定时任务;
3、kubernetes:监控Kubernetes资源,根据定义的事件类型来响应;

shell-operator也提供了prometheus metrics,支持自定义指标,默认端口是9115。

bash-5.1$ pwd
/hooks/kubesphere
bash-5.1$ ls
installRunner.py  schedule.sh

ks-installer的pod中,/hooks/kubesphere中包含两个文件。installRunner.py用于部署ks-installer,schedule.sh定期执行telemetry的playbook,检查状态、注册clusterid等。
installRunner.py:

ks_hook 
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值