You can create a CloudBox node pool in a Container Service for Kubernetes (ACK) cluster to use the resources that are deployed in the CloudBox. This topic describes how to use CloudBox resources in an ACK cluster.
Prerequisites
- A CloudBox is created, resources are purchased, CloudBox acceptance is completed, and the CloudBox runs as normal. For more information about the billing and specifications of computing resources deployed in a CloudBox, see Compute SKU specifications.
- The CloudBox is connected to the public cloud over a highly-available and low-latency connection. To ensure a better user experience, we recommend that you create a connection whose bandwidth is 50 Mbit/s or higher. For more information, see Deployment requirements.
- A vSwitch is created in the zone of the CloudBox. For more information, see Create and manage a vSwitch.
Limits
Region limits
The ACK cluster that needs to use CloudBox resources and the CloudBox must be deployed in the same region.
Network limits
- You cannot create Application Load Balancer (ALB) instances or NAT gateways in the zone of the CloudBox for the ACK cluster. You can create a NAT 2.0 gateway in a zone of the public cloud and connect the ACK cluster to the gateway.
- You cannot associate elastic IP addresses (EIPs) with pods, Server Load Balancer (SLB) instances, or worker nodes that are deployed in the CloudBox.
Cluster network mode limits
- Only ACK clusters that use Flannel support CloudBox resources. ACK clusters that use Terway do not support CloudBox resources.
- ACK clusters that run in ENI trunking mode or IPv4/IPv6 dual-stack mode do not support CloudBox resources.
Service limits
- When you create a LoadBalancer Service in the CloudBox, you need to specify the zone of the CloudBox for the Service. For more information, see Use annotations to configure load balancing.
- LoadBalancer Services in the CloudBox can be associated only with ECS instances that are deployed in the same CloudBox. LoadBalancer Services in the public cloud can be associated only with ECS instances that are deployed on the public cloud.
Node and node pool limits
- You cannot create ECS instances that use encrypted disks or preemptible instances as worker nodes in the zone of the CloudBox.
- Node pools that use CloudBox resources and have auto scaling enabled do not support policies related to preemptible instances.
Considerations
When the connection between the CloudBox and public cloud is interrupted, the ECS nodes added from the CloudBox to the ACK cluster can still work as normal. However, you cannot manage the workloads deployed on these nodes or add new ECS nodes from the CloudBox to the ACK cluster. In this scenario, we recommend that you check the network of the CloudBox and restore the connection at the earliest opportunity. The control planes of the ACK cluster run in the zones of the public cloud. When the network of the CloudBox is interrupted, the nodes in the CloudBox are disconnected from the control planes of the ACK cluster. This causes the following issues:
- The nodes time out and the status of the nodes changes to Not Ready.
- The status of the pods changes to Unhealthy.
- Pods are evicted from the nodes.
- The backend nodes of the LoadBalancer Service are removed.
- The endpoints of the Services change.
Procedure
To use CloudBox resources in an ACK cluster, you need to create an ACK cluster and create a node pool that contains ECS instances deployed in the CloudBox.
- Log on to the ACK console and click Clusters in the left-side navigation pane.
- In the upper-right corner of the Clusters page, click Create Kubernetes Cluster.
- You need to configure the following parameters as required when you create the ACK cluster. For more information about other parameters, see Create an ACK managed cluster.
- Cluster Configurations
- Region: Select the region of the CloudBox.
- Network Plug-in: Select Flannel.
- vSwitch: Select a vSwitch deployed in a zone of the public cloud.
- Node Pool ConfigurationsThe node pool created in this step contains only nodes that are deployed in the zones of the public cloud. You can specify the number of nodes when you create the node pool.Note If you do not require nodes that are deployed in the zones of the public cloud, set the number of nodes to 0. Then, create a node pool that contains nodes from the CloudBox after the ACK cluster is created.
- Cluster Configurations
- Click Next:Confirm Order. Read Terms of Service, select the check box, and then click Create Cluster.
- On the Clusters page, find the cluster that you want to manage and click the name of the cluster or click Details in the Actions column. The details page of the cluster appears.
- In the left-side navigation pane of the details page, choose .
- In the upper-right corner of the Node Pools page, click Create Node Pool. In the Create Node Pool dialog box, set vSwitch to a vSwitch in the zone of the CloudBox. For more information about other parameters, see Create a node pool.
- Click Confirm Order. On the Node Pools page, check the Status column of the node pool. If the node pool is in the Initializing state, the node pool is being created. After the node pool is created, the Status column of the node pool displays Active.