# [k8s] HPA: Horizontal Pod Autoscaling
- - V2EX - 技术HPA 是 K8S 的一大利器. 通过 HPA,
我们可以让服务的 pod 数量根据特定指标自动增加或减少,
使得在高峰期有足够的资源服务请求, 在低峰期又可以避免占用过多的资源. 同时, 在 SOA 架构下, 我们也习惯通过 HPA 来避免劳心劳力的为每个微服务计算所需的资源.. minReplicas: 允许的最小 pod 数量.
近日在研究微服务架构中的 Distributed Tracing时,遇到了一些问题,需要深入到底层去进行网络抓包分析报文。但是应用时运行在 k8s 集群中的,与传统的在一台机器上跑一个进程直接通过 tcpdump 抓包方式略有不同。最初对容器的理解不深刻认为一定要进入到这个容器抓包,而进入容器内并没有 tcpdump 等基础工具,相当于自己还是把容器当作虚拟机在看待。而实际上 它们只是在宿主机上不同 namespace 运行的进程而已。因此要在不同的容器抓包可以简单地使用命令切换 network namespace 即可,可以使用在宿主机上的 tcpdump 等应用。
kubctl describe pod <pod> -n mservice
docker inspect -f {{.State.Pid}} <container>
nsenter --target <PID> -n
tcpdump
抓包,指定 eth0 网卡 tcpdump -i eth0 tcp and port 80 -vvv
tcpdump -i eth0 -w ./out.cap
scp ruofeng@ipaddr:/home/ruofeng/out.cap ./
之后在 Wireshark 中可以打开文件非常直观得查看过滤抓到的数据。