diff --git a/README.md b/README.md index 2fef6c76a..90f11003f 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,8 @@ **kubeasz** 从每一个单独部件组装到完整的集群,提供最灵活的配置能力,几乎可以设置任何组件的任何参数;同时又为集群创建预置一套运行良好的默认配置,甚至自动化创建适合大规模集群的[BGP Route Reflector网络模式](docs/setup/network-plugin/calico-bgp-rr.md)。 - **集群特性** [Master高可用](docs/setup/00-planning_and_overall_intro.md#ha-architecture)、[离线安装](docs/setup/offline_install.md)、[多架构支持(amd64/arm64)](docs/setup/multi_platform.md) -- **集群版本** kubernetes v1.22, v1.23, v1.24, v1.25, v1.26 -- **操作系统** CentOS/RedHat 7/8, Debian 9/10, Ubuntu 16.04/18.04/20.04/22.04 -- **运行时** [containerd](docs/setup/03-container_runtime.md) v1.6.x, docker 20.10.x (k8s < 1.24) +- **集群版本** kubernetes v1.24, v1.25, v1.26, v1.27 +- **运行时** [containerd](docs/setup/03-container_runtime.md) v1.6.x - **网络** [calico](docs/setup/network-plugin/calico.md), [cilium](docs/setup/network-plugin/cilium.md), [flannel](docs/setup/network-plugin/flannel.md), [kube-ovn](docs/setup/network-plugin/kube-ovn.md), [kube-router](docs/setup/network-plugin/kube-router.md) @@ -19,25 +18,37 @@ Kubernetes version - 1.22 - 1.23 1.24 1.25 1.26 + 1.27 kubeasz version - 3.1.1 - 3.2.0 - 3.3.4 - 3.4.5 - 3.5.2 + 3.3.5 + 3.4.6 + 3.5.3 + 3.6.0 +## 支持系统 + +- **Alibaba Linux** 2.1903, 3.2104([notes](docs/setup/multi_os.md#Alibaba)) +- **Alma Linux** 8, 9 +- **Anolis OS** 8.x RHCK, 8.x ANCK([notes](docs/setup/multi_os.md#Anolis)) +- **CentOS/RHEL** 7, 8, 9 +- **Debian** 10, 11([notes](docs/setup/multi_os.md#Debian)) +- **Fedora** 34, 35, 36, 37 +- **openSUSE** Leap 15.x([notes](docs/setup/multi_os.md#openSUSE)) +- **Rocky Linux** 8, 9 +- **Ubuntu** 16.04, 18.04, 20.04, 22.04 + +能够支持大部分使用systemd的linux发行版,如果安装有问题先请查看[文档](docs/setup/multi_os.md);如果某个能够支持安装的系统没有在列表中,欢迎提PR 告知。 + ## 快速指南 单机快速体验k8s集群的测试环境--[AllinOne部署](docs/setup/quickStart.md) diff --git a/docs/mixes/conformance.md b/docs/mixes/conformance.md index 483e4a5ea..8f98ad517 100644 --- a/docs/mixes/conformance.md +++ b/docs/mixes/conformance.md @@ -8,6 +8,8 @@ Cheers! 自kubeasz 3.0.0 版本,k8s v1.20.2开始,正式通过cncf一致性认证,成为cncf 官方认证安装工具;后续k8s主要版本发布或者kubeasz有大版本更新,会优先确保通过集群一致性认证。 +- v1.27 [进行中]() +- v1.26 [已认证](https://github.com/cncf/k8s-conformance/tree/master/v1.26/kubeasz) - v1.25 [已认证](https://github.com/cncf/k8s-conformance/tree/master/v1.25/kubeasz) - v1.24 [已认证](https://github.com/cncf/k8s-conformance/tree/master/v1.24/kubeasz) - v1.23 [已认证](https://github.com/cncf/k8s-conformance/tree/master/v1.23/kubeasz) diff --git a/docs/release-notes/kubeasz-3.0.0.md b/docs/release-notes/kubeasz-3.0.0.md deleted file mode 100644 index 69f40cbdd..000000000 --- a/docs/release-notes/kubeasz-3.0.0.md +++ /dev/null @@ -1,60 +0,0 @@ -## 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 - -### 文档 - -- 大量文档更新(部分未完成) diff --git a/docs/release-notes/kubeasz-3.0.1.md b/docs/release-notes/kubeasz-3.0.1.md deleted file mode 100644 index b31c9094e..000000000 --- a/docs/release-notes/kubeasz-3.0.1.md +++ /dev/null @@ -1,34 +0,0 @@ -## kubeasz-3.0.1 (Pure Brightness) - -清明降至,踏青郊游,祭祖缅怀。kubeasz 3.0.1 版本发布,主要更新点: - -### 技术上通过k8s一致性认证的所有测试项 - -kubeasz 用户可以确认集群各项功能符合预期,既符合k8s设计标准;下一步会继续走流程正式申请成为官方认证的部署工具;正式PR在此:https://github.com/cncf/k8s-conformance/pull/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镜像 diff --git a/docs/release-notes/kubeasz-3.1.0.md b/docs/release-notes/kubeasz-3.1.0.md deleted file mode 100644 index 3d86e7e8e..000000000 --- a/docs/release-notes/kubeasz-3.1.0.md +++ /dev/null @@ -1,52 +0,0 @@ -## kubeasz-3.1.0 (Grain Rain) - -春归谷雨,夏至未至。kubeasz 3.1.0 版本发布,主要更新点: - -### 正式通过k8s一致性认证 - -kubeasz 用户可以确认集群各项功能符合预期,既符合k8s设计标准; - -- v1.20 [已完成](https://github.com/cncf/k8s-conformance/pull/1326) - -### 推荐群里大佬的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 diff --git a/docs/release-notes/kubeasz-3.1.1.md b/docs/release-notes/kubeasz-3.1.1.md deleted file mode 100644 index 8754ec1cb..000000000 --- a/docs/release-notes/kubeasz-3.1.1.md +++ /dev/null @@ -1,35 +0,0 @@ -## kubeasz-3.1.1 (Autumnal Equinox) - -昼夜均,寒暑平,中秋祭月。kubeasz 3.1.1 小版本更新。 - -### 正式通过k8s一致性认证 - -kubeasz 用户可以确认集群各项功能符合预期,既符合k8s设计标准; - -- v1.20 [已完成](https://github.com/cncf/k8s-conformance/pull/1326) -- v1.21 [已完成](https://github.com/cncf/k8s-conformance/pull/1398) -- v1.22 [进行中] - -### 组件更新 - -- 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运行时安装互不影响 diff --git a/docs/release-notes/kubeasz-3.2.0.md b/docs/release-notes/kubeasz-3.2.0.md deleted file mode 100644 index 873f24c3b..000000000 --- a/docs/release-notes/kubeasz-3.2.0.md +++ /dev/null @@ -1,36 +0,0 @@ -## 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模块安装判断等 diff --git a/docs/release-notes/kubeasz-3.3.0.md b/docs/release-notes/kubeasz-3.3.0.md deleted file mode 100644 index 2832119bd..000000000 --- a/docs/release-notes/kubeasz-3.3.0.md +++ /dev/null @@ -1,35 +0,0 @@ -## 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 diff --git a/docs/release-notes/kubeasz-3.3.1.md b/docs/release-notes/kubeasz-3.3.1.md deleted file mode 100644 index 89ae0778c..000000000 --- a/docs/release-notes/kubeasz-3.3.1.md +++ /dev/null @@ -1,37 +0,0 @@ -## 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 检测集群各种网络访问方式是否正常。详解[组件说明](https://github.com/easzlab/kubeasz/blob/master/docs/setup/network-plugin/network-check.md) - -#### 3.更新calico组件支持自动安装calico route reflector - -calico 是最流行的网络组件之一;但是当集群节点达到一定数量后,默认的bgp全互联拓扑会导致每个节点需要维护大量BGP邻居信息;本次更新集成了calico-route-reflector自动安装,建议当节点数大于50时必须开启,详见[文档说明](https://github.com/easzlab/kubeasz/blob/master/docs/setup/network-plugin/calico-bgp-rr.md) - -#### 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`软链接 diff --git a/docs/release-notes/kubeasz-3.4.0.md b/docs/release-notes/kubeasz-3.4.0.md deleted file mode 100644 index 56934b04d..000000000 --- a/docs/release-notes/kubeasz-3.4.0.md +++ /dev/null @@ -1,23 +0,0 @@ -## kubeasz 3.4.0 (White Dew) - -蒹葭苍苍,白露为霜。kubeasz 3.4.0 发布更新支持k8s 1.25 版本。 - -### 组件更新 - -- k8s: v1.25.1 -- containerd: 1.6.8 -- calico: v3.23.3 -- cilium: 1.12.2 -- flannel: v0.19.2 -- kube-prometheus-stack: 39.11.0 -- nodelocaldns: 1.22.8 -- dashboard: v2.6.1 -- pause: 3.8 - -### 其他 - -- fix: custom PATH settings -- 修复calico ipip隧道模式说明错误,并完善可选参数说明以及使用场景 (#1168 by Hello-Linux) -- fix: checking bash shell (#1171 by EamonZhang) -- fix: create etcd certs (#1172 by EamonZhang ) -- fix: ca-config.json format (#1174 by libinglong) diff --git a/docs/release-notes/kubeasz-3.4.1.md b/docs/release-notes/kubeasz-3.4.1.md deleted file mode 100644 index 9b1a3574a..000000000 --- a/docs/release-notes/kubeasz-3.4.1.md +++ /dev/null @@ -1,39 +0,0 @@ -## kubeasz 3.4.1 (Frost's Descent) - -霜降水返壑,风落木归山。冉冉岁将宴,物皆复本源。kubeasz 3.4.1 发布更新支持多架构平台(amd64/arm64) - -### 1.更新多架构支持 - -当前已支持linux amd64和linux arm64,更多架构支持根据后续需求来计划。 - -目前多架构安装逻辑:根据部署机器(执行ezdown/ezctl命令的机器)的架构,会自动判断下载对应amd64/arm64的二进制文件和容器镜像,然后推送安装到整个集群。 - -- 暂不支持不同架构的机器加入到同一个集群。 -- harbor目前仅支持amd64安装 - -### 2.重写项目依赖组件的镜像构建流程,利用github-action自动构建、推送多架构的镜像 - -k8s核心组件本身提供多架构的二进制文件/容器镜像下载,项目调整了下载二进制文件的容器dockerfile - -- https://github.com/easzlab/dockerfile-kubeasz-k8s-bin - -kubeasz其他用到的二进制或镜像,重新调整了容器创建dockerfile - -- https://github.com/easzlab/dockerfile-kubeasz-ext-bin -- https://github.com/easzlab/dockerfile-kubeasz-ext-build -- https://github.com/easzlab/dockerfile-kubeasz-sys-pkg -- https://github.com/easzlab/dockerfile-kubeasz-mirrored-images -- https://github.com/easzlab/dockerfile-kubeasz -- https://github.com/easzlab/dockerfile-ansible - -### 3.去除master/node节点上的admin kubeconfig文件,这个文件拥有全部集群权限,需要谨慎保管,目前仅部署机器上保留,可以自行按需管理使用。 - -### 组件更新 - -- k8s: v1.25.3 - -### 其他 - -- fix: curl dns resolving problem in a rare case (#ab9603d509900919) -- cleaning some images/pics -- fix: logo url diff --git a/docs/release-notes/kubeasz-3.4.2.md b/docs/release-notes/kubeasz-3.4.2.md deleted file mode 100644 index d529d8cde..000000000 --- a/docs/release-notes/kubeasz-3.4.2.md +++ /dev/null @@ -1,33 +0,0 @@ -## kubeasz 3.4.2 (Great Snow) - -晚来天欲雪,能饮一杯无。kubeasz 3.4.2 发布,小版本更新以及一些bugfix。 - -### 小版本更新 - -- k8s: v1.25.4 -- etcd: v3.5.5 - -### 更新国内容器镜像站 - -mirrors.ustc.edu.cn 站点已经停止服务,当前替换为docker.nju.edu.cn,提升国内网络环境下载国外容器镜像的速度。 - -### 新增命令强制更新集群CA及其他证书 - -此命令使用需要小心谨慎,确保了解功能背景和可能的结果;执行后,它会重新创建集群CA证书以及由它颁发的所有其他证书;一般适合于集群admin.conf不小心泄露,为了避免集群被非法访问,重新创建CA,从而使已泄漏的admin.conf失效。更新过程中会中断集群服务,详见 docs/op/force_ch_certs.md 使用说明。 - -### 新增机器人清理过期的issue - -### 优化etcd 备份和恢复流程,by itswl (#1191 #1193) - -### 修复默认配置的 Kubernetes CA 证书 by ffutop (#1197) - -### 调整cluster-addon 组件安装流程 - -### 其他 - -- fix:系统架构判断,replace 'uname -p(non-portable)' to 'uname -m' -- fix:/var/lib/etcd单独分区时,删除集群报"Device or resource busy"错误 #1159 -- fix:更新 roles/kube-master/main.yml 修改证书时复制新证书到Master节点 by liyu36 (#1186) -- fix:kube-apiserver 访问 kubelet的权限 -- fix:shell加载环境变量 by itswl (#1202 #1203) -- fix:离线安装系统软件包 (38925ccc56134e4d007fec2a71691828dd15e9d5) diff --git a/docs/release-notes/kubeasz-3.6.0.md b/docs/release-notes/kubeasz-3.6.0.md new file mode 100644 index 000000000..1a762304a --- /dev/null +++ b/docs/release-notes/kubeasz-3.6.0.md @@ -0,0 +1,51 @@ +## kubeasz 3.6.0 (Beginning of Summer) + +微雨过,小荷翻。榴花开欲然。kubeasz 3.6.0 发布:支持k8s v1.27版本,支持更多操作系统安装,以及组件更新和一些bugfix。 + +### 版本更新 + +- k8s: v1.27.1 +- cilium: v1.13.2 +- flannel: v0.21.4 +- harbor: v2.6.4 +- metrics-server: v0.6.3 +- k8s-dns-node-cache: 1.22.20 +- kube-prometheus-stack: 45.23.0 + +### 调整项目分支更新规则 + +k8s大版本对应kubeasz特定的大版本号,详见README.md 中版本对照表,当前积极更新的分支如下: + +- master:默认保持与最新分支同步,当前与v3.6同步 +- v3.6:对应k8s v1.27 版本,持续保持更新 +- v3.5:对应k8s v1.26 版本,主要使用cherry-pick方式合并后续版本中的重要commit +- v3.4:对应k8s v1.25 版本,主要使用cherry-pick方式合并后续版本中的重要commit +- v3.3:对应k8s v1.24 版本,主要使用cherry-pick方式合并后续版本中的重要commit + +### 支持更多操作系统安装 + +本次增加测试支持大部分使用systemd的linux发行版,如果安装有问题先请查看(docs/setup/multi_os.md);如果某个能够支持安装的系统没有在列表中,欢迎提PR 告知。 + +- **Alibaba Linux** 2.1903, 3.2104([notes](docs/setup/multi_os.md#Alibaba)) +- **Alma Linux** 8, 9 +- **Anolis OS** 8.x RHCK, 8.x ANCK([notes](docs/setup/multi_os.md#Anolis)) +- **CentOS/RHEL** 7, 8, 9 +- **Debian** 10, 11([notes](docs/setup/multi_os.md#Debian)) +- **Fedora** 34, 35, 36, 37 +- **openSUSE** Leap 15.x([notes](docs/setup/multi_os.md#openSUSE)) +- **Rocky Linux** 8, 9 +- **Ubuntu** 16.04, 18.04, 20.04, 22.04 + +### 重要更新 + +- 重写`ezdown`脚本支持下载多系统软件包部分 +- 重写`role:prepare`支持离线安装多系统软件包部分 +- 简化harbor安装后集成使用,目前在containerd容器运行时中额外配置允许insecure仓库方式 +- 修复pod挂载 hostpath volume,删除pod会卡住问题 (#1259) by itswl +- 增加设置limits for pids #1265 by AsonZhang + +### 其他 + +- 增加项目`ISSUE`模版 +- 修复chronyd 服务可能出现 enable失败问题 (#1254) by Roach57 +- 增加ezctl setup脚本执行时打印版本信息 diff --git a/docs/setup/offline_install.md b/docs/setup/offline_install.md index 884b21c04..b20be611b 100644 --- a/docs/setup/offline_install.md +++ b/docs/setup/offline_install.md @@ -1,15 +1,20 @@ # 离线安装集群 -kubeasz 2.0.1 开始支持**完全离线安装**,目前已支持 `Ubuntu1604|1804|2004` `CentOS7` `Debian9|10` 系统。 +使用kubeasz 离线安装 k8s集群需要下载四个部分: + +- kubeasz 项目代码 +- 二进制文件(k8s、etcd、containerd等组件) +- 容器镜像文件(calico、coredns、metrics-server等容器镜像) +- 系统软件安装包(ipset、libseccomp2等,仅无法使用本地yum/apt源时需要) ## 离线文件准备 在一台能够访问互联网的服务器上执行: -- 下载工具脚本ezdown,举例使用kubeasz版本3.3.1 +- 下载工具脚本ezdown,举例使用kubeasz版本3.6.0 ``` bash -export release=3.3.1 +export release=3.6.0 wget https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown chmod +x ./ezdown ``` @@ -23,7 +28,7 @@ chmod +x ./ezdown ./ezdown -D ``` -下载额外容器镜像(cilium,flannel,prometheus等) +[可选]如果需要更多组件,请下载额外容器镜像(cilium,flannel,prometheus等) ``` bash ./ezdown -X @@ -32,7 +37,8 @@ chmod +x ./ezdown 下载离线系统包 (适用于无法使用yum/apt仓库情形) ``` bash -./ezdown -P +# 如果操作系统是ubuntu 22.04 +./ezdown -P ubuntu_22 ``` 上述脚本运行成功后,所有文件(kubeasz代码、二进制、离线镜像)均已整理好放入目录`/etc/kubeasz` @@ -59,7 +65,7 @@ chmod +x ./ezdown ./ezdown -S ``` -- 设置参数允许离线安装 +- 设置参数允许离线安装系统软件包 ``` sed -i 's/^INSTALL_SOURCE.*$/INSTALL_SOURCE: "offline"/g' /etc/kubeasz/example/config.yml @@ -67,8 +73,10 @@ sed -i 's/^INSTALL_SOURCE.*$/INSTALL_SOURCE: "offline"/g' /etc/kubeasz/example/c - 举例安装单节点集群,参考 https://github.com/easzlab/kubeasz/blob/master/docs/setup/quickStart.md -``` -docker exec -it kubeasz ezctl start-aio +``` bash +source ~/.bashrc +dk ezctl start-aio +# 或者执行 docker exec -it kubeasz ezctl start-aio ``` - 多节点集群,进入kubeasz 容器内 `docker exec -it kubeasz bash`,参考https://github.com/easzlab/kubeasz/blob/master/docs/setup/00-planning_and_overall_intro.md 进行集群规划和设置后使用./ezctl 命令安装 diff --git a/ezdown b/ezdown index 4f013bb3e..7e51ca7c8 100755 --- a/ezdown +++ b/ezdown @@ -14,8 +14,8 @@ set -o pipefail # default settings, can be overridden by cmd line options, see usage DOCKER_VER=20.10.24 -KUBEASZ_VER=3.5.3 -K8S_BIN_VER=v1.26.4 +KUBEASZ_VER=3.6.0 +K8S_BIN_VER=v1.27.1 EXT_BIN_VER=1.7.1 SYS_PKG_VER=1.0.0 HARBOR_VER=v2.6.4