阿里云VPC下Kubernetes的网络地址段

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: kubernetes地址段划分 在阿里云上创建Kubernetes就能的时候,通常可以选择自动创建专有网络,完全不用操心地址分配的问题。然后事情并非总是真么简单,某些情况下,还是得自己规划ECS地址、Kubernetes Pod地址和Service地址。

在阿里云上创建Kubernetes就能的时候,通常可以选择自动创建专有网络,完全不用操心地址分配的问题。然后事情并非总是真么简单,某些情况下,还是得自己规划ECS地址、Kubernetes Pod地址和Service地址。本文将介绍阿里云VPC环境下Kubernetes里各种地址作用,以及地址段该如何选择。首先来看几个和IP地址有关的概念

VPC网段

在创建VPC选择的地址段。只能从10.0.0.0/8,172.16.0.0/12,192.168.0.0/16三者当中选择一个。

交换机网段

在VPC里创建交换机时指定的网段,必须是当前VPC网段的子集(可以跟VPC网段地址一样,但不能超过)。交换机下面的ECS所分配到的地址,就是从这个交换机地址段内获取的。一个VPC下,可以创建多个交换机,但交换机网段不能重叠。

VPC网段结构如下图

vpc

Pod地址段

Pod是Kubernetes内的概念,每个Pod具有一个IP地址。在阿里云容器服务上创建Kubernetes集群时,可以指定Pod的地址段,不能和VPC网段重叠。比如VPC网段用的是172.16.0.0/12,Kubernetes的Pod网段就不能使用172.16.0.0/16,不能使用172.17.0.0/16...这些地址都涵盖在172.16.0.0/12里了。

Service地址段

Service也是Kubernetes内的概念,每个Service有自己的地址。同样,Service地址段也不能和VPC地址段重合,而且Service地址段也不能和Pod地址段重合。Service地址只在Kubernetes集群内使用,不会出集群。

Kubernetes网段和VPC网段关系如下图

kubernetes_vpc

如何选择地址段

单VPC+单Kubernetes集群场景

这是最简单情形。VPC地址在创建VPC的时候已经确定的,创建Kubernetes集群时,选择和当前VPC不一样的地址段就可以了。

单VPC+多Kubernetes集群场景

一个VPC下创建多个Kubernetes集群。在默认的网络模式下(Flannel),Pod的报文需要通过VPC路由转发,容器服务会自动在VPC路由上配置到每个Pod地址段的路由表。所有Kubernetes集群的Pod地址段不能重叠,但Service段可以重叠。

VPC地址还是创建VPC的时候确定的,创建Kubernetes的时候,为每个Kubernetes集群选择一个不重叠的地址段,不仅不能和VPC地址重叠,也不和其他Kubernetes Pod段重叠。

需要注意的是,这种情况下Kubernetes集群部分互通,一个集群的Pod可以直接访问另外一个集群的Pod和ECS,但不能访问另外集群的Service。

VPC互联场景

两个VPC网络互联的情况下,可以通过路由表配置哪些报文要发送到对段VPC里。以下面的场景为例,VPC 1使用地址段192.168.0.0/16,VPC 2使用地址段172.16.0.0/12,我们可以通过路由表,指定在VPC 1里把172.16.0.0/12的报文都发送到VPC 2。

vpc_h

在这种情况下,VPC 1里创建的Kubernetes集群,首先不能和VPC 1的地址段重叠,同时其地址段也不能和要路由到VPC 2的地址段重叠。在VPC 2上创建Kubernetes集群也类似。这个例子上,Kubernetes集群Pod地址段可以选择10.0.0.0/8下的某个子段。

这里要特别关注“路由到VPC 2”的地址段,可以把这部分地址理解成已经占用的地址,Kubernetes集群不能和已经占用的地址重叠。

如果VPC 2里要访问VPC 1的Kubernetes Pod,则需要在VPC 2里配置到Kubernetes的路由。

VPC网络到IDC的场景

和VPC互联场景类似,同样存在VPC里部分地址段路由到IDC里,Kubernetes集群的Pod地址就不能和这部分地址重叠。IDC里如果需要访问Kubernetes里的Pod地址,同样需要在IDC端配置到专线VBR的路由表。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
9天前
|
运维 Kubernetes Cloud Native
探索Kubernetes的大二层网络:原理、优势与挑战🚀
在云原生领域,Kubernetes (K8s) 已经成为容器编排的事实标准☁️📦。为了支撑其灵活的服务发现和负载均衡🔍🔄,K8s采用了大二层网络的设计理念🕸️。本文将深入探讨大二层网络的工作原理、带来的好处✨,以及面临的挑战和解决方案❗🛠️。
探索Kubernetes的大二层网络:原理、优势与挑战🚀
|
9天前
|
存储 Kubernetes 调度
k8s常见的排错指南Node,svc,Pod等以及K8s网络不通问题
k8s常见的排错指南Node,svc,Pod等以及K8s网络不通问题
230 1
|
9天前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
4天前
|
存储 弹性计算 Kubernetes
【阿里云云原生专栏】深入解析阿里云Kubernetes服务ACK:企业级容器编排实战
【5月更文挑战第20天】阿里云ACK是高性能的Kubernetes服务,基于开源Kubernetes并融合VPC、SLB等云资源。它提供强大的集群管理、无缝兼容Kubernetes API、弹性伸缩、安全隔离及监控日志功能。用户可通过控制台或kubectl轻松创建和部署应用,如Nginx。此外,ACK支持自动扩缩容、服务发现、负载均衡和持久化存储。多重安全保障和集成监控使其成为企业云原生环境的理想选择。
144 3
|
9天前
|
Kubernetes API 调度
|
9天前
|
JSON Kubernetes 网络架构
Kubernetes CNI 网络模型及常见开源组件
【4月更文挑战第13天】目前主流的容器网络模型是CoreOS 公司推出的 Container Network Interface(CNI)模型
|
9天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
35 0
|
9天前
|
Kubernetes 应用服务中间件 数据安全/隐私保护
k8s 网络策略揭秘:CKA认证必备的网络知识全解析
k8s 网络策略揭秘:CKA认证必备的网络知识全解析
27 0
|
9天前
|
Kubernetes 网络协议 Perl
K8s网络不通Calico网络不通flannel网络不通
K8s网络不通Calico网络不通flannel网络不通
47 4
|
9天前
|
Kubernetes Shell Docker
K8S核心插件-Flannel网络插件
K8S核心插件-Flannel网络插件
65 0

相关产品

  • 容器服务Kubernetes版