检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
CCI应用进行优雅滚动升级 应用场景 用户在CCI中部署工作负载时,应用发布成了LoadBalance类型的Service或Ingress且对接的独享型ELB,经过ELB的访问流量支持直通到容器中;当应用进行滚动升级或者弹性扩缩容,通过配置容器探针,最短就绪时间等可以做到优雅升级,
通过NAT网关的SNAT功能,可以直接访问Internet,提供超大并发数的连接服务,适用于请求量大、连接数多的服务。详细信息请参见从容器中访问公网。 父主题: 网络管理类
通过NAT网关的SNAT功能,即使VPC内的容器实例不配置弹性公网IP也可以直接访问Internet,提供超大并发数的连接服务,适用于请求量大、连接数多的服务。 图1 SNAT 您可以通过如下步骤实现容器实例访问Internet。 “购买”弹性公网IP。 登录管理控制台。
负载中最小的资源单位就是Pod,访问负载就是访问负载中的Pod。负载中的Pod能够动态地创建和销毁,例如,扩缩容或者执行滚动升级,这时Pod的地址会发生变化,这为访问Pod带来了不便。
如何从公网访问容器? 负载支持绑定ELB。用户可以给负载绑定ELB实例,通过ELB的地址从外部访问容器负载。具体操作请参见公网访问。 如果您使用kubectl,您也可以参见Service和Ingress,创建Service和Ingress对象,绑定ELB。 父主题: 网络管理类
使用ELB(私网)访问:该方式适合云服务内部资源(云容器实例以外的资源,如ECS等)且与负载在同一个VPC内互相访问,另外在同一个VPC不同命名空间的负载也可以选择此种方式。通过内网域名或ELB的“IP:Port”为内网提供服务,支持HTTP/HTTPS和TCP/UDP协议。
升级负载 负载创建成功后,可以对负载更新和升级。当前支持“滚动升级”和“替换升级”两种方式。 滚动升级:将逐步用新版本的实例替换旧版本的实例,升级的过程中,业务流量会同时负载均衡分布到新老的实例上,因此业务不会中断。
实际访问的域名地址,该域名需用户购买并备案,并确保所填域名能解析到所选负载均衡实例的服务地址。一旦配置了域名规则,则必须使用域名访问。 路由配置:可单击“添加映射”增加新的路由配置。 路由匹配规则:当前仅支持前缀路由匹配。
负载网络访问 网络访问概述 内网访问 公网访问 从容器访问公网
网络访问场景 在前面两节中介绍了如何通过Service和Ingress访问Pod,本节总结一下云容器实例中Pod的访问场景,如图1所示,访问负载可以分为如下几种场景,每种场景下可以使用Service和Ingress来解决访问问题。
图1 创建插件 如果用户负载不需要k8s内部域名解析服务,但是需要使用域名解析服务,此时pod的dnsPolicy需要设置为Default。 除了以上两种配置方式用户还可以通过设置dnsPolicy为None使用自定义dns服务。
在“工作负载 -> 查看您创建的负载详情-> 选择访问配置 -> 选择访问事件”,查看访问事件,查看是否有告警事件。如下两种情况为无法访问公网的事件。
使用kubernetes官方Java SDK访问CCI 本节将介绍如何将CCI认证工具cci-iam-authenticator与kubernetes-client/java结合使用以调用API。
view 允许对多数对象进行只读操作,但是对secret是不可访问的。 更多Kubernetes RBAC授权的内容可以参考Kubernetes RBAC官方文档。 父主题: 身份认证与访问控制
使用kubernetes官方Python SDK访问CCI 本节介绍如何将cci认证工具cci-iam-authenticator与kubernetes-client/python结合使用以调用API。
域名访问依赖于域名解析,需要您将域名解析指向ELB实例的IP地址,例如您可以使用云解析服务 DNS来实现域名解析。
身份认证与访问控制 基于IAM进行访问控制 身份认证与访问控制 父主题: 安全
表3 常用操作与系统策略的关系 操作 CCI FullAccess CCI ReadOnlyAccess CCI CommonOperations 创建无状态负载 √ x √ 删除无状态负载 √ x √ 查看无状态负载 √ √ √ 升级负载 √ x √ 伸缩负载 √ x √ 删除Pod
使用client-go访问CCI 本节将介绍如何将CCI认证工具cci-iam-authenticator与client-go结合使用以调用API。
kube-dns是预留给域名解析使用的Service,云容器实例会自动创建,域名解析的详细内容请参见使用ServiceName访问Service。