Kube-OVN高级功能 | VPC 互联
功能 高级 互联 Kube OVN vpc
2023-06-13 09:15:16 时间
" 如果你怀念 SDN 领域丰富的网络能力却在云原生领域苦苦追寻而不得,那么 Kube-OVN 将是你的最佳选择。本系列我们将逐个介绍Kube-OVN高级功能的工作原理及使用路径,帮你尽快征服容器网络难题!"
VPC 互联提供了一种将两个 VPC 网络通过逻辑路由打通的机制,从而使两个 VPC 内的工作负载可以像在同一个私有网络一样, 通过私有地址相互访问,无需通过外部网关进行 NAT 转发。
前提条件
- 该功能只适用于用户自定义 VPC。
- 为了避免路由重叠两个 VPC 内的子网 CIDR 不能重叠。
- 目前只支持两个 VPC 的互联,更多组 VPC 之间的互联暂不支持。
使用方式
首先创建两个不互联的 VPC,每个 VPC 下各有一个 Subnet,Subnet 的 CIDR 互不重叠。
kind: Vpc
apiVersion: kubeovn.io/v1
metadata:
name: vpc-1
spec: {}
---
kind: Subnet
apiVersion: kubeovn.io/v1
metadata:
name: net1
spec:
vpc: vpc-1
cidrBlock: 10.0.0.0/16
---
kind: Vpc
apiVersion: kubeovn.io/v1
metadata:
name: vpc-2
spec: {}
---
kind: Subnet
apiVersion: kubeovn.io/v1
metadata:
name: net2
spec:
vpc: vpc-2
cidrBlock: 172.31.0.0/16
在每个 VPC 内分别增加vpcPeerings
和对应的静态路由:
kind: Vpc
apiVersion: kubeovn.io/v1
metadata:
name: vpc-1
spec:
vpcPeerings:
- remoteVpc: vpc-2
localConnectIP: 169.254.0.1/30
staticRoutes:
- cidr: 172.31.0.0/16
nextHopIP: 169.254.0.2
policy: policyDst
---
kind: Vpc
apiVersion: kubeovn.io/v1
metadata:
name: vpc-2
spec:
vpcPeerings:
- remoteVpc: vpc-1
localConnectIP: 169.254.0.2/30
staticRoutes:
- cidr: 10.0.0.0/16
nextHopIP: 169.254.0.1
policy: policyDst
remoteVpc
: 互联的另一个 VPC 的名字。localConnectIP
: 作为互联端点的 IP 地址和 CIDR,注意两端 IP 应属于同一 CIDR,且不能和已有子网冲突。cidr
:另一端 Subnet 的 CIDR。nextHopIP
:互联 VPC 另一端的localConnectIP
。
分别在两个Subnet下创建Pod
apiVersion: v1
kind: Pod
metadata:
annotations:
ovn.kubernetes.io/logical_switch: net1
name: vpc-1-pod
spec:
containers:
- name: vpc-1-pod
image: nginx:alpine
---
apiVersion: v1
kind: Pod
metadata:
annotations:
ovn.kubernetes.io/logical_switch: net2
name: vpc-2-pod
spec:
containers:
- name: vpc-2-pod
image: nginx:alpine
测试网络连通性
# kubectl exec -it vpc-1-pod -- ping $(kubectl get pod vpc-2-pod -o jsonpath='{.status.podIP}')
PING 172.31.0.2 (172.31.0.2): 56 data bytes
64 bytes from 172.31.0.2: seq=0 ttl=62 time=0.655 ms
64 bytes from 172.31.0.2: seq=1 ttl=62 time=0.086 ms
64 bytes from 172.31.0.2: seq=2 ttl=62 time=0.098 ms
^C
--- 172.31.0.2 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.086/0.279/0.655 ms
# kubectl exec -it vpc-2-pod -- ping $(kubectl get pod vpc-1-pod -o jsonpath='{.status.podIP}')
PING 10.0.0.2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: seq=0 ttl=62 time=0.594 ms
64 bytes from 10.0.0.2: seq=1 ttl=62 time=0.093 ms
64 bytes from 10.0.0.2: seq=2 ttl=62 time=0.088 ms
^C
--- 10.0.0.2 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.088/0.258/0.594 ms
更多功能介绍,请见Kube-OVN 最新中文文档:https://kubeovn.github.io/docs/v1.10.x/
关于Kube-OVN
Kube-OVN 是一款由灵雀云自主研发的企业级云原生 Kubernetes 容器网络编排系统,它通过将 OpenStack 领域成熟的网络功能平移到 Kubernetes,极大增强了 Kubernetes 容器网络的安全性、可运维性、管理性和性能,为 Kubernetes 生态的落地带来了独特的价值。
2021年初,Kube-OVN成为全球范围内首个被CNCF纳入托管的开源CNI网络项目,也是中国容器公司首次将独立设计研发的项目成功贡献进入CNCF基金会,同时,它也是木兰社区旗下的明星项目之一。
相关文章
- 视频流媒体服务器的作用是什么?流媒体服务器功能介绍[通俗易懂]
- canvas 高级功能(中)
- Kube-OVN 高级功能 | DPDK 支持
- 结构建模设计——Solidworks软件之装配体操作基本总结三(高级配合、机械配合、快捷菜单功能)
- 一个实现微信登录、微信用户信息存储、微信服务器管理、微信第三方平台等高级功能的Abp应用模块组
- SAP UI5 里一个功能的 compatibility version 是什么含义?
- Spring Cloud Config 高级功能(一)
- Spring Cloud Config 高级功能(二)
- Redis订阅模式的高级功能-同步订阅
- 泼辣修图高级版 强大修图功能
- 掌握MySQL高级语句,实现数据库管理的强大功能(mysql高级语句)
- 开发者成功在树莓派Pi 3B+/4B上安装功能完整的Windows 10 ARM版
- Oracle 11中强大的函数功能(oracle11函数)
- SourceForge 关闭受争议的广告捆绑功能
- “自动填充”功能可能已经泄露了个人信息
- .NET开发邮件发送功能的全面教程(含邮件组件源码)
- 深入探索Oracle 商业版的功能与优势(oracle商业版)
- 利用Oracle数据库实现跳转功能(oracle跳转)
- MySQL使用C语言实现分页功能实例(c mysql 分页例子)
- Oracle数据库的高级功能提升效率(oracle中的高级特性)
- MySQL并非完全免费,需要考虑使用许可和商业支持MYSQL也提供了高级版和服务,拥有比免费版更多的功能和灵活的技术支持
- Redis订阅功能快速上手指南(redis订阅demo)
- PHP5.3新特性命名空间规则解析及高级功能
- Lua中实现StringBuffer功能