Choerodon猪齿鱼实践之健康检查

Choerodon 是一个开源多云应用敏捷全链路技术平台,通过使用Kubernetes来部署和升级应用,而在集群中部署应用时,像忘记配置资源请求或忘记配置限制这样简单的事情就可能破坏自动伸缩,甚至导致工作负载耗尽资源。因此,保证集群的稳定运行十分必要。

基于这个目的,Choerodon团队通过借鉴 Polaris 健康检查的实现原理,并结合自身业务需求,在 Agent 组件中实现了一套自己的健康检查规则,既能从集群的维度查看其中可能影响稳定性、可靠性、可伸缩性和安全性的配置问题,也支持检测某个环境某个实例中具体的配置问题,从而达到监控集群监控环境健康状态的目的。

本文旨在为大家介绍Choerodon v0.21版本中的健康检查功能。

集群健康检查

执行健康检查

在Choerodon平台中,选择一个存在关联环境且状态为“运行中”的集群,进入“集群管理-健康检查”的页面后,点击页面中的“扫描”按钮,即可执行该集群的健康检查。

在此过程中,Polaris支持的检测类型有:Health Checks、Images、Networking、Resources、Security;检测完毕之后,会将这些分类中所有的配置项分为 passed、warning 以及error 三个状态,分别代表检测通过、警告和错误的状态。

若想详细了解各分类中所包含的默认配置项,请参考Polaris - Kubernetes最佳实践之配置校验

图片

查看健康检查结果

健康检查执行成功后,便能从“集群概览”和“环境详情”两个维度查看存在配置项的问题(即状态为warning和error的配置项)。界面上的健康分值,是根据passed状态配置项的占比计算得来的。需要注意的是,各类详情下,只会展示出warning与 error状态的配置项。

通过检测得出的结果(尤其是存在error状态配置项的分类),集群管理员可以及时的捕捉到集群中存在的问题与隐患,并快速地进行修复。

健康分值= passed配置项数量/(passed配置项数量+1/2warning配置项数量+error配置项数量)

图片

  • 集群概览

“集群概览”维度支持查看集群中各个分类的配置项问题;主要分为了: 健康检查、镜像检查、网络配置、资源分配以及安全这五类,并可以分别查看各个分类下有问题的配置项(warning与 error状态的配置项)及其所属的环境。

  • 环境详情

“环境详情”维度则支持查看集群中所有环境(包括Choerodon平台环境与非Choerodon平台环境)中存在问题的配置项(warning与 error状态的配置项)。

环境健康检查

执行健康检查

通过以上内容,我们知道了集群管理员如何在集群中执行健康检查操作,以此来监控集群的健康状态。那在环境层,环境管理员(运维人员)又如何对环境的健康状态进行监控的呢?针对这个问题,我们在“部署-资源-实例视图-环境层”中,也新增了“健康检查”的功能,用来检测环境下所有实例的配置项问题。 其中包括了对Deployments、StatefulSets、DaemonSets 、Jobs、CronJobs以及ReplicationControllers的检测。(注意:在进行扫描之前,请确保环境中已有实例资源,并且该环境为“运行中”状态)

查看健康检查结果

健康检查执行成功之后,会将这些分类中所有的配置项分为 passed、warning 以及error 三个状态,分别代表检测通过、警告和错误的状态。并在各个实例下方,展示出有问题的配置项(warning与 error状态的配置项)。此外,对于含有“error”状态配置项的实例和对象,会在其名称后面标出警示标志。

界面上健康分值的计算方式,和上文中集群的一致。环境管理员通过有问题的配置项便能及时的定位与解决问题,从而避免造成更大的损失。

总结

健康检查功能是集群与环境监控模块中重要的一环,能够帮助运维人员实时地检测出集群与环境中可能影响稳定性、可靠性、可伸缩性和安全性的配置问题,以此来保证集群与环境的稳定运行。

关于猪齿鱼

Choerodon 猪齿鱼作为开源多云应用敏捷全链路技术平台,是基于开源技术Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷、持续交付、容器环境、微服务、DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。

Choerodon 猪齿鱼v0.21已经发布,欢迎大家前来安装/升级。

更加详细的内容,请参阅Release Notes官网

大家也可以通过以下社区途径了解猪齿鱼的最新动态、产品特性,以及参与社区贡献:

欢迎加入Choerodon猪齿鱼社区,共同为企业数字化服务打造一个开放的生态平台。

本篇文章出自 Choerodon猪齿鱼社区毛智伟。

你可能感兴趣的:(kubernetes,部署,集群,健康,choerodon)