K8S使用NodePort时,无法在主机上看到监听的端口 - 探究原因 Kubernetes

0x00 前言 在新版K8S中,即便 Service 使用 nodeport 暴露,在 node 中使用netstat -anp 或者ss -nlt命令上也看不到 kube-proxy 监听的端口了,但是 nodeport 访问是正常的。 Kubernetes服务不是作为侦听特定端口的进程来实现的。取而代之的是使用iptables (或IPVS),服务基本上...
myluzh 发布于 

K8S滚动更新Java项目的一些踩坑经验分享 Kubernetes

1、滚动更新之健康检查重要性 spec: containers: - name: my-container readinessProbe: tcpSocket: port: 9999 initialDelaySeconds: 60 periodSeconds: 10 ...
myluzh 发布于 

K8S 基于Metrics Server CPU指标的pod弹性伸缩(HPA) Kubernetes

0x00 前置条件 开启K8S API聚合。关于API聚合:https://kubernetes.io/zh-cn/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/ 集群中安装Metrics Server。 0x01 开启Kubernetes API Aggregat...
myluzh 发布于 

K8S HPA(Horizontal Pod Autoscaler)介绍 Kubernetes

0x00 HPA基本介绍 Kubernetes 中的 Metrics Server 持续采集所有 Pod 副本的指标数据。HPA 控制器通过 Metrics Server 的 API(Heapster 的 API 或聚合 API)获取这些数据,基于用户定义的扩缩容规则进行计算,得到目标 Pod 副本数量。当目标 Pod 副本数量与当前副本数量不同时,HPA ...
myluzh 发布于 

K8S Ingress-nginx实现金丝雀灰度发布 Kubernetes

0x00 Ingress金丝雀发布介绍 Nginx Annotations 支持以下 4 种 Canary 规则: (1)nginx.ingress.kubernetes.io/canary-by-header: 基于 Request Header 的流量切分,适用于灰度发布以及 A/B 测试。当 Request Header 设置为 always时,请求将...
myluzh 发布于 

K8S Ingress-nginx高级用法总结 Kubernetes

0x01 Ingress-nginx的域名重定向(Redirect) # 关键配置 #annotations: # nginx.ingress.kubernetes.io/permanent-redirect: 'https://www.baidu.com/' --- apiVersion: networking.k8s.io/v1beta1 kind: ...
myluzh 发布于 

关于K8S nginx-ingress组件任意写入配置进行命令执行漏洞的复现与研究 Kubernetes

0x01 开头 这里的ingress一定要是nginx,进行复现的环境k8s版本是1.25,ingress里面参数nginx.ingress.kubernetes.io/rewrite-target,可以任意插入,就尝试插入 lua 代码通过注解注入特殊字符尝试闭合nginx配置文件块从而实现插入任意配置实现命令执行。 0x02 复现 exp-ingre...
myluzh 发布于 

K8S部署nfs-client-provisioner实现PV自动供给 Kubernetes

0x00 介绍 1、NFS-Subdir-External-Provisioner 在Kubernetes中,一个PersistentVolume(PV)只能绑定到一个PersistentVolumeClaim(PVC)。PV和PVC之间是一对一的关系,每个PVC只能绑定到一个PV。 使用支持动态PV和PVC创建的存储插件,您可以为每个PVC动态创建一个独立...
myluzh 发布于 

K8S部署定制RabbitMQ镜像 & 多节点RabbitMQ集群 Kubernetes

0x01 定制RabbitMQ镜像 本文章基于DockerHub镜像rabbitmq:3.12.8-management,由于官方镜像没有集成有些插件,需要在镜像中安装插件并重新打包。 rabbitmq_delayed_message_exchange延迟队列插件的安装,rabbitmq 插件下载(官网):https://www.rabbitmq.com/c...
myluzh 发布于 

Docker部署GitLab-CE Docker

0x01 docker部署 docker run -d \ --name gitlab \ -p 9443:443 \ -p 9999:80 \ -p 9998:22 \ -v /etc/gitlab:/etc/gitlab \ -v /var/log/gitlab:/var/log/gitlab \ -v /var/opt/gi...
myluzh 发布于