K8S 中的优雅终止:确保服务平稳关闭 Kubernetes
0x01 什么是优雅停止?
优雅终止是 Kubernetes 中一个非常重要的概念,它关系到服务的稳定性和用户体验。通过合理配置和使用 Kubernetes 提供的工具,我们可以确保应用在终止时能够做到尽可能的平滑和优雅,这不仅提升了系统的可靠性,也增强了用户对服务的信任。
优雅终止指在终止应用或服务时,确保当前正在进行的操作能够正常完成,同时避免新请求的进...
K8S ingress-nginx中集成雷池WAF最佳实践 Kubernetes
0x00 概述
关于雷池WAF:雷池(SafeLine)是由长亭科技开发的一种专业的 Web 应用防火墙(WAF)。WAF是指Web Application Firewall,工作在应用层,专门用于保护基于HTTP/HTTPS协议的Web系统免受各种网络攻击。雷池WAF利用先进的智能语义分析算法作为其核心检测技术。这种算法不依赖于预先定义的规则集,能够精准地...
批量将Rancher镜像上传到私有仓库脚本 Kubernetes
0x01 概述
国内拉镜像受限,公司集群是用rancher搭的,以防万一先把镜像都在私有仓存一下。
0x02 脚本
root@iZbp12bkuvg20e1j3y9gtxZ:~# vi upload_rancher_images.sh
#!/bin/bash
# 获取前缀rancher开头的镜像
images_info=$(docker images | ...
K8S istio-ingressgateway 简单的路由实例演示 Kubernetes
0x01 前置条件
默认已经安装好了istio,并且已经有了确保已经安装 Istio 并配置了 istio-ingressgateway。由于我已经之前安装了ingress-nginx 已占用 80 和 443 端口。所以我 istio-ingressgateway 从默认的 LoadBalancer 类型改为 NodePort 类型。istio-ingre...
K8S 批量删除被驱逐的Pod(Evicted Pods) Kubernetes
0x01 故障
集群中一个deployment中有很多Evicted的pod
root@iZbp12bkuvg20e1j3y9gtxZ:~# kubectl get pod -n base-ops
NAME READY STATUS RESTARTS AGE
registry-6d7b7c9fb4-...
K8S Ingress-nginx修改上传大小限制 Kubernetes
0x00 前言
最近遇到一个问题:客户端上传大一点的文件,http就直接响应Status Code: 413 Request Entity Too Large
由于k8s ingress的上游还有一个nginx,所以先判断是不是nginx限制了上传大小,
nginx配置文件client_max_body_size没有问题,那就是ingress-nginx限制...
Rancher 2.5.x证书过期问题 [X509 certificate has expired or is not yet valid] 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...
K8S 使用Istioctl安装Istio,配置Kiali Token登录 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...
K8S 基于Rook搭建Ceph集群 云原生存储最佳实践 Kubernetes
0x00 关于Rook
Rook 是一款云原生存储编排服务工具,Ceph 是一种广泛使用的开源分布式存储方案,通过 Rook 可以大大简化 Ceph 在 Kubernetes 集群中的部署和维护工作。
Rook 由云原生计算基金会( CNCF )孵化,且于2020 年 10 月正式进入毕业阶段。Rook 并不直接提供数据存储方案,而是集成了各种存储解决方案,...
K8S ingress 传递用户真实IP Kubernetes
0x01 前言
今天发现后端获取到的用户客户端ip都是内网地址 172.29.241.163。
访问逻辑为:用户访问->nginx->k8s-ingress->后端pod。
但是后端pod获取客户端的ip一直是172.29.241.163,原来这个ip的ingress的上游nginx的ip。
# nginx节点
root@iZbp12bku...