<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>KubeClipper – 文档</title><link>https://kubeclipper.io/v1.7/docs/</link><description>Recent content in 文档 on KubeClipper</description><generator>Hugo -- gohugo.io</generator><lastBuildDate>Tue, 29 Nov 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://kubeclipper.io/v1.7/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: 创建集群</title><link>https://kubeclipper.io/v1.7/docs/tutorials/create-clusters/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/tutorials/create-clusters/</guid><description>
&lt;p>创建集群前，确认 KubeClipper 平台可用、节点已注册并就绪、组件资源的版本和架构匹配。建议先完成&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/">快速开始&lt;/a>，验证一条完整的部署路径。&lt;/p>
&lt;h2 id="控制台创建">控制台创建&lt;/h2>
&lt;p>登录控制台，在集群页面创建集群。填写名称，选择控制节点、工作节点及组件版本，再按实际网络规划设置 Pod / Service CIDR。生产集群需提前规划控制平面高可用、API 访问地址和存储；单节点实验配置不能直接用于生产。&lt;/p>
&lt;p>1.7 的推荐组件组合参见&lt;a href="https://kubeclipper.io/v1.7/docs/overview/release-1.7/">版本说明&lt;/a>。资源不在平台中时先&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/make-offline-package/">上传组件包&lt;/a>。私有仓库相关字段参见 &lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/registries/">Registry&lt;/a>；镜像仓库和组件包是两种独立资源。&lt;/p>
&lt;h2 id="cli-创建与验证">CLI 创建与验证&lt;/h2>
&lt;p>&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/carete-k8s-cluster-offline/">离线创建集群&lt;/a>提供带明确版本的 CLI 示例。创建请求提交后，在&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/operations/">Operation&lt;/a>中查看执行结果，并检查集群状态、节点 Ready、系统 Pod 和 Kubernetes API 健康状态。失败时先保留日志并排查，不要通过重置状态跳过失败步骤。&lt;/p></description></item><item><title>Docs: 高可用部署</title><link>https://kubeclipper.io/v1.7/docs/deployment-docs/ha-deploy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/deployment-docs/ha-deploy/</guid><description>
&lt;p>本文部署 KubeClipper 平台的高可用控制面。平台 Server 的高可用与受管 Kubernetes 集群的高可用是两件事，需分别规划。&lt;/p>
&lt;h2 id="准备节点与网络">准备节点与网络&lt;/h2>
&lt;p>准备三个 Linux Server 节点，以及需要纳管的 Agent 节点。部署用户通过同一 SSH 私钥访问所有节点，并具备 sudo 权限。时间同步和端口要求见&lt;a href="https://kubeclipper.io/v1.7/docs/overview/">架构与网络&lt;/a>。&lt;/p>
&lt;p>Server 节点部署平台 etcd，节点数量和故障容忍按 etcd 仲裁要求规划。生产环境建议将平台 Server 与运行 Kubernetes 工作负载的节点分开。&lt;/p>
&lt;h2 id="安装和下载">安装和下载&lt;/h2>
&lt;p>按照&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/">快速开始&lt;/a>安装 v1.7.0 kcctl，下载与目标架构匹配的完整 &lt;code>kc-amd64.tar.gz&lt;/code> 或 &lt;code>kc-arm64.tar.gz&lt;/code> 部署包。不要将 GitHub Release 的客户端二进制包传给 &lt;code>--pkg&lt;/code>。&lt;/p>
&lt;h2 id="部署三个-server-和-agent">部署三个 Server 和 Agent&lt;/h2>
&lt;p>将示例 IP、私钥和部署包路径替换为实际值。&lt;code>--server&lt;/code> 使用逗号分隔地址，&lt;code>--agent&lt;/code> 可按区域填写。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87">read&lt;/span> -r -s -p &lt;span style="color:#4e9a06">&amp;#39;设置 admin 密码: &amp;#39;&lt;/span> KC_ADMIN_PASSWORD
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87">printf&lt;/span> &lt;span style="color:#4e9a06">&amp;#39;\n&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl deploy &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --server 192.168.10.11,192.168.10.12,192.168.10.13 &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --agent default:192.168.10.21,192.168.10.22 &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --user root --pk-file &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$HOME&lt;/span>&lt;span style="color:#4e9a06">/.ssh/id_rsa&amp;#34;&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --pkg &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$PWD&lt;/span>&lt;span style="color:#4e9a06">/kc-amd64.tar.gz&amp;#34;&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --initial-password &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$KC_ADMIN_PASSWORD&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87">unset&lt;/span> KC_ADMIN_PASSWORD
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>保持 TLS 开启。多网卡环境通过 &lt;code>--ip-detect&lt;/code> 与 &lt;code>--node-ip-detect&lt;/code> 显式选择可达地址；可使用 &lt;code>kcctl deploy -h&lt;/code> 核对参数。默认平台 etcd 端口为 12379、12380、12381。&lt;/p>
&lt;h2 id="验证结果">验证结果&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl login --host https://192.168.10.11:8080 --username admin
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl status
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl doctor
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get node
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>检查三个 Server 的服务状态、平台 etcd 成员和 Agent 是否正常。在其他 Server 地址重复检查 API 可达性。需要统一域名或 VIP 时，另行配置入口负载均衡和证书；部署三个 Server 不会自动创建入口 VIP。&lt;/p>
&lt;p>浏览器默认访问各 Server 的 HTTP 80 控制台入口；CLI 使用 HTTPS 8080 API。生产入口应配置 HTTPS，并按实际网络限制管理端口访问。&lt;/p>
&lt;h2 id="添加和移除-agent">添加和移除 Agent&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl join --agent default:192.168.10.23
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get node
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>确认节点没有需要保留的集群和工作负载后，再执行移除：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl drain --agent 192.168.10.23
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>先查看正常 drain 的错误原因，再决定后续处理；不要默认使用强制参数。升级前参见&lt;a href="https://kubeclipper.io/v1.7/docs/deployment-docs/upgrade/">升级检查&lt;/a>。&lt;/p></description></item><item><title>Docs: 集群创建排障</title><link>https://kubeclipper.io/v1.7/docs/faq/kcctl-create-cluster-error/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/faq/kcctl-create-cluster-error/</guid><description>
&lt;p>本页适用于 1.7。旧版 v1.2.1 的 Calico 下载问题及临时处理方法保留在&lt;a href="https://kubeclipper.io/v1.2/docs/faq/kcctl-create-cluster-error/">1.2 历史文档&lt;/a>，不应直接应用于 1.7。&lt;/p>
&lt;h2 id="提交后集群没有就绪">提交后集群没有就绪&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl operation list -c demo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get cluster demo -o yaml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get node
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>继续查看 Operation 详情和日志。请求已接受、Operation 已结束和 Kubernetes 节点就绪需要分别确认。&lt;/p>
&lt;h2 id="离线包或镜像错误">离线包或镜像错误&lt;/h2>
&lt;p>用 &lt;code>kcctl resource list&lt;/code> 核对版本和架构；通过失败步骤日志确认镜像路径、认证和网络。参考&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/carete-k8s-cluster-offline/">离线创建集群&lt;/a>。&lt;/p>
&lt;h2 id="平台或-agent-异常">平台或 Agent 异常&lt;/h2>
&lt;p>运行 &lt;code>kcctl status&lt;/code>、&lt;code>kcctl doctor&lt;/code>，检查 API 入口、服务和 SSH 访问。平台使用的 SSH 凭据应为私钥；不要把公钥路径填入私钥字段。&lt;/p>
&lt;p>排查顺序和日志命令见&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/diagnostics/">平台诊断&lt;/a>；重试和取消见&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/operations/">操作与日志&lt;/a>。&lt;/p></description></item><item><title>Docs: 1.7 发布说明</title><link>https://kubeclipper.io/v1.7/docs/overview/release-1.7/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/overview/release-1.7/</guid><description>
&lt;p>本套文档对应 &lt;strong>KubeClipper v1.7.0&lt;/strong>，发布于 2026 年 9 月 8 日。官方发布记录：&lt;a href="https://github.com/kubeclipper/kubeclipper/releases/tag/v1.7.0">v1.7.0&lt;/a>。&lt;/p>
&lt;h2 id="主要变化">主要变化&lt;/h2>
&lt;ul>
&lt;li>Operation v2 通过 API 管理操作、任务和执行状态，Agent 与 Server 使用 mTLS 通信。&lt;/li>
&lt;li>&lt;code>kcctl operation&lt;/code> 提供操作列表、详情、日志、重试和取消。&lt;/li>
&lt;li>&lt;code>kcctl status&lt;/code> 与 &lt;code>kcctl doctor&lt;/code> 提供平台状态检查和诊断。&lt;/li>
&lt;li>Registry 资源可用于选择 Kubernetes 镜像仓库和配置 containerd 镜像拉取。&lt;/li>
&lt;li>部署预检查给出节点、角色和错误原因；Server 安装前等待平台 etcd 健康。&lt;/li>
&lt;/ul>
&lt;h2 id="组件版本">组件版本&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Kubernetes&lt;/th>
&lt;th>containerd&lt;/th>
&lt;th>Calico&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>v1.37.0&lt;/td>
&lt;td>2.2.4&lt;/td>
&lt;td>v3.31.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v1.36.4&lt;/td>
&lt;td>2.2.4&lt;/td>
&lt;td>v3.31.5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v1.35.8&lt;/td>
&lt;td>2.2.4&lt;/td>
&lt;td>v3.31.5&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>默认 Kubernetes 版本为 v1.37.0。实际可选项以平台组件资源为准；离线环境还需准备对应 CPU 架构的包。版本来源：&lt;a href="https://github.com/kubeclipper/kubeclipper/blob/v1.7.0/README_zh.md#%E6%94%AF%E6%8C%81%E7%9A%84%E7%89%88%E6%9C%AC">v1.7.0 支持矩阵&lt;/a>。&lt;/p>
&lt;h2 id="版本边界">版本边界&lt;/h2>
&lt;p>本文描述 v1.7.0 已发布能力。生产使用前查看 Release、安全公告和所用二进制版本。升级前参考&lt;a href="https://kubeclipper.io/v1.7/docs/deployment-docs/upgrade/">升级检查&lt;/a>。&lt;/p>
&lt;p>版本菜单保留 1.6～1.1 历史文档。&lt;a href="https://kubeclipper.io/v1.6/docs/">1.6 文档&lt;/a>按 v1.6.0 发布标签整理。&lt;/p></description></item><item><title>Docs: 部署 AIO</title><link>https://kubeclipper.io/v1.7/docs/getting-started/aio-env/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/getting-started/aio-env/</guid><description>
&lt;p>All-in-One 将 Server 和 Agent 部署在同一台 Linux 主机上，适合体验和实验。&lt;/p>
&lt;p>完整步骤见&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/">快速开始&lt;/a>：准备主机、安装 v1.7.0 kcctl、下载完整部署包、部署平台并创建实验集群。&lt;/p>
&lt;p>生产环境请先规划独立的 Server 和工作节点，参考&lt;a href="https://kubeclipper.io/v1.7/docs/deployment-docs/ha-deploy/">高可用部署&lt;/a>。&lt;/p></description></item><item><title>Docs: 升级检查</title><link>https://kubeclipper.io/v1.7/docs/deployment-docs/upgrade/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/deployment-docs/upgrade/</guid><description>
&lt;p>平台升级与受管 Kubernetes 集群升级分别处理。本文介绍 KubeClipper 平台升级前后的检查，不承诺任意旧版本都可直接升级到 1.7。&lt;/p>
&lt;h2 id="升级前">升级前&lt;/h2>
&lt;ol>
&lt;li>记录 Server、Agent、kcctl 和 Console 的版本及节点拓扑，确认目标包的 CPU 架构。&lt;/li>
&lt;li>查看目标版本的 Release、安全公告和配置变化。1.7 改用 Operation v2，旧操作记录和任务状态需要在测试环境核对。&lt;/li>
&lt;li>在没有运行中安装、升级、备份等操作的窗口执行。先处理未完成或失败的操作。&lt;/li>
&lt;li>备份平台 etcd、Server/Agent 配置、证书与持久化认证密钥，并验证恢复方法。受管集群的数据备份需要单独安排。&lt;/li>
&lt;li>在可恢复的测试环境演练目标升级路径，记录服务中断和恢复步骤。&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl version
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl status
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl doctor
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation list
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl upgrade -h
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="执行升级">执行升级&lt;/h2>
&lt;p>&lt;code>kcctl upgrade&lt;/code> 支持整个平台或组件升级。目标包应满足命令帮助中的目录结构，并已经在测试环境验证；不要把客户端包当成平台升级包。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">UPGRADE_PACKAGE&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>/path/to/validated-upgrade-package.tar.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl upgrade all --pkg &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$UPGRADE_PACKAGE&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>只有 Release 或已验证部署流程明确支持时，才使用在线升级或组件独立替换。不要把替换一个二进制文件视为整个升级完成。&lt;/p>
&lt;h2 id="升级后">升级后&lt;/h2>
&lt;p>再次检查 &lt;code>kcctl status&lt;/code>、&lt;code>kcctl doctor&lt;/code>，核对各节点实际运行版本。验证登录、节点信息、操作详情与日志、受管集群访问及 Console 基本流程。测试一个受控的生命周期操作，确认 Operation 和实际集群状态一致。&lt;/p>
&lt;p>升级失败时保留错误和日志，按事先验证的恢复步骤处理。恢复旧二进制前先判断数据和配置是否仍兼容，不要在未知状态下反复覆盖服务。&lt;/p></description></item><item><title>Docs: 集群托管</title><link>https://kubeclipper.io/v1.7/docs/tutorials/cluster-hosting/</link><pubDate>Tue, 29 Nov 2022 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/tutorials/cluster-hosting/</guid><description>
&lt;h2 id="kubeadm-集群托管">Kubeadm 集群托管&lt;/h2>
&lt;p>托管由 kubeadm 创建和管理的 kubernetes 集群，kubeclipper 会通过 kubeconfig 文件，获取集群和节点信息，并导入到 kubeclipper 平台中。&lt;/p>
&lt;p>点击“集群管理”&amp;gt;“集群托管”按钮进入集群托管页面，点击左上角“添加”按钮，在添加提供商弹窗中，填写提供商名称（如 kubeadm-demo）和描述后，填写以下信息：&lt;/p>
&lt;ul>
&lt;li>区域：提供商下的集群和节点在 kubeclipper 平台中的所属区域。&lt;/li>
&lt;li>提供商类型：选择 kubeadm。&lt;/li>
&lt;li>节点连接方式：集群节点的连接方式，可以选择“私钥”或者“密码”，您需要确保可以通过所选方式 ssh 到集群节点。
&lt;ul>
&lt;li>选择“私钥”，需要输入节点用户名和私钥信息。&lt;/li>
&lt;li>选择“密码”，需要输入节点用户名和密码信息。&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>集群名称：作为在本平台的展示名称，不能与其他集群重复。&lt;/li>
&lt;li>KubeConfig：托管集群的 KubeConfig 文件。&lt;/li>
&lt;/ul>
&lt;p>填写完成后点击“确定”按钮，将集群和节点导入到平台中。点击提供商名称（kubeadm-demo），进入提供商详情页，您可以查看提供商下的集群，并对提供商执行以下操作：&lt;/p>
&lt;ul>
&lt;li>同步：系统将每隔4小时定期同步集群信息，您也可以点击“同步”按钮手动执行。&lt;/li>
&lt;li>编辑：编辑提供商的名称、描述、访问信息、节点连接方式。&lt;/li>
&lt;li>移除：解除平台对该集群的管理，保留 Kubernetes 集群本体。清理还会移除导入时安装的 kc-agent，以及平台创建的 ServiceAccount、ClusterRoleBinding 和 kubectl 终端服务；原本已纳管的节点有不同的保留逻辑。移除前核对节点归属并保存 kubeconfig。&lt;/li>
&lt;/ul>
&lt;h2 id="托管集群管理">托管集群管理&lt;/h2>
&lt;p>您可以点击“集群管理”&amp;gt;“集群”进入集群列表页面，查看包括托管集群和本地集群在内的所有集群列表，对于不同集群，支持的管理操作如下表所示：&lt;/p>
&lt;p>插件和外接存储的镜像来源以所选组件包及其配置为准。离线环境须提前准备镜像，并确认各节点能够从配置的仓库拉取；需要认证或自签名证书时，先配置 &lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/registries/">CRI 镜像仓库&lt;/a>。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;strong>功能&lt;/strong>&lt;/th>
&lt;th>&lt;strong>Kubeclipper 创建的集群&lt;/strong>&lt;/th>
&lt;th>&lt;strong>托管的 kubeadm 集群&lt;/strong>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>查看日志&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>任务失败后重试&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>访问 kubectl&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>编辑&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>保存为模版&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✘&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CRI 镜像仓库配置&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>添加/移除集群节点&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>备份和恢复管理&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>版本升级&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✘&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>删除集群&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✘&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>移除集群（提供商）&lt;/td>
&lt;td>/&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>重置状态&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>集群插件管理&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>更新集群证书&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>查看 kubeconfig&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;td>✔︎&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Docs: 离线创建集群</title><link>https://kubeclipper.io/v1.7/docs/getting-started/carete-k8s-cluster-offline/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/getting-started/carete-k8s-cluster-offline/</guid><description>
&lt;p>离线安装需要先准备平台部署包，以及 Kubernetes、CRI、CNI 等组件资源。Registry 资源只描述镜像仓库，不能替代离线包。&lt;/p>
&lt;h2 id="检查资源">检查资源&lt;/h2>
&lt;p>完成&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/">平台部署&lt;/a>后登录并检查：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl resource list
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get node
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>确认目标节点架构与资源包一致。1.7 推荐矩阵为 Kubernetes v1.37.0 / v1.36.4 / v1.35.8、containerd 2.2.4、Calico v3.31.5。需要补充组件包时参考&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/make-offline-package/">准备离线组件包&lt;/a>。&lt;/p>
&lt;h2 id="创建集群">创建集群&lt;/h2>
&lt;p>&lt;code>kcctl create cluster&lt;/code> 默认离线安装。示例使用一个实验节点：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl create cluster --name offline-demo --master 192.168.10.21 --untaint-master &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --k8s-version v1.37.0 --cri containerd --cri-version 2.2.4 &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --cni calico --cni-version v3.31.5
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation list -c offline-demo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get cluster offline-demo -o yaml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>在 Console 创建时同样选择已准备好的组件版本、目标节点和离线方式。需要镜像仓库时先准备镜像并配置&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/registries/">Registry 资源&lt;/a>。存储插件按实际需求单独选择，不把某一种 NFS 插件当作创建集群的必选步骤。&lt;/p>
&lt;h2 id="确认安装结果">确认安装结果&lt;/h2>
&lt;p>结合 Operation 和节点日志定位失败原因。取得 kubeconfig 后检查节点 Ready、系统 Pod 和 API readiness。离线资源缺失、架构不一致或镜像地址不可达时，先修正资源再重试，参见&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/operations/">操作与日志&lt;/a>。&lt;/p></description></item><item><title>Docs: 集群管理</title><link>https://kubeclipper.io/v1.7/docs/tutorials/cluster-management/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/tutorials/cluster-management/</guid><description>
&lt;p>KubeClipper 1.7 的集群生命周期操作由 Operation v2 执行。先查看集群对象，再用操作详情和节点实际状态确认结果。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl get cluster
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get cluster demo -o yaml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation list -c demo
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="日志重试和取消">日志、重试和取消&lt;/h2>
&lt;p>完整命令见&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/operations/">操作与日志&lt;/a>。失败后先处理根因再重试；重置集群状态不会修复失败的节点或撤销已执行操作。&lt;/p>
&lt;h2 id="访问集群">访问集群&lt;/h2>
&lt;p>在 Console 的集群详情页获取 kubeconfig，设置 &lt;code>KUBECONFIG&lt;/code> 后执行：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl get nodes -o wide
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl get pods -A
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl get --raw&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;/readyz?verbose&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>平台状态正常不代表所有受管集群都正常。升级、扩缩容、备份和恢复后，都要检查对应集群中的节点、系统 Pod 和业务数据。&lt;/p>
&lt;h2 id="扩缩容与镜像仓库">扩缩容与镜像仓库&lt;/h2>
&lt;p>先用 &lt;code>kcctl join&lt;/code> 将新增机器纳入平台，确认节点就绪、区域与目标集群一致，再在集群详情中添加节点。移除节点前迁移工作负载并检查容量；平台的 &lt;code>kcctl drain&lt;/code> 用于移除平台 Agent，不等同于集群缩容。节点接入步骤见&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/node-management/">节点管理&lt;/a>。&lt;/p>
&lt;p>Kubernetes 镜像仓库与 containerd 拉取仓库分别配置，具体步骤见&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/registries/">镜像仓库&lt;/a>。变更后检查实际镜像拉取结果。&lt;/p>
&lt;h2 id="备份与恢复">备份与恢复&lt;/h2>
&lt;ol>
&lt;li>配置备份空间，并在编辑集群时关联该备份空间。使用目录备份空间时，先在相关节点创建并挂载约定路径，确认可写。&lt;/li>
&lt;li>在集群中发起备份，或通过定时备份设置执行时间和保留数量；确认备份记录成功且文件可读取。&lt;/li>
&lt;li>恢复时选择该集群的备份记录，跟踪恢复 Operation，完成后检查 API、节点、系统 Pod 和业务状态。&lt;/li>
&lt;/ol>
&lt;p>这里的集群备份以 Kubernetes etcd 快照为核心，不包含业务持久卷中的文件；应用数据需要另行备份。恢复会改变集群状态，先在隔离环境演练，不能仅凭备份记录存在判断可恢复。&lt;/p>
&lt;h2 id="kubernetes-版本升级">Kubernetes 版本升级&lt;/h2>
&lt;p>这与 KubeClipper 平台升级是两项操作。先备份并验证恢复方案，检查目标版本的组件资源、镜像和工作负载兼容性，再从集群的升级入口选择目标版本。托管的 kubeadm 集群不提供此升级入口。&lt;/p>
&lt;p>CLI 参数可用下列命令查看：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl cluster upgrade --help
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>升级命令使用 &lt;code>--cluster-name&lt;/code> 和 &lt;code>--version&lt;/code> 指定集群与目标版本，默认采用离线方式；&lt;code>--online&lt;/code> 改为在线方式，&lt;code>--image-registry&lt;/code> 选择已配置的 Registry 资源。目标版本必须在平台可用资源中，不能将支持矩阵当作任意版本间升级成功的保证。提交后跟踪 Operation，并执行上面的集群健康检查。&lt;/p>
&lt;h2 id="删除集群">删除集群&lt;/h2>
&lt;p>先确认工作负载和数据已备份，再发起删除并跟踪 Operation：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl delete cluster demo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation list -c demo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get cluster
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>确认删除结束后再复用节点。失败时保留日志和节点状态，参考&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/diagnostics/">平台诊断&lt;/a>，不要用强制删除掩盖未完成的清理。&lt;/p></description></item><item><title>Docs: 准备离线组件包</title><link>https://kubeclipper.io/v1.7/docs/getting-started/make-offline-package/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/getting-started/make-offline-package/</guid><description>
&lt;p>1.7.0 的完整部署包和额外的 Kubernetes / CRI / CNI 组件包用途不同。先使用&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/">快速开始&lt;/a>中的完整部署包部署平台，再按实际需求补充组件资源。&lt;/p>
&lt;h2 id="选择版本和架构">选择版本和架构&lt;/h2>
&lt;p>以 &lt;a href="https://kubeclipper.io/v1.7/docs/overview/release-1.7/">1.7 版本说明&lt;/a>中的矩阵为准。以下示例下载 Kubernetes v1.37.0 的 amd64 组件；arm64 节点需准备 arm64 包，不要混用架构。&lt;/p>
&lt;h2 id="在联网机器下载并打包">在联网机器下载并打包&lt;/h2>
&lt;p>以下命令在 Bash 中执行，使用项目 OSS 原生域名。&lt;code>curl -fL&lt;/code> 会在下载失败时退出；不要忽略证书或 HTTP 错误后继续打包。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87">set&lt;/span> -e
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">ARCH&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>amd64
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">VERSION&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>v1.37.0
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">PKG_DIR&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#204a87;font-weight:bold">$(&lt;/span>mktemp -d&lt;span style="color:#204a87;font-weight:bold">)&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">COMPONENT_DIR&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;k8s/&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">VERSION&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">/&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">ARCH&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>mkdir -p &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">PKG_DIR&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">/&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">COMPONENT_DIR&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">for&lt;/span> FILE in manifest.json configs.tar.gz images.tar.gz&lt;span style="color:#000;font-weight:bold">;&lt;/span> &lt;span style="color:#204a87;font-weight:bold">do&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> curl -fL -o &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">PKG_DIR&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">/&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">COMPONENT_DIR&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">/&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">FILE&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span> &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;https://kubeclipper.oss-ap-southeast-1.aliyuncs.com/packages/&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">COMPONENT_DIR&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">/&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">FILE&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">done&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>tar -czf &lt;span style="color:#4e9a06">&amp;#34;k8s-&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">VERSION&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">-&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">ARCH&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">.tar.gz&amp;#34;&lt;/span> -C &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$PKG_DIR&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span> k8s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>tar -tzf &lt;span style="color:#4e9a06">&amp;#34;k8s-&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">VERSION&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">-&lt;/span>&lt;span style="color:#4e9a06">${&lt;/span>&lt;span style="color:#000">ARCH&lt;/span>&lt;span style="color:#4e9a06">}&lt;/span>&lt;span style="color:#4e9a06">.tar.gz&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>归档中需保留 &lt;code>k8s/版本/架构/&lt;/code> 层级，不能只压缩文件本身。下载目录保留在 &lt;code>$PKG_DIR&lt;/code>，核对后可自行清理。&lt;/p>
&lt;p>其他组件使用相同层级，按下表准备文件，再压缩对应组件目录：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>组件目录&lt;/th>
&lt;th>版本&lt;/th>
&lt;th>必需文件&lt;/th>
&lt;th>上传类型&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>k8s&lt;/td>
&lt;td>v1.37.0&lt;/td>
&lt;td>manifest.json、configs.tar.gz、images.tar.gz&lt;/td>
&lt;td>k8s&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>containerd&lt;/td>
&lt;td>2.2.4&lt;/td>
&lt;td>manifest.json、configs.tar.gz&lt;/td>
&lt;td>cri&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>calico&lt;/td>
&lt;td>v3.31.5&lt;/td>
&lt;td>manifest.json、images.tar.gz、charts.tgz&lt;/td>
&lt;td>cni&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>例如 Calico 路径为 &lt;code>packages/calico/v3.31.5/amd64/manifest.json&lt;/code>。这些是已有组件资源的打包方式，不代表任意自定义版本都已被平台支持。&lt;/p>
&lt;h2 id="传入离线环境并上传">传入离线环境并上传&lt;/h2>
&lt;p>把归档传到能访问平台的部署机。该机器需保留部署配置和可登录 Server 的 SSH 凭据。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl resource push --pkg k8s-v1.37.0-amd64.tar.gz --type k8s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl resource list
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>上传 containerd 和 Calico 时分别使用 &lt;code>--type cri&lt;/code>、&lt;code>--type cni&lt;/code>。确认平台能列出匹配的版本和架构，再按&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/carete-k8s-cluster-offline/">离线创建集群&lt;/a>验证。镜像仓库的配置参见 &lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/registries/">Registry&lt;/a>。&lt;/p></description></item><item><title>Docs: 节点管理</title><link>https://kubeclipper.io/v1.7/docs/tutorials/node-management/</link><pubDate>Tue, 29 Nov 2022 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/tutorials/node-management/</guid><description>
&lt;h2 id="区域管理">区域管理&lt;/h2>
&lt;p>平台支持多区域管理，即为平台管理的所有节点和集群进行物理或逻辑的区域划分。您可以在“区域管理”页面查看平台内管理的所有区域，点击区域名称，进入区域详情页面，可以查看区域下的所有集群列表和节点列表。&lt;/p>
&lt;p>&lt;img src="https://kubeclipper.io/v1.7/images/docs-tutorials/region.png" alt="">&lt;/p>
&lt;h2 id="节点管理">节点管理&lt;/h2>
&lt;p>您可以在“节点信息”页面查看平台中管理的全部节点列表，和节点规格、状态等信息。点击节点名称进入节点详情页面，可以查看详细的节点基本信息和系统信息。&lt;/p>
&lt;p>KubeClipper 中的节点状态表示 kc-agent 对节点的管理状态。正常情况下，节点状态显示为“就绪”，默认节点健康监控宽限期为 4 分钟，每 10 秒检查一次；超过宽限期后，状态会更新为“未知”，实际显示时间还会受到调度和通信延迟影响。此时先排查 Agent、网络和 Server 连通性，恢复就绪后再安排新的集群部署或扩容。&lt;/p>
&lt;h3 id="添加节点">添加节点&lt;/h3>
&lt;p>在部署 KubeClipper 时，您就可以添加初始的 server 节点和 agent 节点，其中，server 节点用于部署 KubeClipper 自身服务，agent 节点可用于部署 kubernetes 集群。在用于实验或开发的 KubeClipper 环境，您可以将 server 节点同时添加为 agent 节点。但如果用于生产环境，建议不要将 server 节点复用为 agent 节点。&lt;/p>
&lt;p>您也可以使用 kcctl join 命令为 KubeClipper 添加 agent 节点。同时，您可以为每个 agent 节点标记一个区域，区域可以是物理的或逻辑的位置，您可以使用同一区域的节点创建 kubernetes 集群，但不可以使用跨区域的节点创建集群。未标记区域的节点默认属于 default 区域。&lt;/p>
&lt;p>命令行示例：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>kcctl join --agent beijing:1.2.3.4 --agent shanghai:2.3.4.5
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="移除节点">移除节点&lt;/h3>
&lt;p>当您不再需要某些节点，可以使用 kcctl drain 命令将节点从平台中移除。&lt;/p>
&lt;p>命令行示例：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>kcctl drain --agent 192.168.10.19
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="连接终端">连接终端&lt;/h3>
&lt;p>在节点列表页面，您可以点击目标节点右侧的“连接终端”按钮，在连接终端的弹窗中输入节点端口和用户名密码信息后，访问节点 SSH 控制台并执行命令。&lt;/p>
&lt;h3 id="启用禁用节点">启用/禁用节点&lt;/h3>
&lt;p>您可以点击节点右侧“禁用”按钮暂时禁用节点，禁用状态下的节点不允许创建或添加到集群。&lt;/p></description></item><item><title>Docs: 访问控制</title><link>https://kubeclipper.io/v1.7/docs/tutorials/access-control/</link><pubDate>Tue, 29 Nov 2022 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/tutorials/access-control/</guid><description>
&lt;h2 id="用户管理">用户管理&lt;/h2>
&lt;p>安装 KubeClipper 之后，您需要创建所需角色的用户。一开始，系统默认只有一个用户 admin，具有平台管理员角色。&lt;/p>
&lt;p>点击“访问控制”&amp;gt;“用户”，进入用户管理页面，点击左上角“创建用户”按钮，在弹窗中填写用户名、密码、手机号码、邮箱等信息，并指定用户角色，点击“确认”按钮。系统内置四个角色如下：&lt;/p>
&lt;ul>
&lt;li>
&lt;p>平台管理员：拥有集群管理、用户管理、审计管理等全部平台查看和操作权限。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>集群管理员：拥有所有集群管理权限。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>用户管理员：拥有所有用户管理权限。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>平台只读用户：拥有全部平台查看权限。&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>用户创建完成后，您可以在用户详情页面查看用户详情信息，并执行以下操作：&lt;/p>
&lt;ul>
&lt;li>
&lt;p>编辑：编辑用户别名、角色、手机号、邮箱信息。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>编辑密码：编辑用户登录密码。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>删除：删除用户。&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>在用户详情页面，您还可以查看当前用户的登录日志列表。&lt;/p>
&lt;p>您可以编辑平台 /etc/kubeclipper-server/kubeclipper-server.yaml 文件，根据需要设置用户登录日志的最大保留条数和保留期限，清理逻辑仅在该用户的日志总数超过最大条数时触发：先删除超额的旧记录，再清理剩余的过期记录；未超过最大条数时，不会仅因过期而删除。&lt;/p>
&lt;h2 id="自定义角色">自定义角色&lt;/h2>
&lt;p>除了系统内置角色，您也可以创建自定义角色，以满足业务需要。&lt;/p>
&lt;p>点击“访问控制”&amp;gt;“角色”，进入角色管理页面，您可以点击左上角“创建角色”按钮，创建自定义角色。&lt;/p>
&lt;p>在创建角色页面，您需要填写角色名称和描述，并勾选自定义角色所需权限，一些权限依赖于其他权限，在选择这些权限时，将自动选中依赖的权限。&lt;/p>
&lt;p>创建自定义角色完成后，您可以在角色详情页面查看角色基本信息、角色权限列表、授权用户列表，并对自定义角色执行以下操作：&lt;/p>
&lt;ul>
&lt;li>
&lt;p>编辑：编辑自定义角色描述。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>编辑权限：编辑自定义角色下的权限。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>删除：删除自定义角色，需确保没有用户使用待删除角色。&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="接入外部用户">接入外部用户&lt;/h2>
&lt;p>KubeClipper 可以通过 OIDC 协议使用外部用户登录。&lt;/p>
&lt;p>首先，平台管理员需要登录平台 server 节点，在 kubeclipper-server.yaml 文件中的 authentication 下插入以下信息：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">oauthOptions&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">identityProviders&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#204a87;font-weight:bold">name&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">keycloak&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">type&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">OIDC&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">mappingMethod&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">auto&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">provider&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">clientID&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">kc&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">clientSecret&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">REPLACE_WITH_CLIENT_SECRET&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">issuer&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">https://idp.example.com/realms/kubeclipper&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">scopes&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">openid&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">email&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">redirectURL&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">https://console.example.com/oauth2/redirect/keycloak&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>这是 &lt;code>authentication&lt;/code> 下的配置片段，需合并到现有配置。将示例域名和 &lt;code>REPLACE_WITH_CLIENT_SECRET&lt;/code> 替换为实际值；IdP 注册的回调地址必须与 &lt;code>redirectURL&lt;/code> 完全一致，路径末尾的 &lt;code>keycloak&lt;/code> 与提供商 &lt;code>name&lt;/code> 一致。各 Server 更新配置后，按节点滚动重启 &lt;code>kc-server&lt;/code>。&lt;/p>
&lt;p>其中，“provider” 下需要您填写自己的 OAuth2 服务的&lt;code>clientID&lt;/code>、&lt;code>clientSecret&lt;/code>、&lt;code>issuer&lt;/code>信息，以 keycloak 为例，如下图所示。&lt;/p>
&lt;p>&lt;img src="https://kubeclipper.io/v1.7/images/docs-tutorials/keycloak-clients.png" alt="">&lt;/p>
&lt;p>&lt;img src="https://kubeclipper.io/v1.7/images/docs-tutorials/keycloak-secret.png" alt="">&lt;/p>
&lt;p>&lt;code>redirectURL&lt;/code>示例：https://console.example.com/oauth2/redirect/keycloak&lt;/p>
&lt;p>OAuth2 用户可以通过以下步骤访问和使用 KubeClipper 平台：&lt;/p>
&lt;ol>
&lt;li>点击登录页的 “OAuth2 登录”按钮，进入 OAuth2 登录页面，输入用户名密码登录，进入 KubeClipper 平台，首次登录，您会因未被授予权限而无法访问平台。&lt;/li>
&lt;li>平台管理员或其他拥有用户管理权限的用户登录 KubeClipper，在用户管理页面，找到目标 OAuth2 用户，通过编辑用户指定用户角色。&lt;/li>
&lt;li>OAuth2 用户重复第一步，登录 KubeClipper，就可以正常访问平台并执行角色权限内操作。&lt;/li>
&lt;/ol></description></item><item><title>Docs: 操作与日志</title><link>https://kubeclipper.io/v1.7/docs/tutorials/operations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/tutorials/operations/</guid><description>
&lt;p>KubeClipper 1.7 将安装、升级、备份、删除等工作建模为 Operation，并按步骤和节点执行 Task。提交命令成功只表示请求已被接受，最终结果需要继续查询。&lt;/p>
&lt;h2 id="查找操作">查找操作&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl operation list
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation list -c demo
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>从列表复制实际操作 ID 后查看详情和日志：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">OPERATION_ID&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span>&lt;span style="color:#4e9a06">&amp;#39;&amp;lt;实际操作 ID&amp;gt;&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation describe &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$OPERATION_ID&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation logs &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$OPERATION_ID&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation logs &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$OPERATION_ID&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span> --follow
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>通过日志定位失败步骤和节点。在交互式终端中，可按集群打开 TUI 日志视图：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl operation logs --cluster demo
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>脚本和非交互终端使用带操作 ID 的纯文本日志命令。&lt;/p>
&lt;h2 id="处理失败">处理失败&lt;/h2>
&lt;p>先保留操作详情、失败节点日志和集群状态，处理包缺失、镜像下载、节点网络或服务异常等原因，再重试：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl operation retry &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$OPERATION_ID&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation describe &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$OPERATION_ID&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation logs &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$OPERATION_ID&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span> --follow
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>重试后再次检查实际集群和节点，不能只看 retry 命令返回值。若参数本身错误，先核对任务配置，不要用反复重试代替修正。&lt;/p>
&lt;h2 id="取消操作">取消操作&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl operation cancel &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$OPERATION_ID&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl operation describe &lt;span style="color:#4e9a06">&amp;#34;&lt;/span>&lt;span style="color:#000">$OPERATION_ID&lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>取消不等于回滚已经执行的安装或数据操作。继续确认任务是否停止，以及节点上已经产生的变更；清理前先确定资源归属。&lt;/p>
&lt;h2 id="确认成功">确认成功&lt;/h2>
&lt;p>结合 Operation 结果、&lt;code>kcctl get cluster demo -o yaml&lt;/code>、Kubernetes 节点与 Pod 状态确认结果。集群删除后还要检查平台列表和节点残留。平台问题参考&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/diagnostics/">诊断指南&lt;/a>。&lt;/p></description></item><item><title>Docs: 平台诊断</title><link>https://kubeclipper.io/v1.7/docs/tutorials/diagnostics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/tutorials/diagnostics/</guid><description>
&lt;p>先确定故障发生在平台、Agent、资源下载还是 Kubernetes 集群，再针对对应层排查。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>现象&lt;/th>
&lt;th>先检查&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>控制台打不开或 API 连接失败&lt;/td>
&lt;td>&lt;a href="#%E5%B9%B3%E5%8F%B0%E7%8A%B6%E6%80%81">平台状态&lt;/a>，确认控制台与 API 使用了正确地址和端口&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Agent 或节点未就绪&lt;/td>
&lt;td>&lt;a href="#%E8%8A%82%E7%82%B9%E6%9C%8D%E5%8A%A1">节点服务&lt;/a>，检查对应节点的服务日志和连通性&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>安装预检查失败或资源包下载失败&lt;/td>
&lt;td>&lt;a href="#%E9%83%A8%E7%BD%B2%E5%A4%B1%E8%B4%A5">部署失败&lt;/a>，按报错中的节点和检查项处理&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>创建集群的任务失败&lt;/td>
&lt;td>&lt;a href="#%E9%9B%86%E7%BE%A4%E4%BB%BB%E5%8A%A1%E5%A4%B1%E8%B4%A5">集群任务失败&lt;/a>，先找到 Operation 和失败步骤&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="平台状态">平台状态&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl version
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl status
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl status -o json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl doctor
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>status&lt;/code> 汇总 kc-server、kc-etcd 和 kc-agent 的健康状态。&lt;code>doctor&lt;/code> 检查本地访问、服务、平台 etcd 和 Agent，并输出失败证据。非健康结果会返回非零退出码，适合用于检查脚本；两个命令都不会自动修复环境。&lt;/p>
&lt;p>若平台 API 无法访问，检查 &lt;code>kcctl login&lt;/code> 使用的地址是否为 HTTPS API 入口，默认端口 8080。检查本地登录和部署配置，以及部署机到各节点的 SSH 连通性。&lt;/p>
&lt;h2 id="节点服务">节点服务&lt;/h2>
&lt;p>在对应的 Linux 节点执行：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>sudo systemctl status kc-server kc-etcd kc-agent --no-pager
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo journalctl -u kc-server -n &lt;span style="color:#0000cf;font-weight:bold">100&lt;/span> --no-pager
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo journalctl -u kc-agent -n &lt;span style="color:#0000cf;font-weight:bold">100&lt;/span> --no-pager
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>只部署 Agent 的节点不应要求存在 Server 或平台 etcd 服务。结合实际节点角色解读结果，并检查磁盘、时间同步、管理地址和防火墙。&lt;/p>
&lt;h2 id="部署失败">部署失败&lt;/h2>
&lt;p>预检查错误会指出检查项和节点。若服务已存在，先确认该节点是否属于正在使用的平台；不要删除服务来绕过检查。下载错误应核对地址、证书、文件大小和包内容，不能用关闭证书校验掩盖错误。&lt;/p>
&lt;h2 id="集群任务失败">集群任务失败&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl operation list -c demo
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get cluster demo -o yaml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get node
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl resource list
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>通过&lt;a href="https://kubeclipper.io/v1.7/docs/tutorials/operations/">操作与日志&lt;/a>定位具体步骤和节点。离线安装核对版本、架构和资源包；镜像拉取失败核对镜像仓库地址、认证和网络。提交 Issue 时提供版本、拓扑、脱敏后的错误和操作 ID，移除密码、token、私钥与 kubeconfig 凭据。&lt;/p></description></item><item><title>Docs: 镜像仓库</title><link>https://kubeclipper.io/v1.7/docs/tutorials/registries/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kubeclipper.io/v1.7/docs/tutorials/registries/</guid><description>
&lt;p>Registry 资源用于描述 Kubernetes 镜像仓库或给 containerd 添加镜像拉取配置。它与平台离线资源包不是同一种对象，创建 Registry 也不会自动把镜像同步到仓库。&lt;/p>
&lt;h2 id="创建-registry-资源">创建 Registry 资源&lt;/h2>
&lt;p>以下是管理网络中 HTTP 镜像仓库的例子。生产仓库应按实际情况配置 HTTPS、CA 和认证；完整参数见命令帮助。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl create registry --name internal --host registry.example.com:5000 --scheme http
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl get registry
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kcctl create registry -h
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>需要认证时可通过 &lt;code>--auth-username&lt;/code> 和 &lt;code>--auth-password&lt;/code> 配置，注意命令历史和终端日志中的凭据暴露。使用 HTTPS 时核对 &lt;code>--ca&lt;/code> 与 &lt;code>--skip-tls-verify&lt;/code>，不要直接沿用 HTTP 示例配置。&lt;/p>
&lt;h2 id="为集群选择仓库">为集群选择仓库&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kcctl create cluster --name demo --master 192.168.10.21 &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --k8s-version v1.37.0 --cri containerd --cri-version 2.2.4 &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --cni calico --cni-version v3.31.5 &lt;span style="color:#4e9a06">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&lt;/span> --image-registry internal --cri-registry internal
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>--image-registry&lt;/code> 选择用于 Kubernetes 镜像的 Registry 资源。&lt;/li>
&lt;li>&lt;code>--cri-registry&lt;/code> 将 Registry 资源的配置加入 containerd；可按需要指定多个资源。&lt;/li>
&lt;li>未指定镜像仓库时，各组件采用各自的默认值和适用的 Agent 镜像源配置。不要假定 Kubernetes、Calico 等组件都从同一个默认仓库拉取。&lt;/li>
&lt;/ul>
&lt;p>创建前把所需镜像放入仓库，并检查集群节点实际可访问的镜像路径、认证和证书。离线安装还要满足&lt;a href="https://kubeclipper.io/v1.7/docs/getting-started/carete-k8s-cluster-offline/">资源包要求&lt;/a>。&lt;/p></description></item></channel></rss>