Huawei Cloud Cce Cluster Management

Huawei Cloud CCE (Cloud Container Engine) cluster lifecycle management skill using Python SDK v3. Use this skill when the user wants to: (1) create, delete,...

shijingcheng

@pintudeyudi

What This Skill Does

Manages Huawei Cloud CCE (Cloud Container Engine) cluster lifecycle via Python SDK v3. Supports creating, deleting, hibernating, and awakening clusters; managing node pools, nodes, and addons; binding EIPs; and retrieving kubeconfig.

Replaces manual cluster management through the Huawei Cloud console by automating lifecycle operations, node scheduling, and addon management via a single CLI tool.

When to Use It

  • Create a new CCE cluster with specified configuration
  • Hibernate an idle cluster to reduce costs
  • Resize a node pool to match workload demand
  • Cordon a node to prevent new pod scheduling
  • Install or update an addon on an existing cluster
  • Retrieve kubeconfig for kubectl access

Install

$ openclaw skills install @pintudeyudi/huawei-cloud-cce-cluster-management

Huawei Cloud CCE Cluster Management

Overview

Manage CCE (Cloud Container Engine) cluster lifecycle, including cluster creation/deletion/hibernation/awakening, node pool management, node scheduling control, and addon management.

โ›” Security Constraints

Dangerous Operation Confirmation Mechanism

This skill strictly enforces a two-step confirmation mechanism for all dangerous operations to prevent accidental service disruption or data loss.

All dangerous operations require confirm=true parameter to execute. Otherwise, they return a preview and confirmation prompt.

Operations Requiring Confirmation

ToolOperation TypeRisk LevelDescription
huawei_delete_cce_clusterDelete๐Ÿ”ด CriticalDeletes entire CCE cluster, irreversible
huawei_hibernate_cce_clusterHibernate๐ŸŸ  HighStops all workloads, pauses control plane billing
huawei_awake_cce_clusterAwake๐ŸŸ  HighResumes cluster from hibernation
huawei_resize_cce_nodepoolScale๐ŸŸก MediumAdjusts node pool size, affects capacity
huawei_delete_cce_nodepoolDelete๐ŸŸ  HighDeletes node pool, affects business capacity
huawei_delete_cce_nodeDelete๐ŸŸ  HighRemoves node from cluster, affects scheduling
huawei_uninstall_cce_addonUninstall๐ŸŸ  HighRemoves addon, may affect cluster functionality
huawei_cce_node_cordonCordon๐ŸŸก MediumMarks node unschedulable, new pods won't be assigned
huawei_cce_node_uncordonUncordon๐ŸŸก MediumMarks node schedulable, new pods may be assigned immediately
huawei_cce_node_drainDrain๐ŸŸ  HighEvicts all pods from node, affects running workloads

Workflow

Step 1: Preview Operation - Call without confirm parameter

# Example: Preview cluster deletion
python3 scripts/huawei-cloud.py huawei_delete_cce_cluster \
  region=cn-north-4 \
  cluster_id=xxx

Returns: operation preview, risk warning, confirmation example

Step 2: Confirm Execution - Call with confirm=true

# Example: Confirm and execute deletion
python3 scripts/huawei-cloud.py huawei_delete_cce_cluster \
  region=cn-north-4 \
  cluster_id=xxx \
  confirm=true

Credential Security

โœ… This skill strictly follows these security rules:

  1. No persistent credential storage - Never saves AK/SK, tokens, or certificates to disk
  2. No long-term memory cache - AK/SK exists only during API call, released afterward
  3. Only project ID memory cache - Non-sensitive project ID cached in process memory
  4. No credential leakage - Never includes AK/SK in logs, responses, or errors
  5. Temporary file cleanup - If temporary cert files are created, they are deleted immediately after use

AK/SK usage methods:

  • Environment variables HW_ACCESS_KEY / HW_SECRET_KEY / HW_REGION_NAME (process-level, not saved)
  • Per-call parameter (valid only for that call)

Prerequisites

Python Environment

  • Python 3.8+
  • Install SDKs: pip install huaweicloudsdkcce huaweicloudsdkcore
  • Optional for node operations: pip install kubernetes

Environment Variables (Recommended)

export HW_ACCESS_KEY="your-access-key-id"
export HW_SECRET_KEY="your-secret-access-key"
export HW_REGION_NAME="cn-north-4"

IAM Permission Policies

Ensure the IAM user has the minimum required permissions:

PermissionDescription
cce:cluster:listList clusters
cce:cluster:getGet cluster details
cce:cluster:createCreate clusters
cce:cluster:deleteDelete clusters
cce:cluster:updateUpdate clusters (hibernate/awake/bind EIP)
cce:node:listList nodes
cce:node:getGet node details
cce:node:createCreate nodes
cce:node:deleteDelete nodes
cce:node:updateUpdate nodes (cordon/uncordon/drain)
cce:nodepool:listList node pools
cce:nodepool:createCreate node pools
cce:nodepool:deleteDelete node pools
cce:nodepool:updateUpdate node pools (resize)
cce:addon:listList addons
cce:addon:getGet addon details
cce:addon:createInstall addons
cce:addon:updateUpdate addons
cce:addon:deleteUninstall addons

Core Commands

Cluster Query

ToolFunctionParameters
huawei_list_cce_clustersList all CCE clusters in regionregion
huawei_get_cce_nodesGet detailed node informationregion, cluster_id, node_id
huawei_get_cce_kubeconfigGet cluster kubeconfigregion, cluster_id, duration

Cluster Management

ToolFunctionRisk LevelRequires Confirmation
huawei_create_cce_clusterCreate CCE cluster๐ŸŸข LowNo
huawei_delete_cce_clusterDelete CCE cluster๐Ÿ”ด CriticalYes
huawei_hibernate_cce_clusterHibernate cluster๐ŸŸ  HighYes
huawei_awake_cce_clusterAwake cluster๐ŸŸ  HighYes
huawei_bind_cce_cluster_eipBind cluster EIP๐ŸŸข LowNo
huawei_unbind_cce_cluster_eipUnbind cluster EIP๐ŸŸก MediumNo

Recommended defaults:

  • Cluster type: Turbo (best performance with ENI network)
  • Container network: eni for Turbo clusters
  • Naming format: <env>-<app>-cluster (e.g., prod-web-cluster)

Node Pool Management

ToolFunctionRisk LevelRequires Confirmation
huawei_list_cce_nodepoolsList node pools๐ŸŸข LowNo
huawei_create_cce_nodepoolCreate node pool๐ŸŸข LowNo
huawei_delete_cce_nodepoolDelete node pool๐ŸŸ  HighYes
huawei_resize_cce_nodepoolResize node pool๐ŸŸก MediumYes

Recommended defaults:

  • Naming format: <env>-<role>-pool (e.g., prod-worker-pool)
  • Initial node count: 2 for HA, or 0 with autoscaling
  • Enable autoscaling for dynamic scaling

Node Management

ToolFunctionRisk LevelRequires Confirmation
huawei_list_cce_nodesList cluster nodes๐ŸŸข LowNo
huawei_create_cce_nodeCreate nodes directly๐ŸŸข LowNo
huawei_delete_cce_nodeDelete node๐ŸŸ  HighYes
huawei_cce_node_cordonMark node unschedulable๐ŸŸก MediumYes
huawei_cce_node_uncordonMark node schedulable๐ŸŸก MediumYes
huawei_cce_node_drainEvict all pods from node๐ŸŸ  HighYes
huawei_cce_node_statusQuery node scheduling status๐ŸŸข LowNo

Note: Prefer node pools for managed scaling. Direct node creation is for special cases.

Addon Management

ToolFunctionRisk LevelRequires Confirmation
huawei_list_cce_addonsList cluster addons๐ŸŸข LowNo
huawei_get_cce_addon_detailGet addon details๐ŸŸข LowNo
huawei_install_cce_addonInstall addon๐ŸŸข LowNo
huawei_uninstall_cce_addonUninstall addon๐ŸŸ  HighYes
huawei_update_cce_addonUpdate addon๐ŸŸก MediumNo

Common addons:

  • coredns - DNS service
  • metrics-server - Monitoring metrics
  • everest - Storage driver

Network Prerequisites

ToolFunctionParameters
huawei_list_vpcList VPCs with CIDR inforegion
huawei_list_vpc_subnetsList subnets with AZ inforegion, vpc_id

Use these tools to find VPC/subnet IDs before cluster creation.


Supported Regions

Region CodeRegion Name
cn-north-4North China-Beijing 4
cn-north-1North China-Beijing 1
cn-north-2North China-Beijing 2
cn-east-3East China-Shanghai 1
cn-south-1South China-Guangzhou
cn-south-2South China-Guangzhou Friendly
cn-east-4East China II
cn-southwest-2Guiyang 1
ap-southeast-1Asia-Pacific-Hong Kong
ap-southeast-2Asia-Pacific-Bangkok
ap-southeast-3Asia-Pacific-Singapore

Output Format

All tools return JSON-formatted results containing:

  • status: operation result (success / error)
  • data: operation-specific response (cluster info, node list, addon details, etc.)
  • message: human-readable description of the result
  • warning: risk warning for dangerous operations (preview mode only)

Verification

See verification-method.md for detailed verification steps. Quick checklist:

  1. Verify AK/SK credentials are configured via environment variables
  2. Run huawei_list_cce_clusters to confirm API connectivity
  3. Test dangerous operation preview (call without confirm=true)
  4. Verify Turbo cluster ENI network configuration

Best Practices

  • Use environment variables (HW_ACCESS_KEY / HW_SECRET_KEY) for credentials โ€” avoid hardcoding
  • Always preview dangerous operations before confirming with confirm=true
  • Use Turbo clusters (container_network_type=eni) for high-performance workloads
  • Resize node pools during low-traffic periods to minimize business impact
  • Keep node pools at โ‰ฅ2 nodes for production workloads to ensure redundancy
  • Regularly check cluster health via huawei_list_cce_clusters and huawei_show_cce_cluster

References

DocumentDescription
task-cluster-management.mdCluster lifecycle operations
task-nodepool-management.mdNode pool operations
task-node-management.mdNode scheduling operations
iam-policies.mdIAM permission policies
verification-method.mdVerification steps
troubleshooting.mdTroubleshooting guide
cce-api-guide.mdCCE Python SDK API reference
cce-cluster-parameters.mdCluster/nodepool creation parameters

Notes

  • Ensure AK/SK has correct IAM permissions
  • Different regions may have different resource availability
  • All dangerous operations require confirmation
  • Deletion operations are irreversible
  • Hibernate cluster stops all workloads - use during non-business hours
  • Node drain evicts all pods - ensure sufficient replicas
  • Turbo clusters recommended for best performance with ENI network

Top skills in this category