检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
为Pod绑定已有EIP 为Pod指定EIP的ID 创建Pod时,填写yangtse.io/eip-id的annotation后,EIP会随Pod自动完成绑定。 以下示例创建一个名为nginx的实例数为1的无状态负载,EIP将随Pod自动绑定至Pod。具体字段含义见表1。 apiVersion:
默认值同该EIP的名称。 Pod的EIP准备就绪 Pod业务容器的启动时间可能早于EIP分配结果返回成功时间,在Pod启动过程中EIP可能会绑定失败。 通过在init container中可检查EIP是否已经分配成功。容器网络控制器会在Pod IP分配后,为Pod绑定EIP并返回分配
但是Service是基于四层TCP和UDP协议转发的,Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做到更细粒度的划分,如下图所示。 图1 Ingress-Service 在云容器实例中,使用Ingress绑定ELB的IP和端口,实现外部访问,如图2所示。
本节指导用户通过Dockerfile定制一个简单的Web工作负载程序的容器镜像。 背景信息 如果使用官方的Nginx镜像来创建容器工作负载,在浏览器访问时则会看到默认的Nginx欢迎页面,本节以Nginx镜像为例,修改Nginx镜像的欢迎页面,定制一个新的镜像,将欢迎页面改为“Hello, CCI!”。 操作步骤
PI查询。 调用创建Deployment接口创建nginx容器负载。 负载名称为nginx,使用开源镜像中心的nginx:latest镜像,容器的资源规格为0.25核CPU、1G内存。调用接口后,云容器实例会创建一个运行nginx的容器。 { "apiVersion": "apps/v1"
您可以看到Service有个Cluster IP,这个IP是固定不变的,除非Service被删除,所以您也可以使用ClusterIP在内部访问Service。 kube-dns是预留给域名解析使用的Service,云容器实例会自动创建,域名解析的详细内容请参见使用ServiceName访问Service。
场景一:为Pod自动创建并绑定EIP yangtse.io/pod-with-eip: "true" 场景二:为Pod绑定已有EIP yangtse.io/eip-id: "eip-id-xxx" 限制与约束 一个Pod只能绑定一个EIP,一个EIP只能被一个Pod绑定。 创建Pod时,可指定
EIPPool概述 为方便用户在CCI内直接为Pod关联EIP,CCI新增了名为EIPPool的自定义资源对象,通过EIPPool资源对象,用户可以为Pod自动绑定EIP。EIPPool对象支持两种EIP资源管理方式:动态管理EIP资源(EIP资源由CCI自动创建)、静态管理EIP资源(EIP资源由用户提前创建)。
io/eip-pool:eippool-demo1 # 通过指定EIPPool的形式使用EIP ... 执行以下命令,查看EIPPool详情,-n表示EIPPool所在的命名空间。 回显信息中名称为eippool-demo1的EIPPool,使用量加1,表示Pod绑定EIP资源成功。
如果用户负载需要使用k8s内部域名解析,则需要安装coredns插件。此时pod的dnsPolicy需要设置为ClusterFirst。 在插件市场界面可以单击,将coredns插件安装在指定的namesapce下。 图1 创建插件 如果用户负载不需要k8s内部域名解析服务,但是需要使用域名解析服务,
EIP EIP概述 为Pod动态创建EIP 为Pod绑定已有EIP
创建动态EIPPool 动态EIPPool,即根据用户在EIPPool中填写的配置,动态创建底层的EIP资源,同时在CCI命名空间下创建相应的EIP对象。 以下示例创建了一个名为eippool-demo1的动态EIPPool,具体字段含义见表1。 动态创建独占带宽类型的EIPPool,无需指定带宽ID,示例如下:
创建静态EIPPool 静态EIPPool,即根据用户指定的多个未使用的EIP,静态纳管底层的EIP资源,同时在CCI命名空间下创建相应的EIP对象。如果EIPPool中的EIP已经被NAT或者ELB使用,则会纳管失败。 以下示例创建了一个名为eippool-demo2的静态EI
议访问,设置完成后,可以通过“http://公网域名(或elb 公网ip):elb端口/映射路径”访问负载。 Service是基于四层TCP和UDP协议转发的,Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做到更细粒度的划分,如下图所示。 图1 Ingress-Service
对外端口:开放在负载均衡服务地址的端口,可任意指定。 路由配置:可单击“添加映射”增加新的路由配置。 域名:可选填。实际访问的域名地址,该域名需用户购买并备案,并确保所填域名能解析到所选负载均衡实例的服务地址。一旦配置了域名规则,则必须使用域名访问。 路由匹配规则:当前仅支持前缀路由匹配。 前缀路由匹配:例如映射
privateIP 参数 参数类型 描述 id String Port ID or EIP ID ipv4 String IPv4 is the IPv4 address for traffic from the eni. ipv6 String IPv6 is the IPv6 address
privateIP 参数 参数类型 描述 id String Port ID or EIP ID ipv4 String IPv4 is the IPv4 address for traffic from the eni. ipv6 String IPv6 is the IPv6 address
管理EIPPool 更新EIPPool 考虑到用户实际场景,EIPPool对象当前只允许用户调整EIP的数量,即对EIPPool进行扩缩容。用户如果需要调整EIP其他参数,可新建EIPPool对象后在负载配置中替换即可。 EIPPool缩容时,如果EIP资源被占用,则不会删除对应的EIP,直到占用解除。
privateIP 参数 参数类型 描述 id String Port ID or EIP ID ipv4 String IPv4 is the IPv4 address for traffic from the eni. ipv6 String IPv6 is the IPv6 address
删除指定的EIPPool 功能介绍 删除指定的EIPPool。 调用方法 请参见如何调用API。 URI DELETE /apis/crd.yangtse.cni/v1/namespaces/{namespace}/eippools/{name} 表1 路径参数 参数 是否必选 参数类型