网络
简介
通过阅读本章节用户可以了解:
- 如何为弹性CCI的pod配置默认使用的指定dns服务器。
- CCE集群pod与CCI集群中pod通过service互通的使用指导。
- 弹性CCI侧pod通过service发布。
约束与限制
- 使用共享VPC的CCE集群不支持开启“网络互通”功能。
- 使用CCE集群中的Bursting插件对接CCI 2.0服务,支持配置独享型ELB的Ingress和Service。Bursting插件1.5.5以下版本不支持配置ELB类型的Service。
- 当前网络互通能力依赖sidecar容器的启动,如需使用以下功能,插件升级到1.5.28及以上版本:
- 业务容器需要使用postStart功能。
- 在初始化容器中使用网络互通能力,需要开启初始化容器网络互通开关。
- 开启网络互通能力、开启初始化容器网络互通开关等操作需等待相关组件就绪,再下发负载,否则会导致功能异常。
- 跨CCE和CCI实例Service网络互通只支持集群内访问(ClusterIP)类型。不支持在init-container中访问CCE侧ClusterIP service。
- 跨CCE和CCI实例,在对接LoadBalancer类型的Service或Ingress时:
- 禁止指定健康检查端口,在CCE集群下,由于CCI的容器与CCE的容器在ELB注册的后端使用端口不一致,指定健康检查端口会导致部分后端健康检查异常。
- 跨集群使用Service对接同一个ELB的监听器时,需确认健康检查方式,避免服务访问异常。
- 跨CCE和CCI实例,在对接共享型LoadBalancer类型的Service时,需要放通node安全组下100.125.0.0/16网段的容器端口。
配置默认使用的指定dns服务器
操作场景
在某些场景中,用户想要弹性CCI的Pod可以使用指定的dns服务器地址。bursting插件提供配置指定的dns服务器地址的能力,无需在每个Pod上都配置dnsConfig,从而降低用户网络运维成本。
操作步骤
- 登录CCE集群节点,编辑bursting负载的yaml。
kubectl edit deploy cceaddon-virtual-kubelet-virtual-kubelet -nkube-system
CCE集群pod与CCI集群中pod通过service互通的使用指导
- 安装插件,勾选”网络互通“功能。
安装成功后租户账号下会自动创建负载均衡器,可以通过网络控制台进行查看。
- 创建弹性CCI侧pod,并配置service发布。
- 通过CCE集群控制台,获取该负载的访问方式。
- 创建CCE侧pod,并配置service发布。方法请参考步骤2,不选择弹性CCI标签。
- 验证网络互访。
创建弹性CCI的工作负载,镜像选择含有curl命令的镜像,如centos。
通过CCI侧进入该容器,执行图中命令,观测CCI访问CCE service网络打通。
图1 访问CCE pod的service - 同理创建CCE侧pod,镜像选择含有curl命令的镜像,如centos。执行相同的命令。观测CCE访问CCI service网络打通。
图2 访问CCI pod的service
初始化容器网络互通开关配置
初始化容器网络互通开关默认关闭,若要使用,请在开启网络互通功能开关的前提下,根据以下操作进行配置。
- 登录CCE控制台。
- 选择CCE集群,单击进入CCE集群总览页面。
- 在导航栏左侧单击“插件中心”,进入插件中心首页。
- 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“编辑”。
图3 CCE 突发弹性引擎 (对接 CCI)插件
- 在“网络互通(可选)”开启的条件下,单击“编辑YAML”。
图4 编辑插件
- 将“set_proxy_as_first_initcontainer”配置为true。
图5 修改参数
- 在“CCE 突发弹性引擎 (对接 CCI)”插件的实例列表中查看实例名称为“bursting-cceaddon-virtual-kubelet-virtual-kubelet-xxx”、“cceaddon-virtual-kubelet-virtual-kubelet-xxx”状态显示为“运行中”,表示重新部署完毕,该功能可正常运行。
图6 查看插件部署状态