查看原文
其他

集群部署神器之 KubeKey——v2.0.0 上手指南(直播回放 + PPT)

KubeSphere 社区 KubeSphere云原生 2022-04-18

讲师简介

李耀宗,目前就职于青云科技公司容器研发部,开源爱好者,KubeKey 维护者,Installtion SIG 成员。目前主要负责 KubeKey v2.0.0 相关开发工作。

分享内容简介

KubeKey 是一款帮助用户搭建 Kubernetes 集群的安装工具,其上手简单、功能丰富的特点深受社区用户喜爱。前段时间 KubeKey 公布了开发 v2.0.0 版本的计划,在经过几个月的开发工作后,最近代码已经合并到了残酷的主分支,并且发布了 alpha 版本。本次分享就给大家介绍一下 KubeKey v2.0.0 的整体架构和重要改动,帮助大家快速上手 KubeKey v2.0.0。

大纲回顾

Q & A

Q1:Module、task 是串行还是并行?支持 Module 之间有 DAG 依赖的情况?只能按照 task 数组执行吗?

A:Module 目前分为包含 task 的 taskModule 和 通过协程启动的 GoroutineModule,但是目前 kk 的流水线中只使用了 taskModule。从设计上来将可以实现 Module 可以实现串行和并行。task 通过 parallel 字段可以控制是否并行执行。DAG 依赖以后考虑可能会支持。目前只能通过 Module 只能按照 task 数组执行,可以通过控制语句或 task 中的 prepare 控制该 task 是否执行。

Q2:KubeKey 是否支持一个部署文件可以部署多个 K8s 集群?例如定义一个 K8s 集群集合,指定每个 K8s 集群的配置,是否考虑定义一个 ClusterSet CRD?

A:KubeKey 未来会考虑结合 cluster-api 来重构 operator 模式,之后会设计集群级别,node 级别等不同的 CRD。

Q3:v1.2.0 版本是否会支持 centos/redhat 8,计划的支持时间节点是?是否有 Web 界面支持计划?部署后是否有考虑将集群巡检加入 KubeKey 的计划吗?

A:对于 v1.2.0 版本,我们考虑之后只会 patch 一些修复 bug 的 PR,新的 feature 将仅添加至 v2.0.0 之后的版本。Web 界面和 KubeSphere 社区的集群巡检工具 KubeEye 之后都会考虑集成进 KubeKey。

Q4:当一个待部署的集群中同时存在 X86 和 ARM64 机器时,KubeKey 在部署 K8s、Istio 等服务时候是如何处理镜像的?不同机器架构需要不同的 Docker 镜像。

A:KubeKey 会下载不同架构的二进制文件和镜像,并推送到对应架构的机器。

Q5:如何参与 KubeKey 开发?如何在本地进行开发、测试与 debug?

A:以 Goland 为例,最好有一台 linux 云服务器、虚拟机或者 WSL 作为安装 K8s 的机器。Goland 配置 sftp ,这样可以在保存时将代码同步至 linux 中。linux 上可安装这个远程 debug 工具 https://github.com/go-delve/delve。在 linux 上编译 kk,并通过 debug 工具执行 kk 命令,Goland 上配置 go remote 连接 linux 上的 delve debug 服务,这样将可以在 Goland 中进行断点调试。

Q6:RemoteTask 与 LocalTask 有什么区别? 他们的结构体定义重复度很高,是否提取统一?

A:RemoteTask 包含 Hosts 数组,主要用于 ssh 连接至远程宿主机上执行 Linux 命令。LocalTask 不包含 Hosts 数组,主要用于运行 kk 的工作节点执行一些本地,不需要连接远程机器的逻辑,如:在终端上显示一个用户确认窗口。两者均实现了 TaskInterface 这个接口,之后可以再次进行提取抽象。

其他问题请查看问题收集文档[1]

PPT 下载

关注「KubeSphere 云原生」公众号,后台回复关键词 20211209 即可下载 PPT。

直播招募

您是否也想在社区分享您的云原生实践经验?

即可加入 KubeSphere 社区云原生直播计划,提交分享主题,将有 KubeSphere 周边礼品相送!

最重要的是您可以:

  • 提升自身软实力,如演讲能力、总结能力
  • 提高自身在云原生领域的知名度
  • 展现企业实力及优秀想法
  • 帮助推广您社区的开源项目

引用链接

[1]

问题收集文档: https://docs.qq.com/doc/DQ1VMUlhwVVFCY1J0


关于 KubeSphere

KubeSphere (https://kubesphere.io)是在 Kubernetes 之上构建的开源容器混合云,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。

KubeSphere 已被 Aqara 智能家居、爱立信、本来生活、东软、华云、新浪、三一重工、华夏银行、四川航空、国药集团、微众银行、杭州数跑科技、紫金保险、去哪儿网、中通、中国人民银行、中国银行、中国人保寿险、中国太平保险、中国移动、中国电信、天翼云、中移金科、Radore、ZaloPay 等海内外数千家企业采用。KubeSphere 提供了开发者友好的向导式操作界面和丰富的企业级功能,包括 Kubernetes 多云与多集群管理、DevOps (CI/CD)、应用生命周期管理、边缘计算、微服务治理 (Service Mesh)、多租户管理、可观测性、存储与网络管理、GPU support 等功能,帮助企业快速构建一个强大和功能丰富的容器云平台。

 ✨ GitHub:https://github.com/kubesphere
 💻 官网(中国站):https://kubesphere.com.cn
 👨‍💻‍ 微信群:请搜索添加群助手微信号 kubesphere

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存