网络拓扑

BigIP 配置 vxlan tunnel

1. 将 data interface 配置上 vlan 和 self IP 地址,确保数据口 self IP 可以正常联通:


2. 创建 vxlan profile:

3. 创建 tunnel 将 vxlan profile 绑定到 data selfip(local Address) 上,用来做 overlay。tunnel 的 key 即是 vxlan 的 id,这里得对映之前 k8s 中 flannel 的 vxlan ID。

4. 创建 bigip underlay 网络接口:
BigIP 上添加一个 self IP 作为 vxlan 的 underlay 网络流量的出入口。

selfip 作为一个流量出入口,它的 netmask 必须保证 k8s 中其他 node 的 underlay 网络访流量都可以问到,所以和 flannel 部署时指定的管理网段一样为 /16

selfip 的 IP Address 最好选择和其他 node 不会冲突的任意 IP (IP 地址需要在 Flannel 管理范围内)。

比如这里配置的 IP Address: 10.200.3.1, Netmask:255.255.0.0

注意:k8s 集群中,flannel interface (每台 node 上 flannel.1 名称的 interface) 使用的是 32 位 netmask,但是配置 self IP 不支持,所以不能模仿 k8s flannel 方式配置成 32 位。

Specifies the full netmask. Network prefix lengths (CIDR) are not supported

配置完 IP 和 NETMASK 后,需要绑定上一步创建的 vxlan tunnel profile。

配置完成后 bigip 机器上会有两个 selfip IP,一个是 overlay,一个是 underlay:

k8s 集群上添加 BigIP 设备 (k8s master node)

完成 BigIP 设备配置后,需要将 BigIP 设备作为一个 node 加入 k8s 集群。Node resource 的 yaml 文件如下:

# [root@vxlan-k8s ~]# cat flannel-node.yaml
apiVersion: v1
kind: Node
metadata:name: bigip1annotations:# Replace IP with Self-IP for your deploymentflannel.alpha.coreos.com/public-ip: "10.110.10.10"# uncomment the following line if using v6 tunnel and modify bigip v6 address# flannel.alpha.coreos.com/public-ipv6: "2021:15::125"# Replace MAC with your BIGIP Flannel VXLAN Tunnel MACflannel.alpha.coreos.com/backend-data: '{"VtepMAC":"fa:16:3e:0f:6d:4f"}'# uncomment the following line if using v6 tunnel and modify mac accordingly# flannel.alpha.coreos.com/backend-v6-data: '{"VtepMAC":"fa:16:3e:d5:28:07"}'flannel.alpha.coreos.com/backend-type: "vxlan"flannel.alpha.coreos.com/kube-subnet-manager: "true"
spec:# Replace Subnet with your BIGIP Flannel SubnetpodCIDR: "10.200.3.0/24"# uncomment the following 3 lines if using v6 tunnel and modify CIDRs using real data#podCIDRs:#- "10.42.20.0/24"#- "2021:118:2:2::/64"
  • flannel.alpha.coreos.com/public-ip: 数据口的 overlay selfip

  • flannel.alpha.coreos.com/backend-data: 创建完 vxlan tunnel,绑定 underlay IP 后,BigIP 会虚拟出来一个和 vxlan tunnel 同名的 interface,将那个 interface 的 MAC 地址配置在此处。

  • podCIDR: BigIP underlay 的 selfip 地址。注意这里是遵循 flannel 的管理,netmask 需要配置成 /24。但是在 BigIP 上位了所有流量出入 selfip 的 netmask 配置成/16

定义完 node yaml 后,在 master 节点运行 kubectl apply -f flannel-node.yaml。最终可以看到 bigip node 虽然是 NotReady 状态,但是已经加入 k8s 集群。

[root@vxlan-k8s ~]# kubectl get nodes
NAME                           STATUS     ROLES           AGE   VERSION
bigip1                         NotReady   <none>          21d
vxlan-k8s.pdsea.f5net.com      Ready      control-plane   21d   v1.26.1
vxlan-test-1.pdsea.f5net.com   Ready      <none>          21d   v1.26.1
vxlan-test-2.pdsea.f5net.com   Ready      <none>          21d   v1.26.1

测试使用

安装 K8S, Bigip, Gateway API 测试环境 (2)相关推荐

  1. 安装 K8S, Bigip, Gateway API 测试环境 (1)

    准备环境 K8s controller node: vxlan-k8s K8s pod node (两个): vxlan-test-1 vxlan-test-2 BigIP: vxlan-bigip ...

  2. 单机快速体验k8s集群的测试环境

    快速指南 以下为快速体验k8s集群的测试.开发环境–单节点部署(aio),国内环境下比官方的minikube方便.简单很多. 1.基础系统配置 准备一台虚机配置内存2G/硬盘30G以上 最小化安装Ub ...

  3. Oracle 测试环境 数据库安装过程

    1. 搭建windows服务器或者虚拟机, 需要处理的地方: 1) 关闭防火墙(测试环境使用) 2)  更新必要的安全补丁(不连入网络时进行处理) 3)  打开远程访问. 4) 修改电源模式,建议使用 ...

  4. 大数据原生集群本地测试环境搭建六

    本篇软件版本 Kylin2.5.1!!!!强烈建议不要和我一样原因下面解释 Datax MongDB_linux-x86_64-4.0.10 clickhouse20.8.3.18-1 集群最后完善 ...

  5. 使用kubeadm安装k8s集群故障处理三则

    最近在作安装k8s集群,测试了几种方法,最终觉得用kubeadm应该最规范. 限于公司特别的网络情况,其安装比网上不能访问google的情况还要艰难. 慢慢积累经验吧. 今天遇到的三则故障记下来作参考 ...

  6. 使用docker急速搭建Oracle测试环境(完全离线)

    前言: Oracle作为一个重型的关系型数据库,还是十分优秀的,那么,在生产环境正式使用前,我们通常还是需要一套测试环境的,而本地安装Oracle又比较繁琐,麻烦,并且,在不想使用会劝退一大波人的,因 ...

  7. 从零开始离线安装k8s集群

    本文主要用于在内网(离线)环境安装k8s集群:linux环境 centos7.6 主要步骤有: 安装docker 创建dokcer 私有镜像库 registry 安装kubernetes 安装flan ...

  8. unutun21.04安装k8s v1.23.1(一)

    unutun21.04安装k8s v1.23.1 1. 环境初始化 2. 安装docker 2.1 安装依赖 2.2 安装gpg证书 2.3 写入软件源信息 2.4 更新并安装Docker-ce 2. ...

  9. 项目四 CentOS使用kubeadm部署工具部署测试环境的K8s集群---Kubectl命令使用以及安装dashboard界面

    大家好,我是SuieKa.在之前呢有幸学习了马哥教育提供的K8s入门指南以及视频.初来乍到,写一篇关于K8s的介绍以及部署测试环境使用的K8s集群. 树 @·K8s入门简单介绍 一.K8s(Kuber ...

最新文章

  1. 2021年大数据Spark(十八):Spark Core的RDD Checkpoint
  2. Android --- 选项卡背景样式,左侧边有颜色
  3. Goland显示“Cannot resolve symbol XXX“ 进行更新IDE的索引库
  4. Rust中对某个结构体实现方法于rust中的关联函数
  5. Bulk异常引发的Elasticsearch内存泄漏
  6. 信号量优先级反转(翻转)与优先级继承
  7. Linux故障自愈脚本,实现故障自愈要攻克的3个问题以及开箱即用的方案
  8. 新型 Linux 病毒,脚本超 1000 行,功能复杂
  9. C# ref,out
  10. php 和 java_Java和php怎么选择??
  11. 看看老外是怎么对待免费软件的。
  12. 多元统计分析朱建平pdf_应用多元统计分析课后答案朱建平版
  13. ccy测试影响因子版270ms
  14. 系统的用户分析方法及分析内容
  15. IETester必备浏览器测试工具
  16. 如何将本地图片转换成链接
  17. kotlin框架Anko的使用及常用的项目配置
  18. TWS耳机哪个牌子音质好?TWS耳机推荐!
  19. anr用户无响应问题的解决
  20. react组件React slick的使用

热门文章

  1. 给UIButton设置BackgroundColor:forState
  2. JavaScript中的Array下篇
  3. 【2022持续更新】大数据最全知识点整理-数据仓库篇
  4. 香水pro学习专区?????
  5. 光猫改桥接之后连接路由器上网的设备不能访问光猫的解决方法
  6. 我亲眼看到一群人通过游戏推广翻身,推广游戏的主播成为亿级大佬
  7. 机器视觉——OpenCV案例分析基础(二)(给图片打马赛克与图像的运算处理)
  8. Tcl-5. format 命令
  9. 深度解析刷脸支付,加盟前必读!
  10. tbc自建服务器,魔兽世界tbc怀旧服服务器阵营比例_wowtbc服务器阵营比例_3DM网游...