云容器实例 CCI-快速入门:创建Nginx负载

时间:2025-02-12 14:55:26

创建Nginx负载

  1. 调用创建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显卡。

  2. 调用创建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查询。

  3. 调用创建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

support.huaweicloud.com/api-cci/cci_02_0011.html