This topic describes how to create an ACK managed cluster for confidential computing in the Container Service for Kubernetes (ACK) console. ACK managed clusters for confidential computing run in Trusted Execution Environments (TEEs).
Prerequisites
ACK and Resource Access Management (RAM) are activated.
ACK is activated in the ACK console. RAM is activated in the RAM console.
When you create an ACK managed cluster for confidential computing, take note of the following limits:
- ACK clusters support only virtual private clouds (VPCs).
- By default, each account has specific quotas on cloud resources that can be created. You cannot create clusters if the quota is reached. For more information about the quotas, see Resource quota limits.
- For more information, see Resource quota limits.
- By default, you can add up to 200 route entries to a VPC. This means that you can deploy up to 200 nodes in an ACK cluster that uses Flannel. This limit does not apply to ACK clusters that use Terway. To add more route entries to a VPC, apply for an increase on the quota of route entries in the VPC that you want to use.
- By default, you can create at most 100 security groups with each account.
- By default, you can create at most 60 pay-as-you-go SLB instances with each account.
- By default, you can create at most 20 elastic IP addresses (EIPs) with each account.
- To create an ACK managed cluster for confidential computing, you must set the parameters as described in the following table. Otherwise, you cannot run Intel Software Guard Extensions (SGX) applications in the cluster.
Parameter Description Zone Only the following instance families support confidential computing: c7t security-enhanced compute-optimized, g7t security-enhanced general-purpose, and r7t security-enhanced memory-optimized. Make sure that these instance families are available in the selected zones. Container Runtime Select containerd 1.4.4 or later. Instance Type Select instances types from the following instance families: c7t security-enhanced compute-optimized, g7t security-enhanced general-purpose, and r7t security-enhanced memory-optimized. Note Intel Ice Lake supports the remote attestation service only based on Intel Software Guard Extensions Data Center Attestation Primitives (SGX DCAP). Remote attestation services based on Intel Enhanced Privacy Identification (EPID) are not supported. You must adapt your applications before you can use the remote attestation service. For more information about the remote attestation service, see attestation-services.Operating System Select AliyunLinux 2.xxxx 64-bit (UEFI) Network Plug-in Select Flannel.
Procedure
- Log on to the ACK console.
- In the left-side navigation pane of the ACK console, click Clusters.
- In the upper-right corner of the Clusters page, click Cluster Template.
- In the Select Cluster Template dialog box, find Confidential Computing Cluster in the Managed Clusters section and click Create.
- On the Managed Kubernetes tab, configure the cluster.
- Click Next:Node Pool Configurations to configure worker nodes.
- Click Next:Component Configurations to configure components.
Parameter Description Ingress Specify whether to install an Ingress controller. By default, Nginx Ingress is selected.- If you select Nginx Ingress, Install NGINX Ingress Controller is automatically selected. For more information about how to use NGINX Ingresses, see Advanced NGINX Ingress configurations.
- If you select ALB Ingress, the Application Load Balancer (ALB) Ingress controller is automatically installed. For more information about how to access Services in a cluster by using ALB Ingresses, see Access Services by using an ALB Ingress.
Note If you want to select Create Ingress Dashboard, you must first enable Log Service.Service Discovery Specify whether to install NodeLocal DNSCache. By default, NodeLocal DNSCache is installed.
NodeLocal DNSCache runs a Domain Name System (DNS) caching agent to improve the performance and stability of DNS resolution. For more information about NodeLocal DNSCache, see Configure NodeLocal DNSCache.
Volume Plug-in By default, CSI is selected. ACK clusters can be automatically bound to Alibaba Cloud disks, Apsara File Storage NAS (NAS) file systems, and Object Storage Service (OSS) buckets that are mounted to pods. For more information, see Storage management-CSI.
Monitoring Agents Specify whether to install the CloudMonitor agent. By default, Install CloudMonitor Agent on ECS Instance and Enable Prometheus Monitoring are selected. After the CloudMonitor agent is installed on ECS nodes, you can view monitoring data about the nodes in the CloudMonitor console.
Alerts Select Use Default Alert Rule Template to enable the alerting feature and use the default alert rules. For more information, see Alert management.
Log Service Specify whether to enable Log Service. You can select an existing Log Service project or create one. By default, Enable Log Service is selected. When you create an application, you can enable Log Service with a few steps. For more information, see Collect log data from containers by using Log Service.
By default, Install node-problem-detector and Create Event Center is selected. You can specify whether to enable the Kubernetes event center in the Log Service console. For more information, see Create and use an event center.
Workflow Engine Specify whether to enable Alibaba Cloud Genomics Service (AGS).Note To use this feature, submit a ticket to apply to be added to a whitelist.- If you select this check box, the system automatically installs the AGS workflow plug-in when the system creates the cluster.
- If you clear this check box, you must manually install the AGS workflow plug-in. For more information, see Introduction to AGS CLI.
- Click Next:Confirm Order to confirm the cluster configurations and select Terms of Service.
- Click Create Cluster to deploy the cluster. You can also check the cluster log to view detailed information about how the cluster is created.Note It requires about 10 minutes to create an ACK cluster with multiple nodes.
Result
- After the cluster is created, you can view the created cluster on the Clusters page in the console.
- Click View Logs in the Actions column. On the Log Information page, you can view the cluster log. To view detailed log data, click Stack events.
On the Clusters page, find the created cluster and click its name or click Details in the Actions column. On the details page, you can click the Basic Information tab to view basic information about the cluster and click the Connection Information tab to view information about how to connect to the cluster.
The following information is displayed:- API Server Public Endpoint: the IP address and port that the Kubernetes API server of the cluster uses to provide services over the Internet. It allows you to manage the cluster by using kubectl or other tools on your client.
Bind EIP and Unbind EIP: These options are available only to ACK managed clusters.
- Bind EIP: You can select an existing elastic IP address (EIP) or create one.
The API server restarts after you bind an EIP to the API server. We recommend that you do not perform operations on the cluster during the restart process.
- Unbind EIP: You cannot access the API server over the Internet after you unbind the EIP.
The API server restarts after you unbind the EIP from the API server. We recommend that you do not perform operations on the cluster during the restart process.
- Bind EIP: You can select an existing elastic IP address (EIP) or create one.
- API Server Internal Endpoint: the IP address and port that the API server uses to provide services within the cluster. The IP address belongs to the Server Load Balancer (SLB) instance that is associated with the cluster.
- Testing Domain: the domain name that is used for service tests. The suffix of the domain name is
<cluster_id>.<region_id>.alicontainer.com
.Note To rebind the domain name, click Rebind Domain Name.
- API Server Public Endpoint: the IP address and port that the Kubernetes API server of the cluster uses to provide services over the Internet. It allows you to manage the cluster by using kubectl or other tools on your client.
- You can connect to the cluster by using kubectl and run the
kubectl get node
command to query information about the nodes in the cluster. For more information, see Connect to ACK clusters by using kubectl.