Kubernetes 生产化集群管理 操作系统选择

生产化集群的考量


操作系统的评估和选择


ubuntu作为主的操作系统,但是很多人都喜欢使用centos,因为centos马上就不支持了,它没有centos免费支持了,开源社区没有centos的免费支持了,那么就需要考虑后续的操作系统如何管控。

在去定义整个集群的操作系统使用什么样的维度。

专为容器优化的操作系统是专门为容器所作的一些优化,

背后有没有成熟的生态,一项技术如果被人广泛的使用,说明它是活跃的,生命力是强的,那么它后续的版本会一直迭代的,它就会变的越来越好。

如果你用的技术都没有什么人使用,没有一个完整的生态,那么这个技术会一直越来越落寞。

内核版本一般影响到我们的支撑能力。

生态系统与成熟度


通用的操作系统是Ubuntu和centos,它本身的生态是比较成熟的,还有面向容器优化的一些小型操作系统。

云原生


过去很多的生产化运维,它是比较随意的,比如说操作系统有各种各样的工具,然后所有的文件目录都是可以修改配置的,那么这种架构下面,管理员或者用户习惯性的去登入这些节点上面,去做一些配置的更改,这样改来改去,积年累月,那么可能一个事件的迁移就会搞出大问题。

所以生产系统很多大的问题都是这样的,可变架构的风险是问题不可追溯的,大家不知道它发生了什么样的事情,然后就会造成重大的事故。

或者当我节点出现问题的时候,我要紧急替换的时候,我根本不知道要恢复什么,我可能从标准镜像去构建,但是后面所作的这些配置,在基础镜像里面是没有体现的,我是不知道的,这样花费的时间和人力就会非常的高。

不可变架构就是希望主机的操作系统是不可变的,然后运行在主机上面的容器镜像也是不可变的,那么就让主机的大部分文件目录都是只读的,我只做必要的变更,然后再通过某些机制从流程上面管控这些变更的可能性,那么就使得整个基础架构是不可变的。起来之后什么样,那么一直就是什么样,如果节点出现问题,将其换掉,那么问题就解决了。

 

 

 Atomic


如何实现这个目的呢?

redhat本身提供了软件包的安装系统,叫做Automic,通过Automic这个工具它可以支持多种发布版,比如centos rhel。

它的优势是不可变的操作系统,它是面向容器,基于这个工具可以去构建面向容器优化的基础设施,rpm-ostree可以为我们提供一堆rpm包让我们很方便的构建一个操作系统镜像。

 

 

最小化主机操作系统


 

 

 

操作系统构建流程


社区有一个一个的rpm的repo,会在rpm的repo基础之上,创建自己的rpm的snapshot,我们在公司会去拉取社区rpm的镜像,然后构建我们自己的snapshot,这个snapshot除了镜像之外,还会去看社区有哪些patch,以及生产系统发现的问题,这些问题修复一并会通过rpm rebuilder变成一个rpm包,放在rpm的snapshot里面。

这样其实我们自己维护了一套rpm的repo,有了这个repo之后,有个工具叫做rpm-ostree,这个工具做的事情就是将rpm包编译成一个ostree的格式。

我们追求的是最小的操作系统镜像,所以这里面只安装最核心的服务,需要辅助的工具怎么办?这里面有buildah,它的输出就是docker image。

所以这里面会构建两种,一种是基本的操作系统镜像,通过ostree保持最小的集合,一些utility一些辅助的工具,我们通过docker build构建成docker的镜像,提供后续做整个操作系统的问题排查。

有了ostree之后,它可以通过http的形式暴露出来,那这里面会有两条线,一条就是裸金属的这条线,我们启的是bare mental,bare mental里面有kick start,kick start可以直接去调用ostree直接加载这个操作系统,完成操作系统的启动。

ostree这种模式对于虚拟机来说,是不能完全支持的,所以还有另外一条线,对于虚拟化的技术栈上面我们会有packer builder,通过这个builder将ostree构建成一个一个的存在glance的一个一个操作系统镜像,openstack在启动虚拟机的时候会去读取这些镜像,然后将虚拟机启动起来。

所以以用户最后在使用的时候,无论是裸金属,还是虚拟机,它的感受是一样的,

 

 

ostree


ostree其实就是redhat提供的一系列的工具,ostree本身会有libostree的共享库,还有一些命令行,它的命令行工具的使用和git命令行使用非常相近,你可以提供ostree的命令加载一个repo,还可以pull这些工具。

构建ostree

 加载ostree

操作系统加载

 

 

 

 生产环境遭遇的陷阱


如果需要自己去定制化操作系统,那么可以通过rpm-ostree这些机制来实现操作系统的定制化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值