k8s集群启动了上万个容器(一个pod里放上百个容器,起百个pod就模拟出上万个容器)服务器超时,无法操作的解决办法
问题说明:
一个POD里放了百个容器,然后让K8S集群部署上百个POD,得到可运行上万个容器的实验目的。
实验环境:3台DELL裸机服务器,16核+64G,硬盘容量忽略吧,上T了,肯定够。
1.一开始运行5000多个容器的时候(也就50个POD),集群部署后,10几分钟就起来了,感觉还不错。
2.增加压力,把50个POD增加到100个POD,感觉也不会很长时间,都等到下班后又过了半个小时,还是没有起来,集群链接缓慢,使用kubect里面的命令,好久都出不来信息,UI界面显示服务器超时。
心想,完了,起不来了,把服务器撑死了。让其晚上慢慢启动吧,明天早上查看。
当当当,早上来上班了
打开服务器,使用SSH连接 master 节点,挺好,连接挺快,使用kubectl命令获取pods 信息,居然报服务器错误了,基本都是服务器超时的错误。……
然后用ssh连接 node 节点,直接连不上,本地一致在转圈圈,去机房接显示屏连接,直接也没有反应。
这下子坏了,难道要重新装服务器了,键盘鼠标 CPU都给他分配资源了。这不坏了嘛。。
敲重点……还好,master节点很好,可以连接。这一点Kubernetes做的比较好(我三台服务器的配置一样),有Master节点在就不用担心。
解决方案,上网,问大神,给的方法是 用etcd ,进入集群的专用数据库etcd,删除其POD,然后让服务器转起来
又呵呵了,对与我这样的小白,压根都不会ETCD数据库,K8S集群才刚搭建起来玩玩,怎么会那么高深的操作。
这下会不会被炒鱿鱼!!!!!!!!
突然想到了一个绝招 ,用Docker 呀,看看Docker 是否好用,这也是本次实验的杀手锏了。。下面开始着重讲述了
1.连接master节点,然后输入docker images 和docker ps 和docker ps -a 命令也就会这三个,下了一跳 ,上万个容器僵死在那里,怪不得服务器起不来,上图
2.先把所有的容器 stop掉 ,或者把你认为想stop掉的容器都可以停掉,看下 面我的操作
docker stop $(docker *) //就是停止掉前缀名字为 k8s_hello-ros-10 的容器
3.把停到的容器 删除掉,容器太多,这一步运行的有点慢(上面的代码和这次代码做了一个合并)
docker stop $(docker *) & docker *)
4.处理完之后,迅速回到Master节点的kubectl命令下,此时K8S集群有反应了,先把你的创建的pod时用的yaml 文件删除,输入命令
kubuetc delete -f XXX.yaml
5. 删除你的部署名,因为我是创建POD时,使用Deployments 部署的,所以删除部署,省的根据副本控制器自己又创建POD,那又陷入死循环了
. kubeclt get deployments - kubectl delete deployemtns XXX -n XXX命名空间
6.准备关机重启吧
先关闭NODE节点机,再关闭MASTER机器,重启看看吧
顺利成功,K8S集群启动后,原先的POD已全部删除,剩下了系统要用的POD,集群正常运转。
一次危机就这么化解了……
然后又部署了5000个容器,不敢玩大了,下面图
k8s集群启动了上万个容器(一个pod里放上百个容器,起百个pod就模拟出上万个容器)服务器超时,无法操作的解决办法的更多相关文章
- k8s集群上线web静态网站
环境准备 一台部署节点,一台master节点,还有两台节点node1,node2 完好的k8s集群环境 思路1: 在node1和node2节点上通过宿主机与容器之间目录映射和端口映射上线静态网站(或动 ...
- 使用kind快速搭建本地k8s集群
Kind是什么? k8s集群的组成比较复杂,如果纯手工部署的话易出错且时间成本高.而本文介绍的Kind工具,能够快速的建立起可用的k8s集群,降低初学者的学习门槛. Kind是Kubernetes I ...
- Hadoop的HA集群启动和停止流程
假设我们有3台虚拟机,主机名分别是hadoop01.hadoop02和hadoop03. 这3台虚拟机的Hadoop的HA集群部署计划如下: 3台虚拟机的Hadoop的HA集群部署计划 hadoop0 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...
- k8s集群应用例如jenkins启动问题排查思路
k8s集群应用例如jenkins启动问题排查思路 待办 rancher上的事件报告>pods日志>pods内容器日志(现获取容器id再查看容器日志,获取容器id 使用的是相应问题pod的名 ...
- 利用容器逃逸实现远程登录k8s集群节点
某天, 某鱼说要吃瞄, 于是...... 李国宝:边缘计算k8s集群SuperEdge初体验 zhuanlan.zhihu.com 图标 照着上一篇文章来说,我这边边缘计算集群有一堆节点. 每个节 ...
- k8s集群Job Pod 容器可能因为多种原因失效,想要更加稳定的使用Job负载,有哪些需要注意的地方?
k8s集群Job Pod 容器可能因为多种原因失效,想要更加稳定的使用Job负载,有哪些需要注意的地方? 面试官:"计数性Job默认完成模式是什么?Indexed模式如何发布自定义索引呢?& ...
随机推荐
- 洛谷P3275 [SCOI2011]糖果_差分约束_判负环
Code: #include<cstdio> #include<queue> #include<algorithm> using namespace std; co ...
- wamp的安装配置
WAMP是指在Windows服务器上使用Apache.MySQL和PHP的集成安装环境,可以快速安装配置Web服务器. 一.下载安装包 进入官网下载:http://www.wampserver.com ...
- C++基础 (6) 第六天 继承 虚函数 虚继承 多态 虚函数
继承是一种耦合度很强的关系 和父类代码很多都重复的 2 继承的概念 3 继承的概念和推演 语法: class 派生类:访问修饰符 基类 代码: … … 4 继承方式与访问控制权限 相对的说法: 爹派生 ...
- SQL更新字段内容部分值
UPDATE att_allSET attachment = REPLACE(attachment, 'pw/', '')WHERE (attachment LIKE 'pw/%')
- 原生node写一个静态资源服务器
myanywhere 用原生node做一个简易阉割版的anywhere静态资源服务器,以提升对node与http的理解. 相关知识 es6及es7语法 http的相关网络知识 响应头 缓存相关 压缩相 ...
- Project Euler 23 Non-abundant sums( 整数因子和 )
题意: 完全数是指真因数之和等于自身的那些数.例如,28的真因数之和为1 + 2 + 4 + 7 + 14 = 28,因此28是一个完全数. 一个数n被称为亏数,如果它的真因数之和小于n:反之则被称为 ...
- SpProcPool阅读笔记--1
公司产品用了一个开源的框架,最近出了点问题,细看了这个框架. SpProcPool: https://github.com/spsoft/spprocpool.git 我们的线程池用的是传递文件描述 ...
- Python设计模式--单例模式(懒汉式)
1. 单例模式 --> 单一(唯一)的实例. 在整个运行时间内, 内存中只有一个对象, 一般该对象涉及网络,资源等操作. 2. 单例模式一般分为懒汉式和饿汉式 懒汉式内存占用更加合理. 3. 调 ...
- python第六周:面向对象编程
面向对象编程: 世界万物,皆可分类 世界万物,对象 只要是对象,就肯定属于某种品类 只要是对象,就肯定有属性 oop编程利用"类"和"对象"来创建各种模型来实现 ...
- 【hihocoder 1312】搜索三·启发式搜索(普通广搜做法)
[题目链接]:http://hihocoder.com/problemset/problem/1312?sid=1092352 [题意] [题解] 从末状态的123456780开始逆向搜; 看它能到达 ...