阿里云ECS自建K8S_IPV6重启后异常问题解决过程


背景

最近安装了一个单节点的K8S_IPV6
昨天不知道何故 突然宕机了. 然后只能在阿里云的控制台后台重启了ECS
启动之后看K8S的状态一开始是正常的. 但是查看ing的时候,发现IP地址却变成了 IPV4的地址, 感觉比较奇怪.
这里整理一下处理过程.

问题现象

怀疑是因为阿里云 IPV6 地址存在一些故障风险
我在进行应用和数据库大量链接更新之后机器连不上了
不得已重启机器:
kubectl get ing
NAME CLASS HOSTS ADDRESS PORTS AGE
k8sipv6.jnxlh.online nginx k8sipv6.jnxlh.online 172.17.99.99 80 9h 出现类似的问题.
感觉比较奇怪

重启机器进行验证

再次重启了机器, 发现还是如此,并且不少pod节点的地址变成了 IPV4的

kube-system     kube-proxy-wt8dg                            1/1     Running     1 (2d9h ago)   3d23h   172.22.79.99                            amd9t34 

发现每次启动完都会增加一个 默认的 hosts信息
172.22.79.99 amd9t34 amd9t34
然后删除这条记录 再启动kubelet 可能需要重建 ingress 如果是其他机器需要加入 需要再hosts里面增加IPV6 对应地址 先重新初始化一下:
kubeadm reset -f --cri-socket=unix:///var/run/cri-dockerd.sock 注意 一定要增加如下内容
vim /etc/sysctl.conf
增加内容为:
net.ipv6.conf.default.forwarding = 1 然后加入集群
kubeadm join [2408:400a:]:6443 --token w8zcp3 --discovery-token-ca-cert-hash sha256:b52e8e73a --cri-socket=unix:///var/run/cri-dockerd.sock 注意可以通过增加一个 -v2的方式进行展示.

ingress的处理

重新创建 ingress 之后再次部署 ingress的资源需要执行一个命令
kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission 然后再次重建ingress的资源就可以了.

总结

阿里云的虚拟机 总是在启动时给hosts 增加一个ipv4的地址信息

重启之后 K8S only IPV6的栈可能会出现异常.

遇到问题需要进行一下其他的处理.

阿里云ECS自建K8S_IPV6重启后异常问题解决过程的更多相关文章

  1. Kubernetes实战总结 - 阿里云ECS自建K8S集群

    一.概述 详情参考阿里云说明:https://help.aliyun.com/document_detail/98886.html?spm=a2c4g.11186623.6.1078.323b1c9b ...

  2. 阿里云ecs Linux下安装MySQL后设置root密码 【转】

    方法一:最简单的方法,也是安装完mysql后,系统提示的方法.使用mysqladmin来完成.shell> mysqladmin -u root password "newpwd&qu ...

  3. 阿里云ecs初始化磁盘后远程连接不到服务器

    阿里云初始化磁盘后远程连接不到服务器 报错: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! ... 原因:阿里云ecs第一次链接服务器之后会在本地电 ...

  4. Mac电脑 阿里云ECS(ContentOS) Apache+vsftpd+nodejs+mongodb建站过程总结

    简介:我这里采用的阿里云免费提供的6个月ECS服务器:制作了一个简单的爬虫程序:里面很多功能还么做:搜索里面功能回去的数据未做处理会崩溃(大家不要点搜索功能):地址:http://loldragon. ...

  5. 阿里云Ubuntu快速建站

    阿里云Ubuntu快速建站 有一个小笑话: 从前有个程序员遇到了一个问题.他想,没事,我懂,用线程就好了.现他有两个问题了. 本人小白,对网站部署什么都不懂,只是申请个阿里云服务器,把我的站点放上去. ...

  6. 【日记】thinkphp项目阿里云ECS服务器部署

    项目本地开发告一段落.准备上传到服务器上测试 技术组成 thinkphp+mysql+阿里ECS  代码管理方式git 一.阿里ECS服务器配置 1.因为线上已经有几个站点了.所以要配置ngnix多站 ...

  7. 在阿里云ECS上搭建LEMP环境

    在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境 ...

  8. 阿里云上安装mysql步骤/ 阿里云ECS搭建Java+mysql+tomcat环境

    使用阿里云ECS挺长一段时间了.这两天碰巧朋友小白让我一步一步教他在ECS上搭建Java+mysql+tomcat环境,所以把在这里把步骤在这简单整理了一下,以便需要的人查阅. 我购买的阿里云服务器系 ...

  9. 阿里云ecs云服务器安装wdcp控制面板教程

    以前就听说服务器非常的难,而且我也不懂代码,不懂英文,我怕自己学不会就买了一个月的.开始我都不知道啥样的服务器,还是我的一位哥们给我远程买的,他说这个镜像最稳定了. 服务器买好后我便开始研究,可是怎么 ...

  10. 阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例

    阿里云ECS(linux)磁盘满触发的mysql的表异常修复案例 阿里云技术支持:完颜镇江 问题现象: 磁盘空间满了,第一想到的就是删除无用的服务日志或者升级数据盘. 通常是使用du –sh去分析目录 ...

随机推荐

  1. 用Spring Boot 3.2虚拟线程搭建静态文件服务器有多快?

    Spring Boot 3.2 于 2023 年 11 月大张旗鼓地发布,标志着 Java 开发领域的一个关键时刻.这一突破性的版本引入了一系列革命性的功能,包括: 虚拟线程:利用 Project L ...

  2. servlet怎么实现第一个程序和实现下载文件

    简单介绍一下servlet是什么:1:Servlet是sun公司提供的一门用于开发动态web资源的技术 2:我们若想用发一个动态web资源,需要完成以下2个步骤: 第一步:1.编写一个Java类,实现 ...

  3. kubernetes之部署nginx+vue前端(一)

    kubernetes之部署nginx+vue前端(一) k8s系列项目的部署方式之一使用了kubernetes部署nginx+vue前端. 一.打包前端 将dist与Dockerfile放到同一目录下 ...

  4. Flume快速入门

    Flume快速入门 一.简介 高可用.高可靠,分布式的海量日志采集.聚合和传输系统,基于流式架构,灵活简单. event:事件 source:数据源 sink:目标 channel:数据管道 通过获取 ...

  5. 4大特性看Huawei Cloud EulerOS为开发者带来平滑迁移体验

    摘要:本期<解密Huawei Cloud EulerOS算力释放技术>主题直播中,华为云DTSE技术布道师陆维迪通过剖析传统OS上云面临的性能,安全,弹性等问题,与开发者们分享Huawei ...

  6. 论文分享丨Holistic Evaluation of Language Models

    摘要:该文为大模型评估方向的综述论文. 本文分享自华为云社区<[论文分享]<Holistic Evaluation of Language Models>>,作者:DevAI. ...

  7. 聊聊LiteOS事件模块的结构体、初始化及常用操作

    摘要:本文通过分析LiteOS事件模块的源码,深入掌握事件的使用. 事件(Event)是一种任务间通信的机制,可用于任务间的同步.多任务环境下,任务之间往往需要同步操作,一个等待即是一个同步.事件可以 ...

  8. 华为云GuassDB(for Redis)发布全新版本推出:Lua脚本和SSL连接加密

    摘要:9月8日,华为云GuassDB(for Redis)正式推出全新版本.新版本内核带来性能提升.无损升级.慢日志统计等多维度产品体验,同时推出Lua脚本和SSL连接加密两大重要功能,让业务设计更加 ...

  9. 火山引擎DataLeap的Data Catalog系统公有云实践

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 Data Catalog是一种元数据管理的服务,会收集技术元数据,并在其基础上提供更丰富的业务上下文与语义,通常支 ...

  10. Solon2 的 Bean 生命周期

    Solon 框架的 Bean 是被容器托管的,所以它的生命周期只限定在容器内部: 时机点 说明 补充 AopContext::new() 是在应用初始化时执行 ::new() AopContext:: ...