云容器引擎通过将Kubernetes网络和华为云VPC深度集成,提供了稳定高性能的容器网络,能够满足多种复杂场景下工作负载间的互相访问。
Kubernetes中每一个工作负载会有一个或多个实例(Pod),每个实例(Pod)的IP地址由网络插件动态随机分配(Pod重启后IP地址会改变)。为屏蔽这些后端实例的动态变化和对多实例的负载均衡,引入了Service这个资源对象。
Service是一种资源,提供了我们访问单个或多个容器应用的能力。每个服务在其生命周期内,都拥有一个固定的IP地址和端口。每个服务对应了后台的一个或多个Pod,通过这种方式,客户端就不需要关心Pod所在的位置,方便后端进行方便的Pod扩容、缩容等操作。
用户在Kubernetes中可以部署各种容器,其中一部分是通过HTTP、HTTPS协议对外提供七层网络服务,另一部分是通过TCP、UDP协议提供四层网络服务。而Kubernetes定义的Service资源就是用来管理集群中四层网络的服务访问。
根据创建Service的type类型不同,可分成如下模式:
ClusterIP和NodePort类型的Service,在不同云服务商或是自建集群中的行为表现通常情况下相同。而LoadBalancer类型的Service,由于使用了云服务商的负载均衡进行服务暴露,云服务商会围绕其负载均衡的能力提供不同的额外功能。例如,控制负载均衡的网络类型,后端绑定的权重调节等,详情请参见本章相关文档。
在CCE中,支持以下类型的互联互通:
工作负载暴露给同一集群内其他工作负载访问的方式,可以通过“集群内部域名”访问。集群内部域名格式为“<自定义的访问方式名称>.<工作负载所在命名空间>.svc.cluster.local”,例如“nginx.default.svc.cluster.local”。详细请参见集群内访问(ClusterIP)。
节点访问 ( NodePort)是指在每个节点的IP上开放一个静态端口,通过静态端口对外暴露服务。节点访问 ( NodePort )会路由到ClusterIP服务,这个ClusterIP服务会自动创建。通过请求 <NodeIP>:<NodePort>,可以从集群的外部访问一个NodePort服务。详细请参见节点访问(NodePort)。
通过弹性负载均衡从公网访问工作负载,与弹性IP方式相比提供了高可靠的保障,一般用于系统中需要暴露到公网的服务。访问方式由公网弹性负载均衡ELB服务地址以及设置的访问端口组成,例如“10.117.117.117:80”。详细请参见负载均衡 ( LoadBalancer )。
“NAT网关”可以为集群节点提供网络地址转换服务,使多个节点可以共享使用弹性IP。与弹性IP方式相比增强了可靠性,弹性IP无需与单个节点绑定,任何节点状态的异常不影响其访问。访问方式由公网弹性IP地址以及设置的访问端口组成,例如“10.117.117.117:80”。详细请参见DNAT网关 ( DNAT )。
通常情况下,service和pod的IP仅可在集群内部访问。集群外部的请求需要通过负载均衡转发到service在Node上暴露的NodePort上,然后再由kube-proxy通过边缘路由器 (edge router) 将其转发给相关的Pod或者丢弃,而Ingress就是为进入集群的请求提供路由规则的集合。
Ingress可以给service提供集群外部访问的URL、负载均衡、SSL终止、HTTP路由等。为了配置这些Ingress规则,集群管理员需要部署一个Ingress controller,它监听Ingress和service的变化,并根据规则配置负载均衡并提供访问入口。
Ingress的组成部分:
Ingress的创建与管理请参见Ingress概述。
网络策略(NetworkPolicy)是一种关于pod间及pod与其他网络端点间所允许的通信规则的规范。
NetworkPolicy资源使用标签选择pod,并定义选定pod所允许的通信规则,详细请参见NetworkPolicy。
虚拟私有云(Virtual Private Cloud,以下简称VPC),是基于华为云创建的自定义私有网络,不同的专有网络之间彻底逻辑隔离。可以为云服务器、云数据库和负载均衡等构建隔离的、用户自主配置和管理的虚拟网络环境,提升用户云上资源的安全性,简化用户的网络部署。
您可以在VPC中定义安全组、VPN、IP地址段、带宽等网络特性。用户可以通过VPC方便地管理、配置内部网络,进行安全、快捷的网络变更。同时,用户可以自定义安全组内与组间弹性云服务器的访问规则,加强弹性云服务器的安全保护。具体请参见什么是虚拟私有云。
弹性负载均衡(Elastic Load Balance,简称ELB)是将访问流量根据转发策略分发到后端多台服务器的流量分发控制服务。弹性负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。具体请参见什么是弹性负载均衡。
弹性负载均衡支持经典型、共享型两种负载均衡:
两者的详细区别请参见共享型与经典型负载均衡的功能区别。
场景介绍 提供多个业务节点提供共享的日志输出目录,方便分布式应用的日志收集和...
可以将VMware备份恢复至云上其他的服务器中,实现云上容灾和业务快速部署。 背景...
作者 | 明非 阿里巴巴历时2年自研开发的互动游戏引擎Eva.js正式开源,致力于让前...
COVID-19的影响将持续到2021年,云服务访问性,可扩展性和灵活性的优势将进一步增...
代码调试是程序员必须掌握的一门技巧,掌握代码调试对以后学习,错误排除,源码...
读写授权1. OOS相关 创建对应{bucket},{object} 选择地域2. RAM相关 创建对应子...
TOP云 (west.cn)4月12日消息,昨天外媒Dnjournal发布了新一期(4.2-4.8)的DN...
【51CTO.com快译】不知道您是否听说过软件架构师最讨厌意大利面这个梗?它是指软...
上篇文章,我们介绍了故事书的理论内容,这篇文章,我们一起来看具体的代码实现...
对于一个企业的网站来说,空间起着至关重要的作用,要想在后期的推广中取得好的...