日前,KubeKey v3.1 正式發佈。該版本主要對離線場景部署、離線包製作以及向 Kubernetes v1.24+ 升級進行了優化。
KubeKey 簡介
KubeKey 是 KubeSphere 社區開源的一款高效集羣部署工具,運行時默認使用 Docker,也可對接 Containerd、CRI-O、iSula 等 CRI 運行時,且 ETCD 集羣獨立運行,支持與 K8s 分離部署,提高環境部署靈活性。它提供了一種靈活、快速、便捷的方式來僅安裝 Kubernetes/K3s,或同時安裝 Kubernetes/K3s 和 KubeSphere,以及其他雲原生插件。除此之外,它也是擴展和升級集羣的有效工具。
主要更新變化
支持 Docker 作爲 runtime 部署 Kubernetes v1.24+ 集羣
相關 PR: https://github.com/kubesphere/kubekey/pull/2111
貢獻者:chilianyi
支持 Docker 作爲 runtime 的集羣升級至 v1.24+ 版本
相關 PR: https://github.com/kubesphere/kubekey/pull/2148
貢獻者:pixiake
支持部署開啓 IPV6 協議的集羣
相關 PR: https://github.com/kubesphere/kubekey/pull/2142
貢獻者:wenwenxiong
支持向多級路徑鏡像倉庫中推送鏡像
相關 PR: https://github.com/kubesphere/kubekey/pull/2159
貢獻者:liangzai006
支持按需製作 artifact
相關 PR: https://github.com/kubesphere/kubekey/pull/2161
貢獻者:ImitationImmortal
支持自定義 Kubernetes 版本生成 manifest
相關 PR: https://github.com/kubesphere/kubekey/pull/2204
貢獻者:liangzai006
優化 etcd 部署管理邏輯,支持 etcd 升級
相關 PR: https://github.com/kubesphere/kubekey/pull/2200
貢獻者:pixiake
更多詳情見 GitHub Release:
- https://github.com/kubesphere/kubekey/releases/tag/v3.1.0
- https://github.com/kubesphere/kubekey/releases/tag/v3.1.1
獲取最新版本 KubeKey
curl -sfL https://get-kk.kubesphere.io | sh -
新增功能介紹
自定義製作 Kubernetes 離線包
老版本中使用 KubeKey 創建 manifests 文件需依賴已存在的集羣,使用新版本 KubeKey 可以直接指定 kubernetes 版本及 arch 創建 manifests 文件。
# 示例:創建包含 kubernetes v1.24.17,v1.25.16,且 cpu 架構爲 amd64、arm64 的 manifests 文件。
./kk create manifest --with-kubernetes v1.24.17,v1.25.16 --arch amd64 --arch arm64
# 以下爲新創建的 manifest-sample.yaml, 可根據離線部署需求,自定義添加或刪除鏡像。自定義對 manifests 文件調整後執行 ./kk artifact export -m manifest-sample.yaml 製作離線包。
---
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Manifest
metadata:
name: sample
spec:
arches:
- amd64
- arm64
operatingSystems:
- arch: amd64
type: linux
id: ubuntu
version: "20.04"
osImage: Ubuntu 20.04.6 LTS
repository:
iso:
localPath:
url:
kubernetesDistributions:
- type: kubernetes
version: v1.24.17
- type: kubernetes
version: v1.25.16
components:
helm:
version: v3.14.3
cni:
version: v1.2.0
etcd:
version: v3.5.13
containerRuntimes:
- type: docker
version: 24.0.9
- type: containerd
version: 1.7.13
calicoctl:
version: v3.27.3
crictl:
version: v1.29.0
images:
- docker.io/kubesphere/pause:3.7
- docker.io/kubesphere/kube-apiserver:v1.24.17
- docker.io/kubesphere/kube-controller-manager:v1.24.17
- docker.io/kubesphere/kube-scheduler:v1.24.17
- docker.io/kubesphere/kube-proxy:v1.24.17
- docker.io/coredns/coredns:1.8.6
- docker.io/kubesphere/k8s-dns-node-cache:1.22.20
- docker.io/calico/kube-controllers:v3.27.3
- docker.io/calico/cni:v3.27.3
- docker.io/calico/node:v3.27.3
- docker.io/calico/pod2daemon-flexvol:v3.27.3
- docker.io/calico/typha:v3.27.3
- docker.io/flannel/flannel:v0.21.3
- docker.io/flannel/flannel-cni-plugin:v1.1.2
- docker.io/cilium/cilium:v1.15.3
- docker.io/cilium/operator-generic:v1.15.3
- docker.io/hybridnetdev/hybridnet:v0.8.6
- docker.io/kubeovn/kube-ovn:v1.10.10
- docker.io/kubesphere/multus-cni:v3.8
- docker.io/openebs/provisioner-localpv:3.3.0
- docker.io/openebs/linux-utils:3.3.0
- docker.io/library/haproxy:2.9.6-alpine
- docker.io/plndr/kube-vip:v0.7.2
- docker.io/kubesphere/kata-deploy:stable
- docker.io/kubesphere/node-feature-discovery:v0.10.0
- docker.io/kubesphere/pause:3.8
- docker.io/kubesphere/kube-apiserver:v1.25.16
- docker.io/kubesphere/kube-controller-manager:v1.25.16
- docker.io/kubesphere/kube-scheduler:v1.25.16
- docker.io/kubesphere/kube-proxy:v1.25.16
- docker.io/coredns/coredns:1.9.3
registry:
auths: {}
致謝
以下是參與 KubeKey v3.1 代碼與文檔貢獻的貢獻者 GitHub ID,若此名單有遺漏請您與我們聯繫,排名不分先後。
- pixiake
- liangzai006
- hellocn9
- samt42
- chilianyi
- deqingLv
- liuxu623
- wenwenxiong
- zliang90
- yzxiu
- vicoooo26
- qyz87
- wenwutang1
- ImitationImmortal
- xrwang8
- baikjy0215
再次感謝您的貢獻!
本文由博客一文多發平臺 OpenWrite 發佈!