- What's New
- Function Overview
- Service Overview
- Billing
- Getting Started
- User Guide
- Best Practices
-
Developer Guide
- Overview
- Using Native kubectl (Recommended)
- Namespace and Network
- Pod
- Label
- Deployment
- EIPPool
- EIP
- Pod Resource Monitoring Metric
- Collecting Pod Logs
- Managing Network Access Through Service and Ingress
- Using PersistentVolumeClaim to Apply for Persistent Storage
- ConfigMap and Secret
- Creating a Workload Using Job and Cron Job
- YAML Syntax
-
API Reference
- Before You Start
- Calling APIs
- Getting Started
- Proprietary APIs
-
Kubernetes APIs
- ConfigMap
- Pod
- StorageClass
- Service
-
Deployment
- Querying All Deployments
- Deleting All Deployments in a Namespace
- Querying Deployments in a Namespace
- Creating a Deployment
- Deleting a Deployment
- Querying a Deployment
- Updating a Deployment
- Replacing a Deployment
- Querying the Scaling Operation of a Specified Deployment
- Updating the Scaling Operation of a Specified Deployment
- Replacing the Scaling Operation of a Specified Deployment
- Querying the Status of a Deployment
- Ingress
- OpenAPIv2
- VolcanoJob
- Namespace
- ClusterRole
- Secret
- Endpoint
- ResourceQuota
- CronJob
-
API groups
- Querying API Versions
- Querying All APIs of v1
- Querying an APIGroupList
- Querying APIGroup (/apis/apps)
- Querying APIs of apps/v1
- Querying an APIGroup (/apis/batch)
- Querying an APIGroup (/apis/batch.volcano.sh)
- Querying All APIs of batch.volcano.sh/v1alpha1
- Querying All APIs of batch/v1
- Querying All APIs of batch/v1beta1
- Querying an APIGroup (/apis/crd.yangtse.cni)
- Querying All APIs of crd.yangtse.cni/v1
- Querying an APIGroup (/apis/extensions)
- Querying All APIs of extensions/v1beta1
- Querying an APIGroup (/apis/metrics.k8s.io)
- Querying All APIs of metrics.k8s.io/v1beta1
- Querying an APIGroup (/apis/networking.cci.io)
- Querying All APIs of networking.cci.io/v1beta1
- Querying an APIGroup (/apis/rbac.authorization.k8s.io)
- Querying All APIs of rbac.authorization.k8s.io/v1
- Event
- PersistentVolumeClaim
- RoleBinding
- StatefulSet
- Job
- ReplicaSet
- Data Structure
- Permissions Policies and Supported Actions
- Appendix
- Out-of-Date APIs
- Change History
-
FAQs
- Product Consulting
-
Basic Concept FAQs
- What Is CCI?
- What Are the Differences Between Cloud Container Instance and Cloud Container Engine?
- What Is an Environment Variable?
- What Is a Service?
- What Is Mcore?
- What Are the Relationships Between Images, Containers, and Workloads?
- What Are Kata Containers?
- Can kubectl Be Used to Manage Container Instances?
- What Are Core-Hours in CCI Resource Packages?
- Workload Abnormalities
-
Container Workload FAQs
- Why Service Performance Does Not Meet the Expectation?
- How Do I Set the Quantity of Instances (Pods)?
- How Do I Check My Resource Quotas?
- How Do I Set Probes for a Workload?
- How Do I Configure an Auto Scaling Policy?
- What Do I Do If the Workload Created from the sample Image Fails to Run?
- How Do I View Pods After I Call the API to Delete a Deployment?
- Why an Error Is Reported When a GPU-Related Operation Is Performed on the Container Entered by Using exec?
- Can I Start a Container in Privileged Mode When Running the systemctl Command in a Container in a CCI Cluster?
- Why Does the Intel oneAPI Toolkit Fail to Run VASP Tasks Occasionally?
- Why Are Pods Evicted?
- Why Is the Workload Web-Terminal Not Displayed on the Console?
- Why Are Fees Continuously Deducted After I Delete a Workload?
-
Image Repository FAQs
- Can I Export Public Images?
- How Do I Create a Container Image?
- How Do I Upload Images?
- Does CCI Provide Base Container Images for Download?
- Does CCI Administrator Have the Permission to Upload Image Packages?
- What Permissions Are Required for Uploading Image Packages for CCI?
- What Do I Do If Authentication Is Required During Image Push?
-
Network Management FAQs
- How Do I View the VPC CIDR Block?
- Does CCI Support Load Balancing?
- How Do I Configure the DNS Service on CCI?
- Does CCI Support InfiniBand (IB) Networks?
- How Do I Access a Container from a Public Network?
- How Do I Access a Public Network from a Container?
- What Do I Do If Access to a Workload from a Public Network Fails?
- What Do I Do If Error 504 Is Reported When I Access a Workload?
- What Do I Do If the Connection Timed Out?
- Storage Management FAQs
- Log Collection
- Account
- SDK Reference
- Videos
- General Reference
Copied.
Using the CCI Console to Create Workloads
Using docker run Commands to Run Containers describes how you can run the WordPress workload by running the docker run commands. However, it is not convenient to use a container engine in many scenarios, such as auto scaling and rolling upgrade.
CCI provides a serverless container engine that frees you from managing clusters or servers. CCI delivers agility and high performance with only three steps. It enables you to create stateless workloads (Deployments) and stateful workloads (StatefulSets). It also enhances container security isolation and supports fast workload deployment, elastic load balancing, auto scaling, and blue-green deployment based on the Kubernetes workload model.
Creating a Namespace
- Log in to the CCI console. In the navigation pane, choose Namespaces.
- Click Create for the target namespace type.
- Enter a namespace name.
- Configure a VPC.
Select an existing VPC or create one. Recommended CIDR blocks for the new VPC are 10.0.0.0/8-24, 172.16.0.0/12-24, and 192.168.0.0/16-24.
- Configure a subnet.
Ensure that there are sufficient available IP addresses in the subnet. If IP addresses are insufficient, workload creation will fail.
- Click Create.
Creating a MySQL Workload
- Log in to the CCI console. In the navigation pane on the left, choose Workloads > Deployments. On the page displayed, click Create from Image.
- Specify basic information.
- Workload Name: mysql
- Namespace: Select the namespace created in Creating a Namespace.
- Pods: Change the value to 1 in this example.
- Pod Specifications: Select the general-computing pod with 0.5-core CPU and 1 GiB of memory.
- Container Settings
- On the Open Source Images tab, search for the mysql image and click Use Image.
- Set image parameters. Specifically, set the image version to 5.7, CPU to 0.50, and memory to 1.000.
- In the advanced settings, enter the environment variable MYSQL_ROOT_PASSWORD and its value. The value is the password of the MySQL database. You need to set the password by yourself.
- On the Open Source Images tab, search for the mysql image and click Use Image.
- Click Next: Configure Access Settings. Set Access Type to Intranet access. In this case, the workload can be accessed by other workloads in CCI by using Service name:Port. In addition, set Service Name to mysql, and map workload access port 3306 to container port 3306 (default access port of the MySQL image).
In this way, other workloads in CCI can access the MySQL workload by using mysql:3306.
- Click Next. On the page that is displayed, check the configurations and then click Submit.
In the workload list, if the workload is in the Running state, the workload is successfully created.
Creating a WordPress Workload
- Log in to the CCI console. In the navigation pane on the left, choose Workloads > Deployments. On the page displayed, click Create from Image.
- Specify basic information.
- Workload Name: wordpress
- Namespace: Select the namespace created in Creating a Namespace.
- Pods: Change the value to 2 in this example.
- Pod Specifications: Select the general-computing pod with 0.5-core CPU and 1 GiB of memory.
- Configure Container
- On the Open Source Images tab page, search for the wordpress image and click Use Image.
- Set image parameters. Specifically, set the image version to php7.1, CPU to 0.50, and memory to 1.000.
- In the Advanced Settings area, expand Environment Variables and add environment variables to enable the wordpress application to access the MySQL database.
Table 1 Description of environment variables Variable Name
Variable Value/Variable Reference
WORDPRESS_DB_HOST
Address for accessing the MySQL database.
Example: 10.***.***.***:3306
WORDPRESS_DB_PASSWORD
Password for accessing the MySQL database. The password must be the same as the MySQL password set in Creating a MySQL Workload.
- On the Open Source Images tab page, search for the wordpress image and click Use Image.
- Click Next: Configure Access Settings.
Set Access Type to Internet access and Service Name to wordpress, and select a load balancer. If no load balancers are available, click Create Share Load Balancer. Set ELB Protocol to HTTP and ELB Port to 9012. In the Workload Port Settings area, set a mapping between workload access port 8080 and container port 80 (default access port in the WordPress image). In the HTTP Route Settings area, set Mapping Path to / (so http://Load balancer IP address:Port can be used to access the WordPress) and Workload Access Port to 8080.
- Click Next. On the page that is displayed, check the configurations and then click Submit.
In the workload list, if the workload is in the Running state, the workload is successfully created. In this case, you can click the workload to go to its details page.
In the Access Settings area, click Internet Access and view the access address (Load balancer IP address:Port).
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot