日前,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 釋出!