从 1.12 开始, kubectl 就支持从用户的 PATH 中通过名字自动发现插件: 所有名字为kubectl-{pluginName}格式的可执行文件都会被加载为 kubectl 插件, 而调用方式就是 kubectl pluginName
## stern
[https://github.com/wercker/stern](https://github.com/wercker/stern)
kubectl logs 有一个限制是不能同时 tail 多个 pod 中容器的日志(可以同时查看多个, 但是此时无法使用 -f 选项来 tail). 这个需求很关键, 因为请求是负载均衡到网关和微服务上的, 要追踪特定的访问日志最方便的办法就是 tail 所有的网关再 grep. 比较好的解决方案是 [stern](https://github.com/wercker/stern) 这个项目, 除了可以同时 tail 多个容器的日志之外, stern 还:
* 允许使用正则表达式来选择需要 tail 的 PodName
* 为不同 Pod 的日志展示不同的颜色
* tail 过程中假如有符合规则的新 Pod 被创建, 那么会自动添加到 tail 输出中
```
wget https://github.com/wercker/stern/releases/download/1.10.0/stern_linux_amd64
chmod +x stern_linux_amd64; mv stern_linux_amd64 /usr/local/bin/kubectl-tail
```
## kubectx
[https://github.com/ahmetb/kubectx](https://github.com/ahmetb/kubectx)
快速切换Content和namespace
![](https://github.com/ahmetb/kubectx/blob/master/img/kubens-demo.gif)
- kubernetes基础
- 安装kubernetes
- kubeadm平滑升级群集
- Taint和Toleration
- 使用HostAliases向Pod /etc/hosts 文件添加条目
- ConfigMap
- 插件
- 支持外部dns
- 安装helm
- HPA
- 存储
- 本地存储
- 网络存储
- Secret
- ConfigMap
- QA
- k8s使用时需要注意的坑点
- 容器中的JVM资源该如何被安全的限制
- 项目实践
- eureka集群
- Traefik ingress服务发现与负载均衡
- etcd数据备份与恢复
- deployment滚动升级与回滚
- 监控
- prometheus operator初体验
- prometheus-operator监控
- metrics-server监控kubernetes资源
- weave scope可视化监控