AC CLI 管理员命令参考

本参考提供了 AC CLI 管理员命令的描述和示例命令。使用这些命令需要具备 cluster-admin 或等效权限。

有关开发人员命令,请参见 AC CLI 开发人员命令参考。

运行 ac adm -h 列出所有管理员命令,或运行 ac <command> --help 获取特定命令的更多详细信息。

ac adm

ACP 集群管理的管理工具

示例用法

# 为维护排空节点
ac adm drain NODE_NAME

# 标记节点为不可调度
ac adm cordon NODE_NAME

# new-project 在集群中创建项目
ac adm new-project PROJECT_NAME --cluster CLUSTER_NAME

# 标记节点为可调度
ac adm uncordon NODE_NAME

ac adm certificate

修改证书资源

ac adm certificate approve

批准证书签名请求

示例用法

# 批准 CSR 'csr-sqgzp'
ac adm certificate approve csr-sqgzp

ac adm certificate deny

拒绝证书签名请求

示例用法

# 拒绝 CSR 'csr-sqgzp'
ac adm certificate deny csr-sqgzp

ac adm cordon

标记节点为不可调度

示例用法

# 标记节点 "foo" 为不可调度
ac adm cordon foo

ac adm drain

排空节点以准备维护

示例用法

# 排空节点 "foo",即使其上有未被 replication controller、replica set、job、daemon set 或 stateful set 管理的 pods
ac adm drain foo --force

# 同上,但如果存在未被上述控制器管理的 pods 则中止,且使用 15 分钟的宽限期
ac adm drain foo --grace-period=900

ac adm new-project

创建新项目

示例用法

# 在指定集群中创建项目
ac adm new-project my-project --cluster cluster1

# 在多个集群中创建项目
ac adm new-project my-project --cluster cluster1,cluster2

ac adm new-project-namespace

在项目中创建新命名空间

示例用法

# 在指定集群的项目中创建命名空间
ac adm new-project-namespace  my-namespace --project my-project --cluster cluster1

ac adm policy

管理项目或命名空间的 RBAC 策略

示例用法

# 将用户分配为项目中的管理员角色
ac adm policy add-project-role-to-user project-admin-system alice --project my-project

# 将用户分配为项目中集群命名空间的命名空间角色
ac adm policy add-namespace-role-to-user namespace-developer-system alice --namespace my-namespace --project my-project --cluster business-1

# 给用户 alice 添加 kubernetes 集群角色 view
ac adm policy add-cluster-role-to-user view alice

# 给用户 alice 添加 kubernetes 角色 view
ac adm policy add-role-to-user view alice -n my-namespace

ac adm policy add-cluster-role-to-user

为当前上下文集群中的用户分配 kubernetes 集群角色

示例用法

# 给用户 alice 添加 kubernetes 集群角色 view
ac adm policy add-cluster-role-to-user view alice

ac adm policy add-namespace-role-to-user

为项目中特定集群命名空间中的用户分配平台角色

示例用法

# 在项目 my-project 中为用户 alice 分配 namespace-developer-system 角色
ac adm policy add-namespace-role-to-user namespace-developer-system alice --namespace my-namespace --project my-project --cluster business-1

ac adm policy add-project-role-to-user

为项目中的用户分配平台角色

示例用法

# 在项目 my-project 中为用户 alice 分配 project-admin-system 角色
ac adm policy add-project-role-to-user project-admin-system alice --project my-project

ac adm policy add-role-to-user

为当前上下文集群中的用户分配 kubernetes 角色

示例用法

# 给用户 alice 添加 kubernetes 角色 view
ac adm policy add-role-to-user view alice -n my-namespace

ac adm release

管理发布元数据及相关管理工作流

示例用法

# 导入发布版本的 ProductManifest
ac adm release import-manifest --version 4.20.0

ac adm release import-manifest

将发布元数据导入为 ProductManifest

示例用法

# 导入版本 4.20.0 的发布元数据
ac adm release import-manifest --version 4.20.0

# 导入元数据并等待 ProductManifest 变为 Ready 状态
ac adm release import-manifest --version 4.20.0 --wait

# 覆盖等待超时时间
ac adm release import-manifest --version 4.20.0 --wait --timeout=10m

ac adm taint

更新一个或多个节点上的污点

示例用法

# 为节点 'foo' 添加一个键为 'dedicated',值为 'special-user',效果为 'NoSchedule' 的污点
# 如果该键和效果的污点已存在,则替换其值
ac adm taint nodes foo dedicated=special-user:NoSchedule

# 从节点 'foo' 移除键为 'dedicated',效果为 'NoSchedule' 的污点(如果存在)
ac adm taint nodes foo dedicated:NoSchedule-

# 从节点 'foo' 移除所有键为 'dedicated' 的污点
ac adm taint nodes foo dedicated-

# 在标签为 myLabel=X 的节点上添加键为 'dedicated',效果为 'PreferNoSchedule' 的污点
ac adm taint node -l myLabel=X  dedicated=foo:PreferNoSchedule

# 为节点 'foo' 添加一个键为 'bar',无值的污点,效果为 NoSchedule
ac adm taint nodes foo bar:NoSchedule

ac adm uncordon

标记节点为可调度

示例用法

# 标记节点 "foo" 为可调度
ac adm uncordon foo

ac adm upgrade

查看或请求集群升级

示例用法

# 查看更新状态和可用的集群更新
ac adm upgrade

# 查看特定集群的摘要
ac adm upgrade --cluster=workload-a

# 升级到最新版本
ac adm upgrade --to-latest

# 从可用更新中升级到指定版本
ac adm upgrade --cluster=workload-a --to=4.15.0

# 允许升级到可用更新之外的明确版本
ac adm upgrade --to=4.15.0 --allow-explicit-upgrade

ac adm upgrade status

查看目标集群升级的预检和阶段详细信息

示例用法

# 查看默认集群的 Cluster Version Operator 状态
ac adm upgrade status

# 查看特定集群的状态
ac adm upgrade status --cluster=workload-a

# 查看控制器报告的完整详细信息
ac adm upgrade status --verbose