K8s
16-使用探针保障容器高可用
16-使用探针保障容器高可用
· ☕ 3 分钟
从业务层面来讲,应用需要高可用,确保容器启动失败时能自愈,业务异常能自愈。

15-在K8s中导出Heap dump信息
15-在K8s中导出Heap dump信息
· ☕ 4 分钟
Kubernetes集群管理员在提供集群给开发者使用,出于安全考虑一般节点不会开放给开发者直接使用,导致开发者的heap dump数据无法直接获取到,本文描述这种场景的解决方案。

14-向容器中注入主机信息
14-向容器中注入主机信息
· ☕ 3 分钟
一些自研插件通过sidecar容器提供服务,容器需要获取到当前所在节点的IP与hostname作为环境变量或者downward API传递给应用。

13-容器数据持久化存储
13-容器数据持久化存储
· ☕ 11 分钟
通常容器的生命周期是不固定的、甚至是比较短的,但是它生成的数据可能是有价值的需要长期保存的,即持久化存储。在Kubernetes中持久化存储主要通过PV与PVC来实现。

12-快速删除集群所有节点上镜像
12-快速删除集群所有节点上镜像
· ☕ 3 分钟
大规模集群上每个节点都有大量镜像需要定期维护,如果通过Kubelet GC机制垃圾回收镜像的话,可能会导致原本还在用的镜像被误删除。所以需要能指定镜像删除,同时不必登陆到每个节点上手动删除镜像。

11-通过VPA实现资源灵活调度
11-通过VPA实现资源灵活调度
· ☕ 5 分钟
相对于HPA横向弹性伸缩POD数量,VPA垂直弹性既可以缩小过度请求资源的容器,也可以根据其使用情况随时提升资源不足的容量。

10-向容器中注入加密信息
10-向容器中注入加密信息
· ☕ 3 分钟
一般ConfigMap用于保存通用配置信息,属于明文信息,不能保存密钥,如果要保存密钥等加密信息,Kubernetes提供Secret对象进行Base64转码。

09-往容器中注入配置信息
09-往容器中注入配置信息
· ☕ 6 分钟
应用的配置在Kubernetes中可通过ConfigMap资源对象来实现,避免被直接写死到应用程序中。

08-基于自定义指标实现HPA弹性
08-基于自定义指标实现HPA弹性
· ☕ 7 分钟
除了基于 CPU 和内存来进行自动扩缩容之外,有些业务需要基于自定义指标进行HPA弹性伸缩,通用做法是结合prometheus能力。

07-基于CPU和内存指标实现HPA弹性
07-基于CPU和内存指标实现HPA弹性
· ☕ 10 分钟
Kubernetes中弹性伸缩最主要的就是使用HPA(Horizontal Pod Autoscaling)和CA(Cluster AutoScaling)两种弹性伸缩策略,HPA负责工作负载弹性伸缩,也就是应用层面的弹性伸缩。