当前位置: 首页 > news >正文

k8s+isulad 国产化技术栈云原生技术栈搭建1-VPC

为响应政策,最近在捣鼓国产化云原生平台的搭建。在搭建过程中遇到了问题记录下来,以备后续查找。

我选用了中国电子云的云平台来搭建K8S集群,选用的技术栈是华为开源的openeuler+k8s+isulad框架,参考官网文档资料:iSulad+k8s环境部署 | 文档 | openEuler社区

搭建过程中遇到的第一个问题是:创建K8S集群Master节点高可用网络不通问题。

按照我前面博客中写过的:在3个Master节点上使用keepalived建立虚拟地址,通过配置设置切换优先级,当虚拟地址所在的主机宕机时,虚拟地址按照优先级顺序自动切换至下一个Master节点,以确保控制节点的可用性。其确保高可用的k8s中的服务主要是注册服务etcd和接口服务apiserver。只不过当前的环境Master节点不是通过物理机部署,而是在中国电子云云服务器ECS中创建的虚拟机上部署的,操作系统安装的是OpenEuler-x86_64_LTS。

keepalived的安装配置方法基本和前面写的“k8s学习笔记——keepalived非容器”相同(创作中心-CSDN),其配置脚本如下:

// /etc/keepalived/keepalvied.conf
global_defs {router_id LVS_2
}vrrp_script checkhaproxy {script "/usr/bin/check-haproxy.sh"interval 3weight -30
}vrrp_instance VI_2 {state MASTER    //备用节点BACKUPinterface enp3s1  //主网卡接口virtual_router_id 41  //其他节点号要一致priority 100    //值越大优先级越大nopreemptadvert_int 1authentication {auth_type PASSauth_pass txgm2m85331919}garp_master_refresh 5garp_master_delay 1unicast_src_ip 22.12.70.141   //当前主机ip,启用单播模式防止默认的多播系统阻断unicast_peer {  // 其他master节点地址22.12.70.142  22.12.70.143}virtual_ipaddress {22.12.70.140/25 dev enp3s1  //虚拟地址} track_interface {enp3s1}track_script {checkhaproxy}
}

按照以前的配置在master1节点,ip:22.12.70.141的地址上通过ip addr命令查看可以看到ip:22.12.70.140的虚拟地址,将master1节点虚拟机关机,虚拟地址22.12.70.140也能浮动到master2节点上。但是虚拟地址22.12.70.140只能在本地ping通,其他主机节点均不通,无论是跨网段还是本网段。在DeepSeek上询问此问题,它起初判断定位是:ARP广播问题、防火墙阻止VRRP/ICMP、网络设备限制。按照AI给的解决方案逐一排查:

检查防火墙,防火墙是关闭的;怀疑是多播被禁止了,于是又在配置文件中配置了unicast_src_ip,还是不管有;通过sudo tcpdump -i enp3s1 host 22.12.70.140命令在master1上监听,其他节点ping该节点:

10:03:00.828170 ARP, Request who-has k8s-isulad-master1 tell k8s-isulad-master3, length 42
10:03:00.828179 ARP, Reply k8s-isulad-master1 is-at 06:37:85:22:35:4d (oui Unknown), length 28

也能收到arp数据包,从其他网段traceroute 22.12.70.140 能到达网关,再往下就不通了;就怀疑是控制策略问题,又按照其解决方案对/etc/sysctl.conf文件配置了一通,还在master1节点上给22.12.70.140地址配置了vip的策略路由,结果统统不管用。为恢复配置索性又重装了系统。问题依旧存在。

通过上述尝试,我怀疑问题不应该出在master节点上,有可能是网络的VXLAN的问题。于是我到网关节点的交换机上进行测试,发现除了虚拟地址所有地址都可以ping通,在arp映射表中找不到22.12.70.140地址对应的mac地址映射,并且这种现象在我之前配置的物理主机做的高可用虚拟地址上同样存在,这更坚定了我的判断,于是联系了中国电子云的技术售后,给他们讲了此问题。

经过技术售后远程查看,发现问题原因和上述判断都没有关系,而是因为在虚拟机上想配置高可用需要先配置云服务的专有网络VPC,将在ECS中虚拟地址创建到VPC中,并绑定虚拟主机,此虚拟地址才可生效。在物理主机中因为网络不受ECS和VPC控制,所以虚拟地址可以在同网段生效,通过网关配置可以实现跨网段通信,但在ECS中创建的虚拟机因为是软件定义网络,需要先创建VPC专有网络,才能实现通信。按照VPC专有网络配置完后,虚拟地址可正常生效了,上述问题也得到了解决。

通过2天的折腾,发现AI大模型并不是统统是对的,在小众问题中,有可能它给出的方案会误导你去做无用功。在国产化的生态中,厂家的技术支持还是不可或缺的。

http://www.dtcms.com/a/312960.html

相关文章:

  • 使用ACK Serverless容器化部署大语言模型FastChat
  • 如何在不停机的情况下,将MySQL单库的数据迁移到分库分表的架构上?
  • 【前端安全】聊聊 HTML 闭合优先级和浏览器解析顺序
  • [AI8051U入门第十五步]W5500实现DHCP自动获取IP
  • SpringBoot+Vue高校实验室预约管理系统 附带详细运行指导视频
  • Matlab算法编程示例4:数值解法求解常微分方程的代码实例
  • Python类与对象指南
  • java贪吃蛇小程序
  • 个人项目介绍:STM32F407核心多层电路板
  • Java试题-选择题(8)
  • 25 渗透测试培训课程第一部分 - 信息收集 内容概要
  • 江协科技STM32 14-1 WDG看门狗
  • Flask ORM 模型(轻松版)
  • 08.Redis 持久化
  • UniApp 实现顶部固定导航栏 Tab 及滚动变色效果
  • Python篇--- Python 的加载、缓存、覆盖机制
  • 复现cacti的RCE
  • 版本升级到V1.17.1后多了哪些便捷操作
  • [论文阅读] 人工智能 + 软件工程 | 英国研究软件追踪:为何大量代码成了“失踪人口”?
  • Mysql 9.4主从复制部署(传统文件日志位置mysqldump)
  • 【暑期每日一题】洛谷 P1749 [入门赛 #19] 分饼干 II
  • Python中的import和from...import有什么区别?
  • Python篇---PyPI
  • 自私挖矿攻击
  • 安卓audio 架构解析
  • 决策树的实际案例
  • Ethereum: 了解炙手可热 Layer 2 解决方案 Base
  • C++手撕基于ID3算法的决策树
  • 玩转 Playwright 有头与无头模式:消除差异,提升爬虫稳定性
  • Linux 系统调用 stat 完全用例