Myluzh Blog

Strive to become a dream architect.

K8S 批量删除被驱逐的Pod(Evicted Pods)

2024-4-7 myluzh Kubernetes

0x01 故障 集群中一个deployment中有很多Evicted的pod root@iZbp12bkuvg20e1j3y9gtxZ:~# kubectl get pod -n base-ops NAME READY STATUS RESTARTS AGE registry-6d7b7c9fb4-22f2x 0/1 Evicted 0 10d registry-6d7b7c9fb4-24r7j 0/1 Evicted 0 10d registry-6d7b7c9fb4-25clg 0/1 Evicted 0 10d ... 0x02 原因 原因:由于node节点的磁盘或内存资源不够后将现有的pod进行了驱赶。可以把磁盘资源释放后,批量删除Evicted Pod kubectl -n base-ops  get pods | grep Evicted | awk '{print$1}' |xargs kubectl -n base-...

阅读全文>>

标签: k8s pod evicted 驱逐

评论(0) (35)

K8S Ingress-nginx修改上传大小限制

2024-2-23 myluzh Kubernetes

0x00 前言 最近遇到一个问题:客户端上传大一点的文件,http就直接响应Status Code:  413 Request Entity Too Large 由于k8s ingress的上游还有一个nginx,所以先判断是不是nginx限制了上传大小, nginx配置文件client_max_body_size没有问题,那就是ingress-nginx限制了大小,所以就有了下面这篇文章... root@iZbp12bkuvg20e1j3y9gtvZ:/etc/nginx/conf.d# grep "client_max_body_size" *.conf prd-all.conf: client_max_body_size 100m; test-all.conf: client_max_body_size 100m; 0x01 单个Ingress资源调整请求体大小限制 在Kubernetes中,当使用Nginx Ingress Controller时,若需要调整请求体大小限制,您可以直接在Ingress资源中添加相应的annotations。 1、编辑Ingress资源...

阅读全文>>

标签: nginx Ingress client_max_body_size annotations proxy-body-size

评论(0) (53)

Rancher 2.5.x证书过期问题 [X509 certificate has expired or is not yet valid]

2024-2-17 myluzh Kubernetes

0x01 故障描述 ranhcer UI 无法进入,查看logs提示X509 certificate has expired or is not yet valid # 查看 rancher agent 日志 root@iZbp1bddlmdujngbc11omnZ:~# docker logs -f --tail 10 b109 time="2024-02-17T03:26:04Z" level=fatal msg="Server certificate is not valid, please check if the host has the correct time configured and if the server certificate has a notAfter date and time in the future. Certificate information is displayed above. error: Get \"https://172.30.233.87:8443\": x509: certificate has expired or is not yet valid: curren...

阅读全文>>

标签: rancher

评论(0) (94)

K8S Istio安装以及入门(使用istioctl安装)

2024-1-31 myluzh Kubernetes

0x01 安装istio [root@k8s-master01 istio]# wget https://github.com/istio/istio/releases/download/1.20.2/istio-1.20.2-linux-amd64.tar.gz [root@k8s-master01 istio]# tar -zxvf istio-1.20.2-linux-amd64.tar.gz [root@k8s-master01 istio]# cd istio-1.20.2/bin/ # 对于本次安装,我们采用 demo 配置组合。https://istio.io/latest/zh/docs/setup/additional-setup/config-profiles/ [root@k8s-master01 bin]# ./istioctl install --set profile=demo -y ✔ Istio core installed ...

阅读全文>>

标签: istio service mesh istioctl

评论(0) (147)

K8S 基于Rook搭建Ceph集群 云原生存储最佳实践

2024-1-23 myluzh Kubernetes

0x00 关于Rook Rook 是一款云原生存储编排服务工具,Ceph 是一种广泛使用的开源分布式存储方案,通过 Rook 可以大大简化 Ceph 在 Kubernetes 集群中的部署和维护工作。 Rook 由云原生计算基金会( CNCF )孵化,且于2020 年 10 月正式进入毕业阶段。Rook 并不直接提供数据存储方案,而是集成了各种存储解决方案,并提供一种自管理、自扩容、自修复的云原生存储服务。社区官方资料显示, Rook 目前最新的稳定版本中,只有 Rook +Ceph 存储集成方案处于 stable 状态,版本升级较平滑。 Ceph 是一种广泛使用的开源分布式存储方案,通过 Rook 则可以大大简化 Ceph 在 Kubernetes 集群中的部署和维护工作。基于 Rook+Ceph 的存储方案,能为云原生环境提供文件、块及对象存储服务。 建立Ceph集群不仅需要大量的服务器资源,本身的复杂度也需要人力成本。但是在企业内部使用Kubemetes时,无论是在部署业务服务还是中间件服务,都能很明显地体会到Kubernetes的便利性和强大之处,所以我们在企业内部使用Kubernetes时,同时也会把中间件...

阅读全文>>

标签: k8s ceph rook

评论(0) (156)

K8S ingress 传递用户真实IP

2024-1-16 myluzh Kubernetes

0x01 前言 今天发现后端获取到的用户客户端ip都是内网地址 172.29.241.163。 访问逻辑为:用户访问->nginx->k8s-ingress->后端pod。 但是后端pod获取客户端的ip一直是172.29.241.163,原来这个ip的ingress的上游nginx的ip。 # nginx节点 root@iZbp12bkuvg20e1j3y9gtvZ:/etc/nginx/conf.d# ifconfig | grep 172 inet 172.29.241.163 netmask 255.255.240.0 broadcast 172.29.255.255 # nginx反向代理到k8s-ingress的配置文件 root@iZbp12bkuvg20e1j3y9gtvZ:/etc/nginx/conf.d# cat prd-all.conf upstream prd-nginx-server { server 172.29.241.160:80; server 172.30.82.215:80; keepalive 10; ...

阅读全文>>

标签: k8s nginx Ingress ip use-forwarded-headers X-Real-IP X-Forwarded-For

评论(0) (172)