检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
网络 网络概述 容器网络 服务(Service) 路由(Ingress) DNS 集群网络配置 容器如何访问VPC内部网络 从容器访问公网 网络管理最佳实践
网段规划建议 在集群网络构成中介绍集群中网络地址可分为集群网络、容器网络、服务网络三块,在规划网络地址时需要从如下方面考虑: 集群所在VPC下所有子网(包括扩展网段子网)不能和服务网段冲突。 保证每个网段有足够的IP地址可用。 集群网段的IP地址要与集群规模相匹配,否则会因为IP地址不足导致无法创建节点。
否则环境变量将不会生效,而使用DNS则没有此限制。 CCE集群提供了CoreDNS插件作为集群中的DNS服务器。DNS服务器为新的Services监视Kubernetes API,并为每个Services创建一组DNS记录。 如果在整个集群中启用了DNS,则所有Pods应该能够自动对Services进行名称解析。
网络管理最佳实践 本文主要为您介绍网络管理相关实践。 场景分类 相关最佳实践 集群网络配置相关实践 集群网络地址段规划实践 集群网络模型选择及各模型区别 CCE Turbo配置容器网卡动态预热 在VPC网络集群中访问集群外地址时使用Pod IP作为客户端源IP 网络环境打通相关实践
C的域名解析服务器进行解析。 如果是需要解析华为云内域名,则转发给DNS Endpoint,使用华为云DNS解析出地址并返回。 如果是需要解析IDC域名,则直接通过IDC的域名解析服务器直接解析出地址并返回。 图2 节点同时访问华为云域名和外部域名 对于容器中的域名解析,可在创建Pod时将DNS
客户端配置Host域名指定DNS域名地址,或者客户端主机配置/etc/hosts,添加域名映射。 云上内网使用,云解析服务DNS支持配置集群弹性IP与自定义域名的映射关系。后续更新弹性IP可以继续使用双向认证+自定义域名访问集群,无需重新下载kubeconfig.json配置文件。 自建DNS服务器,自行添加A记录。
易造成业务抖动。您可以通过对Pod配置带宽限制来解决这个问题。 功能规格 Pod带宽限制功能规格如下: 功能规格 容器隧道网络模型 VPC网络模型 云原生网络2.0模型 支持的集群版本 所有集群版本均支持 v1.19.10以上集群版本 v1.19.10以上集群版本 Egress带宽限制
容器网络插件 CoreDNS域名解析 NGINX Ingress控制器 节点本地域名解析加速 父主题: 插件
overlay_l2:容器隧道网络,通过OVS(OpenVSwitch)为容器构建的overlay_l2网络。 vpc-router:VPC网络,使用ipvlan和自定义VPC路由为容器构建的Underlay的l2网络。 配置建议: 优选CCE Turbo 容器网络网段 集群下容器使用的
网络策略(仅适用于容器隧道网络) 如果您在容器隧道网络类型的集群中配置了网络策略,并且Pod所在的命名空间也设置了网络策略,则该网络策略可能会限制Pod中访问的目标地址。 如果该网络策略限制Pod中的访问,则需要修改网络策略,具体可参考配置网络策略限制Pod访问的对象。 父主题: 从Pod访问集群外部网络
网络异常问题排查 工作负载网络异常时,如何定位排查? 负载均衡类型Service异常问题排查 集群内部无法使用ELB地址访问负载 集群外部访问Ingress异常 CCE集群中域名解析失败 为什么访问部署的应用时浏览器返回404错误码? 为什么容器无法连接互联网? VPC的子网无法删除,怎么办?
负载均衡器配置:后端云服务器组 后端云服务器组的负载均衡算法 服务对接的后端实例会在一个后端云服务器组中,此参数支持配置后端云服务器组的负载均衡算法。 参数名 取值范围 默认值 是否允许修改 作用范围 k8s annotation: kubernetes.io/elb.lb-algorithm
Turbo集群中,需要为Pod设置节点亲和性调度,以保证Pod不会调度到边缘节点,否则将导致固定IP无法保留。 不支持直接修改Pod对象的固定IP的annotations的值,如果直接修改的话,后台不会生效;如有修改诉求,请直接修改对应的StatefulSet工作负载spec.template字段下的annotations配置。
0 11m CoreDNS安装成功后会成为DNS服务器,当创建Service后,CoreDNS会将Service的名称与IP记录起来,这样Pod就可以通过向CoreDNS查询Service的名称获得Service的IP地址。 访问时通过nginx.<namespace>
0/25,则可支持122个节点。若创建200个节点集群,则实际只能添加122个节点(包括控制节点)。 图1 查看“可用IP数” 相关文档 集群网络地址段规划实践 父主题: 网络规划
更改集群节点的默认安全组 操作场景 集群在创建时可指定自定义节点安全组,方便统一管理节点的网络安全策略。对于已创建的集群,支持修改集群默认的节点安全组。 约束与限制 一个安全组关联的实例数量建议不超过1000个,否则可能引起安全组性能下降。更多关于安全组的限制请参考安全组限制。
容器如何访问VPC内部网络 前面章节介绍了使用Service和Ingress访问容器,本节将介绍如何从容器访问内部网络(VPC内集群外),包括VPC内访问和跨VPC访问。 VPC内访问 根据集群容器网络模型不同,从容器访问内部网络有不同表现。 容器隧道网络 容器隧道网络在节点网络基础上通过隧
端口需要放通。 表8 Node节点安全组出方向规则最小范围 端口 放通地址段 说明 UDP:53 子网的DNS服务器 用于域名解析。 UDP:4789(仅容器隧道网络模型的集群需要) 所有IP地址 容器间网络互访。 TCP:5443 Master节点网段 Master的kube-apiserver的监听端口。
对外端口:开放在负载均衡服务地址的端口,可任意指定。 访问控制: 继承ELB已有配置:CCE不对ELB侧已有的访问控制进行修改。 允许所有IP访问:不设置访问控制。 白名单:仅所选IP地址组可以访问ELB地址。 黑名单:所选IP地址组无法访问ELB地址。 证书来源:支持TLS密钥和ELB服务器证书。
排查项四:NAT网关+端口 配置在NAT后端的服务器,通常不配置EIP,不然可能会出现网络丢包等异常。 排查项五:检查容器所在节点安全组是否放通 用户可单击服务列表中的“网络 > 虚拟私有云 VPC”,在网络控制台单击“访问控制 > 安全组”,找到CCE集群对应的安全组规则进行修改和加固。 CCE集群: