云容器实例 CCI
云容器实例 CCI
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
-
API参考
- 使用前必读
- 如何调用API
- 快速入门
- API
-
Kubernetes API
- ConfigMap
- Pod
- StorageClass
- Service
- Deployment
- Ingress
- OpenAPIv2
- VolcanoJob
- Namespace
- ClusterRole
- Secret
- Endpoint
- ResourceQuota
- CronJob
-
API groups
- 查询APIVersions
- 查询所有v1版本的API
- 查询APIGroupList
- 查询APIGroup /apis/apps
- 查询所有apps/v1的API
- 查询APIGroup /apis/batch
- 查询APIGroup /apis/batch.volcano.sh
- 查询所有batch.volcano.sh/v1alpha1的API
- 查询所有batch/v1的API
- 查询所有batch/v1beta1的API
- 查询APIGroup /apis/crd.yangtse.cni
- 查询所有crd.yangtse.cni/v1的API
- 查询APIGroup /apis/extensions
- 查询所有extensions/v1beta1的API
- 查询APIGroup /apis/metrics.k8s.io
- 查询所有metrics.k8s.io/v1beta1的API
- 查询APIGroup /apis/networking.cci.io
- 查询所有networking.cci.io/v1beta1的API
- 查询APIGroup /apis/rbac.authorization.k8s.io
- 查询所有rbac.authorization.k8s.io/v1的API
- Event
- PersistentVolumeClaim
- RoleBinding
- StatefulSet
- Job
- ReplicaSet
- 数据结构
- 权限和授权项
- 附录
- 历史API
- 修订记录
- SDK参考
- 场景代码示例
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
快速入门
概述
本文通过调用一系列云容器实例的API使用nginx镜像创建一个工作负载,介绍使用云容器实例API的基本流程。
其中,镜像直接使用开源镜像中心的nginx镜像,容器的资源规格为0.25核CPU、512M内存,并绑定一个负载均衡实例,通过负载均衡实例从外网访问容器负载。
API的调用方法请参见如何调用API。
创建流程
- 调用创建Namespace接口创建命名空间。
- 调用创建Network接口创建网络,与VPC和子网关联。
- 调用创建Deployment接口创建nginx容器负载。
创建Nginx负载
- 调用创建Namespace接口创建命名空间,并指定使用GPU型资源。
{ "apiVersion": "v1", "kind": "Namespace", "metadata": { "name": "namespace-test", "annotations": { "namespace.kubernetes.io/flavor": "gpu-accelerated" } }, "spec": { "finalizers": [ "kubernetes" ] } }
您需要指定如下参数。
- name:命名空间的名称。
- namespace.kubernetes.io/flavor:命名空间的类型,当前支持GPU加速型(gpu-accelerated)和通用计算型(general-computing)。GPU加速型命名空间中可以使用GPU显卡。
- 调用创建Network接口创建网络,与VPC与子网关联。
{ "apiVersion": "networking.cci.io/v1beta1", "kind": "Network", "metadata": { "name": "test-network", "annotations": { "network.alpha.kubernetes.io/default-security-group": "security-group-id", "network.alpha.kubernetes.io/domain-id": "domain-id", "network.alpha.kubernetes.io/project-id": "project-id" } }, "spec": { "cidr": "192.168.0.0/24", "attachedVPC": "vpc-id", "networkID": "network-id", "subnetID": "subnet-id", "networkType": "underlay_neutron" } }
您需要指定如下参数。
- name:网络对象的名称。
- network.alpha.kubernetes.io/default-security-group:安全组ID,您可以在安全组控制台查看。
- network.alpha.kubernetes.io/domain-id:账号ID,获取方法请参见获取账号ID。
- network.alpha.kubernetes.io/project-id:项目ID,获取方法请参见获取项目ID。
- cidr:网段地址,虚拟私有云下可用子网的范围。
- attachedVPC:命名空间所在VPC(虚拟私有云)的ID,您可以在虚拟私有云控制台中查询,也可以通过查询VPC列表API查询。
- networkID:VPC内子网的网络ID,您可以在虚拟私有云控制台中查询,也可以通过查询子网列表API查询。
- subnetID:VPC内子网的ID,您可以在虚拟私有云控制台中查询,也可以通过查询子网列表API查询。
- 调用创建Deployment接口创建nginx容器负载。
负载名称为nginx,使用开源镜像中心的nginx:latest镜像,容器的资源规格为0.25核CPU、1G内存。调用接口后,云容器实例会创建一个运行nginx的容器。
{ "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": "nginx" }, "spec": { "replicas": 1, "selector": { "matchLabels": { "app": "nginx" } }, "template": { "metadata": { "labels": { "app": "nginx" } }, "spec": { "containers": [ { "image": "nginx:latest", "name": "container-0", "resources": { "limits": { "cpu": "250m", "memory": "1Gi" }, "requests": { "cpu": "250m", "memory": "1Gi" } } } ], "imagePullSecrets": [ { "name": "imagepull-secret" } ] } } } }
您需要指定如下参数。
- name:Deployment的名称。
- replicas:Pod的数量,即Deployment下有几个Pod。
- selector.matchLabels:Deployment使用哪些标签选择Pod,例如这里设置的标签app=nginx,当Pod有这个标签时,就会被Deployment选中管理。
- template:Pod的模板,定义Pod的各种配置和规格。
- metadata.labels:Pod的标签。
- spec.containers:Pod中容器的定义。
- image:创建容器使用的镜像。
- resources.limits:容器使用资源的大小限制,即容器使用的资源不能超过这个限制。
- resources.requests:容器申请使用资源的大小。
Nginx负载创建完后,您可以在云容器实例控制台云容器实例控制台查看到负载。
图1 nginx