Skip to content

Releases: easzlab/kubeasz

kubeasz 3.3.1

03 Jul 12:45
Compare
Choose a tag to compare

kubeasz 3.3.1 (Slight Heat)

倏忽温风至,因循小暑来。竹喧先觉雨,山暗已闻雷。kubeasz 3.3.1 发布,稳定性和新特性更新说明如下。

主要更新

1.新增local insecure registry

为方便集群离线安装,新增本地镜像仓库,用于预存放集群安装所需的组件镜像;建议仅做集群安装时临时使用,不适合对外用作业务应用的镜像存储(harbor 可以作为企业内部镜像仓库应用)。调整ezdown 下载脚本,区分默认组件镜像(ezdown -D)自动下载和可选组件镜像(ezdown -X)下载并推送至该本地镜像仓库。

2.新增网络检测工具/插件

集群初始安装后,或者运行很久时,非常需要有个工具能够简单检测当前集群各个节点网络是否正常;受 cilium connectivity-check 启发,利用cronjob 检测集群各种网络访问方式是否正常。详解组件说明

3.更新calico组件支持自动安装calico route reflector

calico 是最流行的网络组件之一;但是当集群节点达到一定数量后,默认的bgp全互联拓扑会导致每个节点需要维护大量BGP邻居信息;本次更新集成了calico-route-reflector自动安装,建议当节点数大于50时必须开启,详见文档说明

4.更新重写cilium组件安装

cilium 可算是最酷的网络组件之一;拥有eBPF光环,以及炫酷的cilium network policy(比k8s原生network policy增强很多),还有可观测性... 后续项目会加大对cilium组件的更新支持。

5.增加github action 自动同步仓库

自动同步kubeasz项目到国内gitee仓库,方便国内网络环境下访问。

组件更新

  • k8s: v1.24.2
  • coredns: 1.9.3
  • pause: 3.7

其他

  • 大量安装文档更新
  • 修复add-node等添加节点时自动添加/usr/bin/python软链接

kubeasz 3.3.0

08 Jun 11:42
Compare
Choose a tag to compare

kubeasz 3.3.0 (Grain in Ear)

泽草所生,种之芒种。kubeasz 3.3.0 发布更新支持k8s 1.24 版本。

主要更新

1.容器运行时

修改默认容器运行时为containerd,kubeasz 3.3.0 暂未适配docker 和其他容器运行时;集群使用containerd作为运行时,确实更简单、稳定;至于docker,镜像打包、单机运行容器等等真好用;各自发挥所长吧;kubeasz项目中在离线资源下载、安装中使用docker非常方便,还可以避免在部署机器上安装ansible等麻烦事,推荐使用。

2.去除安装ingress插件

ingress一般是具体业务强相关的,属于上层组件;鉴于维护人力和频率,项目中仅保留历史相关ingress文档,不再继续更新;请移步相关ingress组件官网获取更新部署方式;kubeasz 今后将更加关注底层集群组件的更新和维护。做简单,做好一件事。

3.更新prometheus安装套件

监控组件属于底层功能,将持续更新;项目使用kube-prometheus-stack helm chart 默认部署,需要自定义设置请参考项目 https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack

组件更新

  • k8s: v1.24.1
  • etcd: v3.5.4
  • containerd: 1.6.4
  • calico: v3.19.4
  • cni-plugins: v1.1.1
  • dashboard: v2.5.1

其他

  • 调整kube-controller-manager启动配置文件
  • 调整kubelet启用配置文件
  • 修复部分系统首次执行安装失败 (缺失 '/usr/bin/python')
  • 修复'ezdown‘运行可能会遗留容器导致再次运行失败
  • 部分文档更新
  • fix: get secret tokens for dashboard login in v1.24

kubeasz 3.2.0

05 Jan 12:24
Compare
Choose a tag to compare

kubeasz 3.2.0 (Slight Cold)

小寒料峭, 盼雪迎春。kubeasz 3.2.0 发布更新支持k8s 1.23 版本。

主要更新

  • 修改默认容器运行时为containerd,如果需要仍旧使用docker,请对应修改clusters/${集群名}/hosts 配置项CONTAINER_RUNTIME
  • 修改默认network-plugin:calico
  • 修复CNCF Conformance Test,选择ipvs模式时sessionAffinity的问题
  • 调整containerd配置文件与版本格式一致
  • 调整kube-scheduler启动配置文件
  • 调整kube-proxy启用配置文件

组件更新

  • k8s: v1.23.1
  • etcd: v3.5.1
  • containerd: 1.5.8
  • calico: v3.19.3
  • flannel: v0.15.1
  • coredns: 1.8.6
  • cni-plugins: v1.0.1
  • pause: 3.6
  • dashboard: v2.4.0
  • metrics-server: v0.5.2
  • k8s-dns-node-cache: 1.21.1
  • nfs-provisioner: v4.0.2

其他

  • fix: avoid cleaning iptables rules on docker setup
  • fix: controller-manager health check issue #1084
  • feat: Add docker proxy config at ezdown
  • fix: kubectl drain 参数版本差异导致失败的问题
  • fix: prepare阶段的一些小问题
  • fix: nf_conntrack模块安装判断等

kubeasz 3.1.1

25 Sep 07:27
Compare
Choose a tag to compare

kubeasz-3.1.1 (Autumnal Equinox)

昼夜均,寒暑平,中秋祭月。kubeasz 3.1.1 小版本更新。

正式通过k8s一致性认证

kubeasz 用户可以确认集群各项功能符合预期,既符合k8s设计标准;

组件更新

  • k8s: v1.22.2, v1.21.5, v.1.20.11, v1.19.15
  • etcd: v3.5.0
  • docker: 20.10.8
  • calico: v3.19.2
  • coredns: 1.8.4
  • pause: 3.5
  • dashboard: v2.3.1
  • metrics-server: v0.5.0

其他

  • 更新:kuboard 文档 #1014 #1023
  • 更新:判断服务状态直接使用systemctl is-active #1019
  • 修复:etcd dir bug #1036
  • 更新:traefik为Daemonset部署,增加健康检测功能以及Node节点亲和性调度 #1028
  • 更新:dashboard 部署文件和文档
  • 更新:metrics-server 部署文件和文档
  • 修复:coredns 1.8.4 rbac settings
  • 修复:docker/containerd是否需要安装的判断条件
  • 修复:暂时绕过centos7.9开启KUBE_RESERVED的问题
  • 调整:docker/containerd运行时安装互不影响

kubeasz 3.1.0

26 Apr 02:09
Compare
Choose a tag to compare

kubeasz 3.1.0 (Grain Rain)

春归谷雨,夏至未至。kubeasz 3.1.0 版本发布,主要更新点:

正式通过k8s一致性认证

kubeasz 用户可以确认集群各项功能符合预期,既符合k8s设计标准;

推荐群里大佬的k8s架构师免费视频课程

作者花很多心思和精力去构思文档、视频录制,并且把工作中的实践经验分享出来;值得参考学习

https://www.toutiao.com/c/user/token/MS4wLjABAAAA0YFomuMNm87NNysXeUsQdI0Tt3gOgz8WG_0B3MzxsmI/?tab=article

重写chrony/ex-lb/kube-lb等组件的安装

原先使用yum/apt方式安装依赖于各操作系统软件源,版本无法统一管理,并且离线安装也不方便;现使用源码最小化依赖编译安装,仅依赖基本库,生成的二进制文件可以运行于受支持的各种操作系统,可以方便的版本管理、配置管理和离线安装。

原node节点haproxy 由仅四层转发的nginx替代(kube-lb),负责集群内部负载均衡apiservers;简化部署逻辑,现在每个节点均会运行一个轻量kube-lb进程。

原ex-lb组件keepalived+haproxy由 keepalived+l4lb替代,l4lb同样是仅支持四层转发的nginx源码编译的。

修改有条件使用systemd cgroup driver

当容器运行时选择containerd,或者docker version >= 20.10时,容器运行时和kubelet使用systemd做资源管理和限制,这是官方文档建议的方式,一定程度上能增加稳定性;
当选择docker version < 20.10时,使用cgroupfs;主要因为部分操作系统不支持dockerd使用cgroup=systemd,会提示报错:OCI runtime create failed: systemd cgroup flag passed, but systemd support for managing cgroups is not available: unknown

组件更新

  • k8s: v1.21.0, v1.20.6, v.1.19.10, v1.18.18
  • containerd: v1.4.4 (runc: v1.0.0-rc93)
  • coredns: 1.8.0
  • dns-node-cache: 1.17.0
  • pause: 3.4.1

其他

  • fix:增加/删除节点时ansible hosts文件更新错误
  • fix:kube-scheduler healthz/metrics listening setting
  • fix:restart ex-lb when master nodes change
  • fix:多条默认路由网卡自动识别问题
  • fix:安装aio集群时docker cgroupdriver设置问题
  • fix:add scheme:https to service-account-issuer
  • fix:容器化aio安装时选择containerd运行时失败
  • feat:增加可选配置apiserver安全端口
  • feat:允许修改配置ingress port #999
  • feat:增加支持ubuntu 20.04
  • feat:增加ezctl setup支持传入额外参数 #1007
  • 更新ansible.cfg
  • 更新get-pip.py下载地址 #1006

kubeasz 3.0.1

28 Mar 14:20
Compare
Choose a tag to compare

kubeasz 3.0.1 (Pure Brightness)

清明降至,踏青郊游,祭祖缅怀。kubeasz 3.0.1 版本发布,主要更新点:

技术上通过k8s一致性认证的所有测试项

kubeasz 用户可以确认集群各项功能符合预期,既符合k8s设计标准;下一步会继续走流程正式申请成为官方认证的部署工具;正式PR在此:cncf/k8s-conformance#1326

推荐群里大佬的k8s架构师免费视频课程

作者花很多心思和精力去构思文档、视频录制,并且把工作中的实践经验分享出来;值得参考学习
https://www.toutiao.com/c/user/token/MS4wLjABAAAA0YFomuMNm87NNysXeUsQdI0Tt3gOgz8WG_0B3MzxsmI/?tab=article

更新harbor 安装流程

重写 harbor 安装流程,利用easzlab/harbor-offline:v2.1.3 仓库加速离线安装文件下载,增加可选安装组件。

组件更新

  • k8s: v1.20.5, v.1.19.9, v1.18.17
  • docker: 20.10.5
  • dashboard: v2.2.0
  • harbor: v2.1.3

集群安装

  • 修复默认集群内部dns域名后缀
  • 调整etcd集群配置参数
  • 更新kube-scheduler部署使用配置文件 kube-scheduler-config.yaml
  • 更新集群存储插件 nfs-provisioner
  • 修复安装外部负载均衡服务 ./ezctl setup ${集群名} ex-lb
  • 修复清理LB(haproxy/keepalived)服务可能报错问题
  • 修复worker节点安装时无法推送dnscache镜像

kubeasz 3.0.0

01 Feb 15:16
Compare
Choose a tag to compare

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

文档

  • 大量文档更新(部分未完成)

kubeasz 2.2.4

24 Jan 02:51
Compare
Choose a tag to compare

kubeasz-2.2.4 发布说明

CHANGELOG:

  • 组件更新
    • k8s: v1.20.2
    • kube-ovn: 1.5.3
  • 集群安装
    • fix: 删除etcd节点hosts文件不更新
    • fix: ubuntu 20.04安装集群dns问题 #970
    • fix: kube-proxy的metrics绑定非本地环回,支持prometheus 指标拉取 #971
    • fix: 清理脚本容器目录无法删除问题
    • minor fix: calico离线镜像下载
    • fix: calico 网络 backend 设置为 vxlan none 时,calico 部署失败 #959
    • fix: 单机安装报错"/etc/ansible/bin"不是目录 #957
    • 更新traefik v2安装方式 #955
  • 文档
    • KubeSphere guide updated #968

kubeasz 2.2.3

19 Dec 15:07
Compare
Choose a tag to compare

kubeasz-2.2.3 发布说明

CHANGELOG:

  • 组件更新
    • k8s: v1.20.1, v1.19.6, v1.18.14, v1.17.16
    • containerd v1.4.3
    • docker: 19.03.14
    • calico v3.15.3
    • dashboard: v2.1.0
  • 集群安装
    • 更新支持containerd 1.4.3
    • 修改etcd启动参数auto-compaction-mode=periodic #951 by lushenle
    • 修改docker默认开启live-restore功能
  • 工具脚本
    • easzup: 移除下载containerd代码,已合并在镜像easzlab/kubeasz-ext-bin:0.8.1 中
    • start-aio: 增加懒人一键下载并启动aio集群脚本 ./start-aio ${kubeasz_version}
  • 文档
    • 少量文档更新

kubeasz 2.2.2

19 Nov 15:57
Compare
Choose a tag to compare

kubeasz-2.2.2 发布说明

CHANGELOG:

  • 组件更新
    • k8s: v1.19.4, v1.18.12, v1.17.14
    • docker: 19.03.13
    • etcd: v3.4.13
    • coredns: v1.7.1
    • cni-plugins: v0.8.7
    • flannel: v0.13.0-amd64
    • dashboard: v2.0.4
  • 集群安装
    • 替换apiserver参数--basic-auth-file为--token-auth-file
    • kubelet启动参数修改for debian 10 #912
    • 修复debian 10 默认iptables问题 #909
    • roles/calico/defaults/main.yaml 增加 CALICO_NETWORKING_BACKEND 变量 #895
  • 工具脚本
    • easzup: 调整部分下载脚本, 增加下载containerd #918
  • 文档
    • Update kuboard.md #861
  • 其他