← 返回
未分类

uk8s-create

创建 UCloud UK8S Kubernetes 集群。Use when user asks to "创建 UK8S 集群", "create UK8S cluster", "新建 Kubernetes 集群".
创建 UCloud UK8S Kubernetes 集群。Use when user asks to "创建 UK8S 集群", "create UK8S cluster", "新建 Kubernetes 集群".
HelloHJC
未分类 community v1.0.0 1 版本 98571.4 Key: 无需
★ 0
Stars
📥 69
下载
💾 0
安装
1
版本
#latest

概述

创建 UK8S Kubernetes 集群

引导用户通过 ucloud-cli 创建 UK8S 集群。

流程:环境检查 → 资源选择 → 参数收集 → 构造请求 → 执行创建 → 结果展示。

  • 集群名称来自 $ARGUMENTS,默认 uk8s

Step 1:检查 ucloud-cli 环境

references/check-ucloud-cli.md 执行环境检查。


Step 2:选择 K8s 版本

ucloud api --Action GetUK8SVersions --Region <Region> --ProjectId <ProjectId> --Kind Dedicated

将版本列表展示给用户选择(详见 references/GetUK8SVersions.md):

可用 K8s 版本:
  [1] 1.32.8
  [2] 1.30.10
  [3] 1.28.15

请选择版本编号:

记录 K8sVersion(完整三段式,如 1.32.8)。


Step 3:选择 VPC 和 Subnet

ucloud api --Action DescribeVPC --Region <Region> --ProjectId <ProjectId>

将 VPC 列表展示给用户选择(详见 references/DescribeVPC.md):

可用 VPC:
  [1] uvnet-xxx  Default  (10.23.0.0/16)
  [2] uvnet-yyy  my-vpc   (192.168.0.0/16)

请选择 VPC 编号:

用户选定后查询该 VPC 下的 Subnet:

ucloud api --Action DescribeSubnet --Region <Region> --ProjectId <ProjectId> --VPCId <VPCId>

展示 Subnet 列表供用户选择:

VPC uvnet-xxx 下的子网:
  [1] subnet-aaa  Default   (10.23.0.0/16)  cn-sh2-01
  [2] subnet-bbb  my-subnet (10.23.1.0/24)  cn-sh2-02

请选择 Subnet 编号:

记录 VPCIdSubnetId


Step 4:选择节点镜像

ucloud api --Action DescribeUK8SImage --Region <Region> --Zone <Zone> --ProjectId <ProjectId>

references/defaults.md 中的镜像选择规则自动匹配,无需用户手动选择。若自动匹配失败则展示列表询问用户(详见 references/DescribeUK8SImage.md)。

记录 ImageId


Step 5:收集集群核心参数

AskUserQuestion 收集以下参数,默认值见 references/defaults.md

  • 集群名称(ClusterName,优先使用 $ARGUMENTS
  • Master 节点数(固定 3,无需询问)
  • Node 节点数(node-count,默认 2)
  • Node CPU / 内存(默认 4C/8G)
  • 是否开启外网 ApiServer(ExternalApiServer,默认 Yes)

Step 5.5:生成节点登录密码

AskUserQuestion 询问用户:

节点登录密码:
  [1] 随机生成(推荐)
  [2] 自定义输入

若选随机生成:

PLAIN_PWD=$(openssl rand -base64 12 | tr -dc 'A-Za-z0-9' | head -c 16)

若选自定义输入: 收集用户输入,赋值给 $PLAIN_PWD

$PLAIN_PWD 明文仅在 Step 10 结果中展示一次,请用户立即保存。


Step 6:读取 API 参数定义和默认值

使用 Read 工具读取以下文件:

  • references/CreateUK8SCluster.md — 字段定义和必填项
  • references/defaults.md — 未填写参数的默认值

按字段定义构造请求;未填写的参数使用默认值。


Step 7:构造请求 JSON

调用脚本生成请求文件:

python3 scripts/build-create-uk8s.py \
  --region       <Region> \
  --zone         <Zone> \
  --project-id   <ProjectId> \
  --name         <ClusterName> \
  --k8s-version  <K8sVersion> \
  --vpc-id       <VPCId> \
  --subnet-id    <SubnetId> \
  --image-id     <ImageId> \
  --password     "$PLAIN_PWD" \
  --node-count   <NodeCount> \
  --node-cpu     <NodeCPU> \
  --node-mem     <NodeMem> \
  --external-api <ExternalApiServer>

> 脚本自动 Base64 编码密码,输出 JSON 并写入 /tmp/create_uk8s.json,若有报错立即中止。


Step 8:创建前确认

读取 references/confirm-template.md,将收集到的参数填入模板后展示给用户,等待确认。


Step 9:执行创建

ucloud api --local-file /tmp/create_uk8s.json
RetCode处理
---------------
0解析 ClusterId,进入 Step 10
非 0输出完整 RetCode + Message,给出修复建议(见 references/CreateUK8SCluster.md

Step 10:结果输出

读取 references/result-template.md,将创建结果填入模板后展示给用户。


错误处理原则

  • 不允许吞错误,必须输出 RetCode + Message
  • 用户输入无效时,重新询问而非猜测
  • 所有 required 字段必须有值,不允许留空或使用占位符直接提交

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-04-30 14:58 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

uk8s-describe

user_faf0d21d
查询单个 UK8S 集群详细信息,含 Master/Node 节点列表。Use when user asks to "查看集群详情", "describe UK8S cluster", "看看集群节点", "集群信息".
★ 0 📥 93

uk8s-del

user_faf0d21d
删除 UCloud UK8S Kubernetes 集群。Use when user asks to "删除 UK8S 集群", "delete UK8S cluster", "销毁集群".
★ 0 📥 89

uk8s-list

user_faf0d21d
查询 UCloud UK8S Kubernetes 集群列表。Use when user asks to "查看 UK8S 集群", "list UK8S clusters", "查询集群状态", "看看有哪些集群".
★ 0 📥 88