2.7 KiB
kubeasz-3.0.0 (the Beginning of Spring)
2021春快到了,kubeasz带来全新3.x版本,是继2.x基础上做了一些小优化和创新,力求更加整洁和实用。主要更新点:
优化多集群创建、管理逻辑
根目录新增 clusters 子目录,用于存放不同集群的配置;现在 ezctl 命令行天然支持多集群管理操作,统一创建、管理,互不影响;建议deploy节点独立出来,具体集群创建、管理操作可以参考 docs/setup/ezctl.md
配置集中,组件版本统一设置
模版配置文件 example/config.yml 是把原先 roles/xxxx/defaults/main.yml 配置合并后的全局配置文件;每创建一个集群会从这个模版派生一个实例集群的配置文件到 clusters/xxxx/config.yml;
ezdown 脚本统一设置组件、镜像版本;自动替换clusters/xxxx/config.yml 全局配置中相关版本
增加默认部署 node local dns
NodeLocal DNSCache在集群的上运行一个dnsCache daemonset来提高clusterDNS性能和可靠性。在K8S集群上的一些测试表明:相比于纯coredns方案,nodelocaldns + coredns方案能够大幅降低DNS查询timeout的频次,提升服务稳定性
参考官方文档:https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/
客户端 kubeconfig 管理【强烈推荐】
经常遇到有人问某个kubeconfig(kubectl)泄露了怎么办?不同权限的kubeconfig怎么生成?这里利用cfssl签发自定义用户证书和k8s灵活的rbac权限绑定机制,ezctl 命令行封装了这个功能,非常方便、实用。
详细使用参考 docs/op/kcfg-adm.md
更新 prometheus安装部署,自动集成安装
参考 example/config.yml 配置和 roles/cluster-addon/templates/prometheus/values.yaml.j2 模版配置文件,详细使用文档待更新
其他主要更新
- 更新支持 ansible 2.10.4
- 更新系统加固 os-harden 7.0.0
- 更新traefik 安装部署(helm charts)
组件更新
- k8s: v1.20.2, v.1.19.7, v1.18.15, v1.17.17
集群安装
- ca 安全管理,所有证书都在deploy节点创建后推送到需要的节点
- 移除 netaddr (pip安装) 依赖
- 修复ansible group命名不规范问题(group 'kube-node' --> group 'kube_node')
- 更新 kube-ovn to 1.5.3 #958
- 调整cluster-addon安装方式
- 修复 calico 网络 backend 设置为 vxlan none 时,calico 部署失败 #959
- 调整默认nodePort范围为30000-32767
- 修复 calico backend config #973
- 修复 restore an etcd cluster #973
- 修复带自定义变量时增加/删除节点可能失败
工具脚本
- ezdown 替换原 tools/easzup
- ezctl 替换原 tools/easzctl
文档
- 大量文档更新(部分未完成)