Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修改sextant适应企业内部环境 #567

Closed
gongweibao opened this issue Jul 29, 2017 · 9 comments
Closed

修改sextant适应企业内部环境 #567

gongweibao opened this issue Jul 29, 2017 · 9 comments

Comments

@gongweibao
Copy link
Contributor

gongweibao commented Jul 29, 2017

Sextant设计之初考虑的是在裸机集群中一键式的解决方案。实际使用的过程中,企业内部的集群一般都有了自己的初始化安装环境,如部署了DHCP服务器,有自己的DNS,机器也有自己的hostname,机器之间通过hostname相互也能ping同。这种情况下,同时两个DHCP服务器无疑是有冲突的,需要对Sextant做一些改动以便适应这种的环境。

总体说来,Sextant=引导方式+资源的cache服务。各个节点软件的安装时通过kg(kickstart)文件安装,通过kg中调用post_script的方式配置和启动,通过ssh无密码登陆管理软件。

其中资源cache有下列部分:

  • cloudinit源
  • yum源
  • docker registry
  • GPU driver安装源

我们可以把Sextant PXE服务部分设置为可选项,保留资源cache服务部分。由于post_script不能通过kg的方式启动,所以引入fabric作为集群管理者,方便安装、配置、检查、启动、关闭软件。

不能解决的问题:

  • 不能升级系统的主版本,比如Centos6升级到Centos7,只可以做到升级内核。
    安装操作系统的基础版本还是一个繁琐的任务,当然,如果企业内部的PXE服务可以支持安装需要的基础版本是最好。
@pineking
Copy link
Contributor

@gongweibao fabric 和 ansible 比如何?
关于 PXE 安装系统和 k8s 配置升级分开,我们搞了一个 dev_ansible 的分支,主要做了两件事情:

  1. PXE 和 k8s 安装配置分开
  2. ansible 简化原有 k8s 安装配置部分

@gongweibao
Copy link
Contributor Author

gongweibao commented Aug 1, 2017

hi, @pineking ,不好意思,回复的有点晚。主要是用的比较着急直接动手做了一些。
思路是这样的:

  • 为了不冲突DHCP,所以加了一个start_pxe的选项,配置是否启动
  • 为了兼容以前的伪mac地址当做hostname,在我们可能不能改动dns的情况下,把mac地址和ip的对应加入到了/etc/hosts文件中
  • upgrade kernelinstall gpu driver用fabric实现了一下,并且是分开的,因为后者的使用频率稍微大一些
  • install k8s正在实现中,其实就是调用了一下post_process.shpost_cloudinit_provision.sh两个脚本,并且准备加上check的功能,检查安装的是否准确。
    里边多加了一个配置文件,用来配置用户名,密码等,有些重复的是需要特殊配置的几个节点,需要把他们的mac地址和ip保存到各个机器的/etc/hosts中,不过为了解耦合,这样的重复配置其实还好。

fabric和ansible的对比还没有来得及做,fabric倒是很简单,只是现在还不能执行自定义的python函数。
也不清楚k8s的社区是否提供了ansible的支持?

@pineking
Copy link
Contributor

pineking commented Aug 1, 2017

他们的mac地址和ip保存到各个机器的/etc/hosts中

IP 地址是 static 的?

@gongweibao
Copy link
Contributor Author

目前的碰到的是啊。
主要是不想去改动sextant里边mac地址作为hostname的设计。

@pineking
Copy link
Contributor

pineking commented Aug 1, 2017

OK,明白了

@typhoonzero
Copy link
Contributor

upgrade kernel和install gpu driver用fabric实现了一下,并且是分开的,因为后者的使用频率稍微大一些

目前是把这两个操作和install k8s操作分开了么?

@gongweibao
Copy link
Contributor Author

分开了。

@gongweibao
Copy link
Contributor Author

@pineking 也帮忙review一下吧?#566

@pineking
Copy link
Contributor

pineking commented Aug 3, 2017

@gongweibao Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants