k8s
文章平均质量分 51
BanFS
欠的技术债,早晚要还
展开
-
kubernetes cluster autoscale 不会删除nodes
项目上线后,通过kubectl top node,发现有的node上使用的资源非常少,kubectl describe node 发现完全可以驱逐。但是cluster aotuscaler缺没有驱逐。按照官方的说法检查了node上的pod,没发现有什么pod满足以上。gitlab runner原来装在kube-system namespace下,最后把node上的gitlab runner删除,node即可被驱逐,猜测gitlab runner可能满足了以下导致。...原创 2022-04-16 14:39:34 · 455 阅读 · 0 评论 -
iptable为什么之后pod的probability越来越大
项目集群是使用k8s管理的,流量分发使用的是iptable,据压测反馈说负载不均衡,吓得老夫赶紧去查看,发现原来是压测同学搞错了。在查询的过程中,发现iptable规则之后的probability越来越大,记录一下原因。root@ip-10-1-34-89:/home/admin# iptables -t nat -nL...Chain KUBE-SVC-7XZINH2IMK6FHKPK (2 references)target prot opt source d原创 2022-02-10 20:03:47 · 776 阅读 · 0 评论 -
linux 磁盘IO满导致的宿主机卡机,pod失败(/kubepods/besteffort/pod4909103c-cdc)
背景开发机上装了minikube,起了一个docker镜像当minikube的宿主机,在启动了一定量的deployment A之后,deployment A就全挂了(启动1~2个deployment A,没有问题,启动到第三个,就全挂)。然后宿主机卡爆。查询pod挂的原因kubectl describe pod ... Exit Code: 137 Started: Wed, 29 Sep 2021 16:02:30 +0800 Finished:原创 2021-09-29 19:35:42 · 20211 阅读 · 0 评论 -
第一次服务器上限需要资源评估
本是小辣鸡。以前也只是写业务代码,全靠领导给机会让我自己负责一个服务器的编写,部署,上线需要的资源评估。记录第一次做上线资源评估的过程。项目背景是,搭在云服务商上的集群,集群管理是kubernetes。首次内测目标5000个用户。主要如下1.服务器需要多少内存2.服务器需要多少cpu3.了解购买的云服务参数4.修改kubernetes部署文件首先需要做压测,我写的服务器是用golang写的用于聊天服务器,所以在世界聊天的时候,压力就会非常大。压力也是要测试这里,看看需要消耗多少性能。服务器需原创 2021-08-05 21:53:08 · 1028 阅读 · 0 评论 -
Kubernetes nodes are not ready原因查看
今早收到了Prometheus的报警,4% of Kubernetes nodes are not ready。直接查看node情况即可知道原因。banfushen@pro:~/helm-chart/prometheus-netease/templates$ kubectl describe nodes ip-xx-x-xxx-xxx.ap-northeast-1.compute.internalName: ip-xx-x-xxx-xxx.ap-northeast-1.co原创 2021-07-24 18:02:50 · 630 阅读 · 0 评论 -
工作中第一次使用gitlab提交代码,到gitlab CICD自动部署到k8s碰到的坑,最终解决的过程。
背景我不是从头开始搭建,而是在已有部分条件的情况下进行,因为是我自己一个人负责集群中,一个服务器的重写,领导就叫我在gitlab上创建仓库,然后自己提交代码。我之前是没用过gitlab的,上一家公司的工作用的是svn,所以对我来说,一切都是未知。我的项目是golang写的。我的目的是:把项目打包成镜像—>上传到镜像仓库—>部署到k8s先建立仓库登录gitlab—>选择New project,会到一下页面,按照自己的情况填写这里有一点需要注意,当你创建完项目之后,会看到一些指引,原创 2021-01-26 21:02:22 · 1514 阅读 · 0 评论 -
k8s中,启动pod失败,调试方法。
在k8s中,是不能够直接启动容器的,容器必须要依附于pod的形式启动。当pod启动失败的时候,可以这么去调试。 1.找到pod启动的镜像,将镜像进行二次封装,修改镜像的入口FROM xxxxx //pod启动的镜像ENTRYPOINT ["python", "-m", "SimpleHTTPServer", "8080"] //修改镜像的入口 2.将镜像上传到镜像库 3.修改pod的yaml文件,修改镜像地...原创 2020-12-21 18:45:20 · 2749 阅读 · 0 评论 -
k8s中,怎么在container中切换角色
工作中,需要在k8s中调试container,但是container中有可能很多东西又没有,比如vim等,没有就无法修改代码,想使用su 更改为root用户又不知道密码。可以使用以下方法。 直接修改pod的yaml文件containers: - name: ... image: ... securityContext: runAsUser: 0这样登录进去就是root角色,0指root用户的uid。在里面就可以安装自己想安装的工具进行调试。...原创 2020-12-21 11:20:40 · 1336 阅读 · 0 评论