# KubeClipper 1.5.0 发布：全新工作负载界面与 Kubernetes 1.35 支持


![kubeclipper-release-1.5.0.jpeg](https://img.lixueduan.com/kubernetes/cover/kubeclipper-release-1.5.0.jpeg)

最近，KubeClipper 正式发布了 1.5.0 版本。这次更新带来了多项重要改进，其中最引人注目的是新增的工作负载管理界面，用户现在可以直接在 Web UI 中管理 Deployment、StatefulSet 等 Kubernetes 工作负载。同时，该版本还升级了对 Kubernetes 及其组件的支持，并修复了大量 bug，提升了平台的稳定性和用户体验。

KubeClipper 是一个轻量便捷的 Kubernetes 多集群全生命周期管理工具，旨在提供易使用、易运维、极轻量、生产级的 Kubernetes 多集群管理服务，让运维工程师从繁复的配置和晦涩的命令行中解放出来，实现一站式管理跨区域、跨基础设施的多 K8S 集群。

## 🚀 5分钟快速体验

如果你是第一次接触 KubeClipper，可以通过以下步骤快速上手：

1. **一键安装工具**：`curl -sfL https://oss.kubeclipper.io/get-kubeclipper.sh | KC_REGION=cn bash -`
2. **部署服务**：`kcctl deploy`
3. **创建集群**：`kcctl create cluster --name demo --master YOUR_IP --untaint-master`
4. **访问界面**：浏览器访问 `http://YOUR_IP:8080`，账号 `admin/Thinkbig1`

全程只需5-10分钟，就能拥有一个功能完整的 Kubernetes 环境！

<!--more-->

## 1. KubeClipper 1.5.0 新特性详解

相比于之前的版本，1.5.0 在易用性和功能性方面都有显著提升。最大的变化是新版增加了对 k8s 1.35.0 的支持，另外新增的工作负载管理功能让用户可以完全摆脱命令行操作。

**KubeClipper 的核心优势：**

- ✅ **易使用**：提供 Web 控制台，通过点点鼠标即可创建和管理 k8s 集群
- ✅ **极轻量**：架构简单，不依赖 Ansible，部署方便快捷
- ✅ **生产级**：支持在线、离线、代理方式部署，提供多版本 K8S、CRI、CNI 选择
- ✅ **离线友好**：提供离线部署方式，对国内用户极为友好

**本次更新的主要亮点：**

- 🆕 **工作负载 UI 管理**：直接在 Web 界面管理 K8s 工作负载
- 🔄 **版本升级**：Kubernetes 版本更新至 1.35
- 🛠️ **技术改进**：Go 版本升级、大量依赖库更新、CI/CD 优化
- 🔧 **稳定性提升**：节点健康检查、系统服务管理、竞态条件修复
- 🔒 **安全性增强**：镜像仓库认证、TLS 配置优化、权限管理改进
- 🐛 **Bug 修复**：大量稳定性改进和问题修复


### 1.1 工作负载管理界面

这是 1.5.0 版本最重要的新功能。之前用户需要通过命令行或第三方工具管理 Kubernetes 工作负载，现在可以直接在 KubeClipper 的 Web UI 中进行可视化操作：

- **Workload 管理**：创建、编辑、扩缩容、滚动更新
- **实时状态查看**：Pod 状态、事件日志查看
- **一键操作**：重启、回滚、删除等常用操作

### 1.2 组件版本升级

1.5.0版本全面升级了支持的组件版本：

- **Kubernetes**: 支持最新 v1.35 版本
- **CNI 插件**: Calico v1.29.6
- **容器运行时**: containerd 1.7.29
- **开发工具**: Go 语言版本从 1.19 升级到 1.23
- **其他组件**: 同步更新到最新兼容版本

### 1.3 技术改进和 Bug 修复

1.5.0版本包含了大量的技术改进和稳定性提升：

#### 核心功能改进
- **Kubernetes**: 支持最新 v1.35 版本，Calico、Containerd 同步更新
- **容器运行时优化**：修复 SystemdCgroup 配置，改进 containerd 兼容性
- **证书管理**：延长证书有效期至 10 年，避免重复处理证书到期问题

#### 稳定性提升
- **节点健康检查**：使用 kube clientset 检查节点和集群健康状况
- **错误处理优化**：改进命令执行失败时的标准错误输出
- **系统服务管理**：新增 systemctl 工具类，应用于容器运行时和 kubelet
- **竞态条件修复**：解决集群部署和节点添加过程中的并发问题

#### 安全性增强
- **镜像仓库认证**：支持 CRI registry 认证功能
- **TLS 配置**：改进证书生成和验证机制
- **权限管理**：优化 kubeconfig 文件生成逻辑

#### 开发工具链升级
- **Go 版本升级**：从 1.19 升级到 1.23
- **依赖库更新**：大量第三方库版本升级，包括安全补丁
- **CI/CD 优化**：新增代码格式化检查和构建检查

## 2. 安装部署 KubeClipper 1.5.0

### 2.1 环境要求

在开始安装之前，确保满足以下要求：

- **操作系统**: CentOS 7+/Ubuntu 18.04+
- **内核版本**: 4.4+
- **内存**: 至少4GB RAM
- **存储**: 至少 20GB 可用空间
- **网络**: 节点间网络互通

### 2.2 安装 kcctl 工具

```bash
# 下载最新版本的 kcctl
curl -sfL https://oss.kubeclipper.io/get-kubeclipper.sh | KC_REGION=cn bash -

# 验证安装
kcctl version
```

正常输出如下：
```bash
root@lixd-dev-1:~# kcctl version
kcctl version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.0", GitCommit:"0930af19ab9bddd4883f7a46ac91e67335fc1978", GitTreeState:"clean", BuildDate:"2026-02-26T05:25:31Z", GoVersion:"go1.23.0", Compiler:"gc", Platform:"linux/amd64"}
```

### 2.3 部署 KubeClipper

```bash
# 对于 aio 环境使用 kcctl deploy 即可完成部署
kcctl deploy

# 更多参数参考 kcctl deploy -h
# kcctl deploy --server $IPADDR_SERVER --agent $IPADDR_AGENT --pk-file /root/.ssh/id_rsa --pkg $PKG --ip-detect=interface=ens3 --v 5 
```

在打印出如下的 KubeClipper banner 后即表示安装完成。

```
 _   __      _          _____ _ _
| | / /     | |        /  __ \ (_)
| |/ / _   _| |__   ___| /  \/ |_ _ __  _ __   ___ _ __
|    \| | | | '_ \ / _ \ |   | | | '_ \| '_ \ / _ \ '__|
| |\  \ |_| | |_) |  __/ \__/\ | | |_) | |_) |  __/ |
\_| \_/\__,_|_.__/ \___|\____/_|_| .__/| .__/ \___|_|
                                 | |   | |
                                 |_|   |_|
```

> 安装过程中需要去阿里云下载离线安装包，大概 1 分钟即可下载完成。


### 2.4 访问 Web UI

安装完成后，打开浏览器，访问 `http://$IP` 即可进入 KubeClipper 控制台。

![kc-console-login.jpg](https://img.lixueduan.com/kubernetes/kubeclipper/kc-console-login.jpg)

您可以使用默认帐号密码 `admin / Thinkbig1` 进行登录。

## 3. 快速上手体验

### 3.1 创建 K8s 集群

部署成功后可以使用 **kcctl 工具**或者通过**控制台**创建 k8s 集群， 这里咱们使用 kcctl 工具进行创建。

查看当前 agent 节点

```bash
root@lixd-dev-1:~# kcctl get node
+--------------------------------------+------------------------+---------+----------------+-------------+-----+--------+
|                  ID                  |        HOSTNAME        | REGION  |       IP       |   OS/ARCH   | CPU |  MEM   |
+--------------------------------------+------------------------+---------+----------------+-------------+-----+--------+
| bf989745-73c7-4582-ab3a-f8f6c96b9ae7 | lixd-dev-1.taiko.local | default | 172.16.131.134 | linux/amd64 |   4 | 7937Mi |
+--------------------------------------+------------------------+---------+----------------+-------------+-----+--------+
```

然后使用以下命令创建 k8s 集群:

```bash
# 其中 IP 为上一步中的 server1 节点 IP
root@lixd-dev-1:~# kcctl create cluster --name demo --master 172.16.131.134 --untaint-master
[2026-03-02T06:33:45Z][INFO] use default containerd version 1.7.29
[2026-03-02T06:33:45Z][INFO] use default calico version v3.29.6
[2026-03-02T06:33:45Z][INFO] use default k8s version v1.35.0
+------+---------+--------------+--------------+------------+----------------------------+-------------------------------+
| NAME | REGION  | MASTER COUNT | WORKER COUNT |   STATUS   | APISERVER CERTS EXPIRATION |       CREATE TIMESTAMP        |
+------+---------+--------------+--------------+------------+----------------------------+-------------------------------+
| demo | default |            1 |            0 | Installing |                            | 2026-03-02 06:33:45 +0000 UTC |
+------+---------+--------------+--------------+------------+----------------------------+-------------------------------+
```

大概两分钟左右即可完成集群创建,可以使用以下命令查看实时日志：

```bash
root@lixd-dev-1:~# kcctl get operation --selector kubeclipper.io/cluster=demo
+--------------------------------------+---------+---------------+------------+---------------------+-------+
|                  ID                  | CLUSTER |     NAME      |   STATUS   |     CREATED AT      | STEPS |
+--------------------------------------+---------+---------------+------------+---------------------+-------+
| 118e57ec-c467-4e11-8436-2813ec9e3b51 | demo    | CreateCluster | successful | 2026-03-02 06:33:45 |    14 |
+--------------------------------------+---------+---------------+------------+---------------------+-------+

root@lixd-dev-1:~# kcctl logs 118e57ec-c467-4e11-8436-2813ec9e3b51 --summary --follow

===== Step: [2026-03-02 06:33:45] installRuntime (fd8ff5bb-dae1-481f-93a4-bfaeea44b402) [successful]
  Node: lixd-dev-1.taiko.local (172.16.131.134) bf989745-73c7-4582-ab3a-f8f6c96b9ae7 [successful] [4s]

===== Step: [2026-03-02 06:33:49] nodeEnvSetup (355a75de-6e39-44f0-b33b-05067c42e479) [successful]
  Node: lixd-dev-1.taiko.local (172.16.131.134) bf989745-73c7-4582-ab3a-f8f6c96b9ae7 [successful] [1s]

===== Step: [2026-03-02 06:33:49] installExtension (33bba175-5589-4ef6-889a-b99df53c4a6b) [successful]
  Node: lixd-dev-1.taiko.local (172.16.131.134) bf989745-73c7-4582-ab3a-f8f6c96b9ae7 [successful] [34s]

===== Step: [2026-03-02 06:34:23] installPackages (444027ce-66b3-4df6-8435-816bb8985bc7) [successful]
  Node: lixd-dev-1.taiko.local (172.16.131.134) bf989745-73c7-4582-ab3a-f8f6c96b9ae7 [successful] [41s]

===== Step: [2026-03-02 06:35:04] renderKubeadmConfig (d59b27e1-fdd6-4e02-8c63-4e21ee2c2d3d) [successful]
  Node: lixd-dev-1.taiko.local (172.16.131.134) bf989745-73c7-4582-ab3a-f8f6c96b9ae7 [successful] [1s]

===== Step: [2026-03-02 06:35:04] initControlPlane (d7b8db58-9169-420f-b1da-7a4cb80c1dc9) [successful]
  Node: lixd-dev-1.taiko.local (172.16.131.134) bf989745-73c7-4582-ab3a-f8f6c96b9ae7 [successful] [14s]

===== Step: [2026-03-02 06:35:18] cniImageLoader (0b3d3c34-80df-4b36-ac2c-6f007d11d681) [successful]
  Node: lixd-dev-1.taiko.local (172.16.131.134) bf989745-73c7-4582-ab3a-f8f6c96b9ae7 [successful] [44s]

....
```

或者使用以下命令查看集群状态

```bash
kcctl get cluster -o yaml|grep status -A5
```

> 也可以进入控制台查看**实时日志**。

进入 Running 状态即表示集群安装完成,您可以使用 `kubectl` 命令来查看集群健康状况。

```bash
root@lixd-dev-1:~# kubectl get cs
NAME                 STATUS    MESSAGE   ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-0               Healthy   ok
root@lixd-dev-1:~# kubectl get node
NAME                     STATUS   ROLES           AGE     VERSION
lixd-dev-1.taiko.local   Ready    control-plane   2m55s   v1.35.0
```

至此，我们的单节点版本就算是结束了，通过几条命令就快速创建出来一个 K8s 集群。


### 3.2 工作负载体验

### 进入工作负载界面
登录 Web UI 后，在集群管理界面，点击展开集群后的更多按钮，然后点击 **工作负载** 按钮跳转到工作负载界面：
![kc-console-workload1.png](https://img.lixueduan.com/kubernetes/kubeclipper/kc-console-workload1.png)

###  工作负载界面展示

集群节点信息
![kc-console-workload2.png](https://img.lixueduan.com/kubernetes/kubeclipper/kc-console-workload2.png)

Deployment 管理：
![kc-console-workload3.png](https://img.lixueduan.com/kubernetes/kubeclipper/kc-console-workload3.png)

更多功能就留给大家自行探索了~

## 4. 小结

KubeClipper 1.5.0 版本的发布标志着该项目在易用性、功能性和技术成熟度方面都达到了新的高度。作为一次重要的里程碑更新，1.5.0 不仅在用户体验上实现了质的飞跃，更在技术架构上为未来的发展奠定了坚实基础。

**技术深度升级：**

- ✅ **现代化技术栈**: Go 1.23 升级，依赖库全面更新，确保长期维护性
- ✅ **广泛版本支持**: 支持最新的 Kubernetes v1.35，满足不同环境需求
- ✅ **生产级稳定性**: 完善的健康检查、错误处理和系统服务管理
- ✅ **安全性增强**: 镜像仓库认证、TLS 优化等多层次安全防护

**用户体验提升：**

- ✅ **简化操作**: 工作负载 UI 管理，图形化界面降低学习成本
- ✅ **全面兼容**: 支持最新的 Kubernetes 生态系统和组件
- ✅ **稳定可靠**: 经过充分测试的生产级稳定性
- ✅ **开源免费**: 完全开源，社区活跃

对于正在寻找简单易用的 Kubernetes 管理平台的团队来说，KubeClipper 1.5.0 无疑是一个值得尝试的选择。无论是初学者还是经验丰富的运维人员，都能从这个版本中找到适合自己的价值点。

**相关链接：**
- [KubeClipper GitHub 仓库](https://github.com/kubeclipper/kubeclipper)
- [官方文档](https://kubeclipper.io/docs/)
- [Release Notes](https://github.com/kubeclipper/kubeclipper/releases/tag/v1.5.0)

---

> 作者: [意琦行](https://github.com/lixd)  
> URL: https://www.lixueduan.com/posts/kubernetes/52-kubeclipper-release-1.5.0/  

