Kubernetes社区每周Hangouts笔记-2015年7月10日

每周,Kubernetes贡献社区几乎都会通过Google Hangouts开会。我们希望任何有兴趣的人都知道本论坛讨论的内容。

这是今天会议的笔记:

  • 埃里克·巴黎(Eric Paris):用ansible代替盐(如果需要)
    • 值得一提的是,有一个用Ansible编写的配置工具
    • 重写的目的是消除尽可能多的云提供商内容
    • Salt设置会在脚本中进行大量设置,然后使用Salt设置环境
      • 这意味着生成证书之类的事情在GCE / AWS / Vagrant上的处理方式有所不同
    • 对于Ansible,一切都必须在Ansible中完成
    • Ansible上的背景
      • 没有客户
      • Provisioning ssh进入计算机并在计算机上运行脚本
      • 您定义想要的集群外观,运行脚本,然后立即设置所有内容
      • 如果您对配置文件进行了一次更改,则ansible会重新运行所有内容(并非总是如此)
      • 使用jinja2模板
    • 使用最少的软件创建机器,然后使用ansible将机器置于可运行状态
      • 设置所有附加组件
    • 消除了预配器外壳脚本
    • 目前,完整集群设置大约需要6分钟
      • 具有某些软件包的CentOS
      • 重新部署到集群需要25秒
    • 埃里克的问题
      • 提供程序特定的配置在哪里?
        • ansible config所做的唯一网络设置是法兰绒。你可以关掉它
      • 那么init vs. systemd呢?
        • 应该能够在代码中支持无任何麻烦(尚未实现)
    • 讨论区
      • 为什么不将设置工作推送到容器或kubernetes配置中?
        • 要引导群集,请删除kubelet和清单
      • 仅需要运行kubelet和配置网络。我们可以剪切预先配置的机器映像,减去数据包(证书等)
        • 如果ansible脚本尚未安装,则会安装kubelet和docker
      • 每个操作系统(RedHat,Debian,Ubuntu)可能具有不同的映像。我们可以将其视为构建过程而不是安装过程的一部分。
      • 裸机也需要解决方案。
      • 为了实现总体目标-减少盐配置中的特殊配置
      • 除kubelet之外的所有内容都应在容器内运行(最终,kubelet也应运行)
        • 在容器中运行不会降低我们目前拥有的复杂性
        • 但是它确实更清楚地定义了有关代码期望的接口
      • 这些工具(Chef,Puppet,Ansible)将二进制分发与配置结合在一起
        • 容器更清楚地将这些问题分开
      • mesos部署还没有完全自动化,但是mesos部署却完全不同:kubelet放在现有mesos群集上
        • bash脚本允许mesos开发人员查看每个云提供商在做什么,并重复使用相关位
        • 逆向工程曲线很大,但是bash相对于salt至少可读
      • Openstack也使用不同的部署
      • 我们需要记录良好的步骤清单(例如,创建证书),这些步骤对于建立集群是必需的
        • 这将使我们能够跨云提供商进行比较
        • 我们应该尽可能减少步骤数
        • Ansible有241个步骤启动集群
  • 1.0代码冻结
    • 我们如何摆脱代码冻结?
    • 这是下周的主题,但预览是我们会慢慢移动而不是完全打开火喉
      • 我们希望尽快清除积压,同时保持HEAD和1.0分支的稳定性
      • 积压了将近300个PR,但在冻结期间还开发了各种并行功能分支
    • 今天(1.0.1)削减一个樱桃精选版本,该版本解决了一些问题
    • 下周我们将讨论补丁发布的节奏