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...
myluzh 发布于 

Docker部署minio Kubernetes

1、docker minio 单机挂载单盘 run起来后直接访问http9001就是面板 docker run -it -d --name minio \ --restart=always \ -p 9000:9000 \ -p 9001:9001 \ -v /data/minio/data:/data \ -e "MINIO_ROOT_USER=admin...
myluzh 发布于 

K8S部署Fluentd日志采集并推送到Elastic Kubernetes

0x01 前言 使用 fluentd 可以从每个容器收集 stdout/stderr 日志,以及在每个主机上 /var/log/containers/ 路径下的日志文件,日志将被发送到被选择的目标服务。 这里主要记录下Fluentd的部署过程,如何通过Fluentd把K8S集群Pod日志推送到Elastic上,Elastic和Kibana的部署不在这里赘述。...
myluzh 发布于 

清理Docker容器日志bash Docker

#!/bin/sh # 清理Docker容器日志文件的脚本 logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo -n "clean logs :"; du -sh $log cat /dev/null > $log ...
myluzh 发布于 

在使用Rancher2.5管理的K8S集群中,解决Rancher不可用时通过kubectl进行集群管理的问题 Kubernetes

0x00 前言 最近在管理Rancher2.5部署的K8S集群发现一个问题,一旦Rancher Server不可用,直接在K8S master通过kubectl管理集群也会提示连接不到api提示不可用。 分析Rancher UI生成的kubeconfig文件可以发现,当kubectl访问K8S API SERVER的时候,请求是先发送到Rancher,然后再...
myluzh 发布于 

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 前置条件 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 发布于