2024-8-2 myluzh Kubernetes
0x01 什么是优雅停止? 优雅终止是 Kubernetes 中一个非常重要的概念,它关系到服务的稳定性和用户体验。通过合理配置和使用 Kubernetes 提供的工具,我们可以确保应用在终止时能够做到尽可能的平滑和优雅,这不仅提升了系统的可靠性,也增强了用户对服务的信任。 优雅终止指在终止应用或服务时,确保当前正在进行的操作能够正常完成,同时避免新请求的进入,使得服务能够平稳地关闭。在 Kubernetes 中,这通常涉及到 Pod 的终止流程。 0x02 Pod 终止流程 1、Pod 状态变为 Terminating Pod 被删除,API 层面上 metadata.deletionTimestamp 字段会被标记上删除时间。 2、更新转发规则 kube-proxy 发现 Pod 被删除,开始更新转发规则,将 Pod 从 service 的 endpoint 列表中摘除掉,新流量不再转发到该 Pod。 3、销毁 Pod kubelet 发现 Pod 被删除,开始销毁 Pod。 执行 PreStop Hook:如果 Pod 中有配置 preStop Hook,Kubernetes 会执行这些命令。 ...2024-7-24 myluzh Kubernetes
0x00 概述 关于雷池WAF:雷池(SafeLine)是由长亭科技开发的一种专业的 Web 应用防火墙(WAF)。WAF是指Web Application Firewall,工作在应用层,专门用于保护基于HTTP/HTTPS协议的Web系统免受各种网络攻击。雷池WAF利用先进的智能语义分析算法作为其核心检测技术。这种算法不依赖于预先定义的规则集,能够精准地检测恶意攻击,同时减少误报,有效应对未知特征的0day攻击。 很荣幸雷池社区版-官方手册已引用了该文章 标题:《K8S ingress-nginx中集成雷池WAF最佳实践 - 来自 23 群的 myluzh》 地址:https://docs.waf-ce.chaitin.cn/更多技术文档/K8S-ingress-nginx中集成雷池WAF最佳实践 0x01 手动安装雷池 雷池WAF可以安装在K8S集群或者任意一台与集群网络互通的机器上。 官网手册:手动安装雷池 1、创建雷池目录 mkdir -p "/data/safeline" 2、下载编排脚本 cd "/data/safeline" wget "ht...2024-7-22 myluzh Kubernetes
0x01 概述 国内拉镜像受限,公司集群是用rancher搭的,以防万一先把镜像都在私有仓存一下。 0x02 脚本 root@iZbp12bkuvg20e1j3y9gtxZ:~# vi upload_rancher_images.sh #!/bin/bash # 获取前缀rancher开头的镜像 images_info=$(docker images | grep '^rancher' | awk '{print $1, $2, $3}') registry='172.30.82.223:5443/' # 登录harbor私有仓 docker login "$registry" # 按行遍历镜像信息 echo "$images_info" | while read -r image_name image_version image_id; do # 打上标签 然后上传到私有仓 echo "镜像名: $image_name 版本: $image_version ID: $image_id" docker tag "$image_name:$image_version" "...2024-7-8 myluzh Kubernetes
0x01 前置条件 默认已经安装好了istio,并且已经有了确保已经安装 Istio 并配置了 istio-ingressgateway。由于我已经之前安装了ingress-nginx 已占用 80 和 443 端口。所以我 istio-ingressgateway 从默认的 LoadBalancer 类型改为 NodePort 类型。istio-ingressgateway 使用端口 http 30058 和 https 30605 root@iZbp12bkuvg20e1j3y9gtxZ:~/# kubectl get svc -n istio-system | grep ingress istio-ingressgateway NodePort 10.43.160.137 <none> 15021:31016/TCP,80:30058/TCP,443:30605/TCP,31400:32117/TCP,15443:32636/TCP 87d 0x02 实例演示 1、创建命名空间并自动注入边车代理 kubectl create ns myluzh kubec...标签: k8s Ingress istio istio-ingressgateway gateway virtualservice