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

0x00 前置条件 1、开启K8S API聚合。关于API聚合:https://kubernetes.io/zh-cn/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/ 2、集群中安装Metrics Server。 0x01 开启Kubernetes API Aggreg...
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 复现 1、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 发布于 

JDK1.8之前版本使用K8S对Java应用进行资源限制的注意事项 Kubernetes

0x01 前言 flowchart TD %% 定义最外层的 Kubernetes 限制 K8s["🔴 Kubernetes 容器 Limit (例如: 2048Mi) (操作系统 Cgroups 物理内存硬限制) 触碰此线 -> 容器暴毙: OOMKilled (Exit Code 137)"] %% 第一层...
myluzh 发布于 

K8S安装flannel报错解决(pods with system-node-critical priorityClass is not permitted in kube-flannel namespace) Kubernetes

0x01 关于部署flannel失败 在上一个过程中,部署高可用k8s集群后,在master节点安装flannel网络插件,部署后没有pod,后面经过分析报错如下: # 在master节点apply kube-flannel.yml 提示所有东西都已经创建了。 # kubectl apply -f kube-flannel.yml namespace/ku...
myluzh 发布于 

K8S笔记-通过kubeadm方式搭建高可用集群(keepalived+haproxy) Kubernetes

0x00 介绍 虚拟ip 172.16.10.20 master.k8s.io k8s-vip master01 172.16.10.21 master01.k8s.io master01 master02 172.16.10.22 maste...
myluzh 发布于