Myluzh Blog

K8S ingress-nginx中集成雷池WAF最佳实践

2024-7-24 myluzh Kubernetes

0x00 概述 关于雷池WAF:雷池(SafeLine)是由长亭科技开发的一种专业的 Web 应用防火墙(WAF)。WAF是指Web Application Firewall,工作在应用层,专门用于保护基于HTTP/HTTPS协议的Web系统免受各种网络攻击。雷池WAF利用先进的智能语义分析算法作为其核心检测技术。这种算法不依赖于预先定义的规则集,能够精准地检测恶意攻击,同时减少误报,有效应对未知特征的0day攻击。 0x01 手动安装雷池 雷池WAF可以安装在K8S集群或者任意一台与集群网络互通的机器上。 官网手册:手动安装雷池 1、创建雷池目录 mkdir -p "/data/safeline" 2、下载编排脚本 cd "/data/safeline" wget "https://waf-ce.chaitin.cn/release/latest/compose.yaml" 3、配置变量 cd "/data/safeline" touch ".env" # 使用文本编辑器打开 .env 文件,写入下方的内容。根据你的实际情况修改配置文件中的 {safeline-dir} 和 {postgres-password} 字段...

阅读全文>>

标签: k8s Ingress waf ingress-nginx 雷池 safeline

评论(0) (110)

批量将Rancher镜像上传到私有仓库脚本

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" "...

阅读全文>>

标签: docker rancher harbor push

评论(0) (27)

K8S istio-ingressgateway 简单的路由实例演示

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

评论(0) (85)

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) (239)

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) (307)

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) (253)