文档首页 > > API参考> Kubernetes API> Ingress> 创建Ingress

创建Ingress

分享
更新时间: 2020/06/29 GMT+08:00

功能介绍

创建Ingress。

若需要在CCI工作负载详情页面的“访问方式”页签中显示对应的Ingress资源,则需要给创建的Ingress资源对象添加labels标签。添加的标签需满足如下要求:

  • service的labels中设置的标签必须和负载的selector中matchLabels设置的label一致。
    例如,负载中matchLabels标签设置如下:
    "spec": {
            "replicas": 1,
            "selector": {
                "matchLabels": {
                    "app": "redis"
                }
            }

    service中的labels也必须设置为"app": "redis"

        "metadata": {
            "name": "redis",
            "labels": {
                "app": "redis"
            }
  • ingress中定义的serviceName必须和service中定义的名称一致。

URI

POST /apis/extensions/v1beta1/namespaces/{namespace}/ingresses

表1 Path参数

参数

描述

namespace

Object name and auth scope, such as for teams and projects.

表2 Query参数

参数

是否必选

描述

pretty

No

If 'true', then the output is pretty printed.

请求消息

请求参数:

请求参数请参见表110

表3 创建Ingress时必填的annotations字段数据结构说明

参数

是否必选

参数类型

描述

kubernetes.io/elb.id

Yes

String

ELB实例的ID。

kubernetes.io/elb.port

Yes

String

ELB实例的端口。

kubernetes.io/elb.ip

No

String

ELB实例的IP。

请求示例:

{
    "apiVersion": "extensions/v1beta1",
    "kind": "Ingress",
    "metadata": {
        "name": "redis",
        "labels": {
            "app": "redis"
        },
        "annotations": {
            "kubernetes.io/elb.id": "2d48d034-6046-48db-8bb2-53c67e8148b5",
            "kubernetes.io/elb.ip": "192.168.137.182",
            "kubernetes.io/elb.port": "6071"
        }
    },
    "spec": {
        "rules": [
            {
                "http": {
                    "paths": [
                        {
                            "path": "/",
                            "backend": {
                                "serviceName": "redis",
                                "servicePort": 8080
                            }
                        }
                    ]
                }
            }
        ]
    }
}

响应消息

响应参数:

响应参数的详细描述请参见表110

响应示例:

{
    "kind": "Ingress",
    "apiVersion": "extensions/v1beta1",
    "metadata": {
        "name": "redis",
        "namespace": "namespace-test",
        "selfLink": "/apis/extensions/v1beta1/namespaces/namespace-test/ingresses/redis",
        "uid": "7f86c310-afe8-11e8-b6ef-f898ef6c78b4",
        "resourceVersion": "5161127",
        "generation": 1,
        "creationTimestamp": "2018-09-04T02:16:14Z",
        "labels": {
            "app": "redis",
            "isExternal": "true",
            "zone": "data"
        },
        "annotations": {
            "kubernetes.io/elb.id": "2d48d034-6046-48db-8bb2-53c67e8148b5",
            "kubernetes.io/elb.port": "6071"
        },
        "enable": true
    },
    "spec": {
        "rules": [
            {
                "http": {
                    "paths": [
                        {
                            "path": "/",
                            "backend": {
                                "serviceName": "redis",
                                "servicePort": 8080
                            }
                        }
                    ]
                }
            }
        ]
    },
    "status": {
        "loadBalancer": {}
    }
}

状态码

表4描述API的状态码。

表4 状态码

状态码

描述

201

Created

更多状态码请参见状态码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问