阿里云容器服务ACK报警中心快速构建运维体系最佳实践

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 根据CNCF社区发布的年度统计,Kubernetes已经成为主流工业界的云原生基础设施平台。在Kubernetes上的真实业务环境,建立成熟稳定的运维体系至关重要,然而用户在“正值壮年”的Kubernetes生态中往往会遇到:容器监控体系复杂,学习成本高,监控报警配置碎片化严重;传统运维体系不能生搬套用;问题如何快速路由到正确的运维人员等等问题。本文介绍基于阿里云容器服务ACK报警中心如何快速构建成熟的运维体系,继承专业容器服务领域运维能力与经验沉淀。

根据CNCF社区发布的年度统计,Kubernetes已经成为主流工业界的云原生基础设施平台。在Kubernetes上的真实业务环境,建立成熟稳定的运维体系至关重要,然而用户在“正值壮年”的Kubernetes生态中往往会遇到:容器监控体系复杂,学习成本高,监控报警配置碎片化严重;传统运维体系不能生搬套用;问题如何快速路由到正确的运维人员等等问题。本文介绍基于阿里云容器服务ACK报警中心如何快速构建成熟的运维体系,继承专业容器服务领域运维能力与经验沉淀。

概述

背景介绍

据统计数据,全球高达96%的组织已经或正在评估使用Kubernetes,Kubernetes已经成为主流的生产级基础设施,上生产需要构建完善的运维体系。集群中承载的往往是用户真实的生产业务,集群稳定性的保证一方面靠阿里云容器服务为客户提供稳定可靠的Kubernetes集群本身,也依靠用户建立可靠稳定的运维体系。

阿里云容器服务ACK报警中心为客户提供快速构建运维体系的能力,开箱即用,即刻享受专业团队带来的容器领域运维经验沉淀,大大缩短ACK用户业务的MTTR(平均故障恢复时长)。

本文介绍如何依赖ACK报警中心快速构建成熟的运维体系。

目标读者

面向ACK集群的用户,集群管理员,运维稳定性管理员等。

适用场景

适用于保障用户在ACK集群上部署业务系统的系统稳定性,包括业务的应用稳定性以及集群平台的稳定性。

相关概念

Kubernetes:生产级容器编排,简称K8s。

容器服务 ACK:阿里云容器服务Kubernetes版,提供高性能可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。

ACK报警中心:阿里云容器服务ACK提供统一管理容器报警场景的功能,支持在创建集群时默认开启。帮助用户快速建立成熟的运维体系。

ACK报警中心功能介绍

ACK报警中心提供统一管理容器报警场景的功能,包括容器服务异常事件报警、集群相关基础资源的关键指标报警、集群核心组件及集群中应用的指标报警。支持在创建集群时默认开启报警功能。容器服务的报警规则支持通过集群内部署CRD的方式配置管理。

专业的容器服务领域运维经验沉淀-成熟异常诊断体系

Kubernetes的先进性在此不用赘述。但带来巨大技术红利的同时,也带来新的问题:

  • 容器可观测体系复杂,监控方案、配置碎片化严重。

Kubernetes较传统基础设施体系,提供了容器、调度、弹性扩缩、编排等新概念,提供高性能可伸缩的容器应用管理,带来极大的云原生红利。但是引入容器层概念也同时带来了可观测体系的复杂性。建设可靠的可观测体系时,也会采用多个维度、多条数据链路。阿里云容器服务ACK也提供了全面成熟可靠的可观测体系,同时也带来了监控、报警配置碎片化严重的问题,要想全面对集群与应用设置报警规则,往往需要辗转多个监控系统,极大增加了运维管理成本。ACK报警中心提供统一管理容器报警场景的功能,屏蔽认知、配置复杂门槛,减少监控配置的碎片化问题。

  • 从传统体系迁移至云原生体系的迁移复杂性。

很多Kubernetes的客户都是从稳定的传统部署模式迁移而来,原本这些客户都通过多年的运维经验沉淀,建立了自己的运维体系。迁移到Kubernetes后,由于应用部署结构、容器弹性等特性的引入,运维体系需要重建。这种迁移场景往往给Kubernetes经验不足使用者带来巨大的复杂性。ACK报警中心提供的默认报警规则集,提供容器服务成熟的异常诊断体系,开箱即用,且提供白屏化管理操作,简单易用,减少从传统体系迁移至云原生体系的迁移复杂性。

  • 运维体系的复杂性。

成熟的运维体系建立需要基础设施层深厚的运维、异常诊断经验。ACK报警中心默认提供报警规则,囊括集群稳定性、资源容量评估、应用稳定性的异常诊断经验,由ACK生态团队经过真实客户生产场景沉淀、打磨后梳理而来。容器服务异常、通知报警体系可参考下图。

容器服务报警体系概览

开启ACK报警中心默认报警规则,即可享受专业的容器服务领域运维经验沉淀,帮助用户开箱即用建立成熟容器服务运维体系。

问题得问对的人-快速搭建ITSM体系

成熟高效的运维体系如同送病人去医院,第一步需要有经验的大夫,有能力诊断出问题,在我们场景中就对应上一节成熟的异常诊断体系,第二步需要马上把病人送到正确的科室进行针对性处理,对应我们建立运维体系的场景中,属于建立ITSM(企业服务治理)领域,简而言之需要把遇到的问题路由通知到正确处理此问题的人员。

阿里云容器服务ACK报警中心支持用户通过不同的联系人分组来定义用户角色,不同类型的异常可由不同联系人分组订阅处理。

image.png

容器服务报警配置功能集合容器场景的监控报警能力,提供报警的统一配置管理,有如下几个典型的使用场景:

  • 集群管理员可以通过监控报警第一时间了解集群管控、存储、网络、弹性扩缩容等异常事件。例如:集群资源异常、集群存储异常、集群网络异常等。

  • 应用管理员可以通过监控报警第一时间了解在集群中运行应用的异常事件、指标是否异常。例如,集群容器副本异常或者应用Deployment的CPU、内存水位指标是否超过阈值等。可通过开启报警配置功能中的默认报警规则模板,即可快速接受集群内应用容器副本的异常事件报警通知。例如,通过配置并订阅关注集群容器副本异常报警规则集感知所属应用的Pod是否异常。

  • 安全管理员可以通过监控报警感知集群中存在的安全漏洞,从而快速采取修复优化措施,提升安全稳定性,减小安全风险。

  • IT管理团队关注运行在集群上的应用健康、容量规划、集群运行稳定性及异常甚至是错误报警等贯穿应用生命周期的一系列问题。例如,通过配置并订阅关注集群重要事件报警规则集感知集群内所有Warning、Error等异常报警;关注集群资源异常报警规则集感知集群的资源情况,从而更好地做容量规划等。

多套环境难迁移怎么办-使用云原生配置方式

当用户有多个集群需要管理,为集群配置报警规则往往会是一个重复繁琐且难以同步的操作。容器服务报警配置功能,支持通过集群内部署CRD配置的方式管理报警规则。可通过维护多个集群中同样配置的CRD资源,来方便快捷地实现多集群中报警规则的同步配置。

apiVersion: alert.alibabacloud.com/v1beta1
kind: AckAlertRule
metadata:
  name: default
spec:
  groups:
    #以下是一个集群事件报警规则配置样例。
    - name: pod-exceptions                             #报警规则分组名,对应报警模板中的Group_Name字段。
      rules:
        - name: pod-oom                                #报警规则名。
          type: event                                  #报警规则类型(Rule_Type),枚举值为event(事件类型)、metric-cms(云监控指标类型)。
          expression: sls.app.ack.pod.oom              #报警规则表达式,当规则类型为event时,表达式的值为本文默认报警规则模板中Rule_Expression_Id值。
          enable: enable                               #报警规则开启状态,枚举值为enable、disable。
        - name: pod-failed
          type: event
          expression: sls.app.ack.pod.failed
          enable: enable

如以上报警规则CRD配置,用户可使用同样的报警规则CRD配置,并设置规则的订阅联系人分组,可快速在不同集群中进行报警规则的定义,以及联系人分组的配置,具体参考如何通过CRD配置报警规则

如何快速接入

前提条件

容器服务报警功能需要:

  • 集群异常事件报警,此类报警的数据链路同步自容器服务事件中心。更多信息,请参见事件监控

  • 集群相关基础资源的关键指标报警,此类报警的数据链路同步自云监控基础资源监控。更多信息,请参见基础资源监控

功能使用步骤

功能开通步骤:

  • 方法1:购买创建集群时,在第三步组件配置中,保持默认勾选使用默认报警模板配置报警,并选择报警通知联系人分组。

  • 方法2:若购买集群时未开启,可手动开启。

    1. 在目标集群左侧导航栏选择运维管理 > 报警配置配置管理,根据提示安装组件。

    2. 在报警规则管理页签,打开启动状态可开启对应报警规则集。

    3. 点击 编辑通知对象 为报警规则集设置通知联系人分组。

验证方法

场景1建立不同身份的联系人组,订阅不同分组的报警规则

在容器服务控制台,集群页面中,左侧 运维管理 > 报警配置 页面中,右上角联系人管理、联系人分组管理中:

  1. 建立应用管理员1、集群管理员1 两个联系人,以及两个联系人分组:集群管理员组1(包含联系人集群管理员1)、应用管理员组1(包含联系人应用管理员1)。

    p401246p401247
  2. 在上方报警规则管理 页面中。

  3. 为Warn事件集、集群节点异常报警规则集,编辑通知对象 > 集群管理员组。

  4. 为集群容器副本异常报警规则集,编辑通知对象 > 应用管理员组。

场景2接收报警效果,如容器Pod镜像拉取失败

部署一个镜像会拉取失败的应用 (镜像是错误地址,无法拉取镜像):

在集群页面,工作负载 > 无状态中,右侧使用YAML创建资源

(选取示例模板中,Resource - basic Deployment模板,并修改一下image为错误image,完整YAML如下):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: fake-image-demo-nginx
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        # this is a fake image which will trigger image pull failed.
        image: fake-image-not-exist
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: "500m"

稍等1~3分钟,查看报警历史,即可看到此应用的ImagePullBackOff报警历史,同时订阅的联系人组即可收到报警:

常见问题

由于无订阅的联系人组导致报警规则同步失败

问题现象:

当报警中心中报警规则同步状态出现如下情况:

报错信息为类似信息:this rule have no xxx contact groups reference。

问题原因:

报警规则无订阅的联系人组。

解决方案:

  1. 已创建联系人,并将联系人加入联系人分组中。

  2. 在对应报警规则集右侧单击编辑通知对象,为该组报警规则配置订阅的联系人分组。​

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
2天前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全方位实践
本文深入探讨了构建高效运维体系的关键要素,从监控、日志管理、自动化工具、容器化与微服务架构、持续集成与持续部署(CI/CD)、虚拟化与云计算以及安全与合规等方面进行了全面阐述。通过引入先进的技术和方法,结合实际案例和项目经验,为读者提供了一套完整的运维解决方案,旨在帮助企业提升运维效率,降低运营成本,确保业务稳定运行。
|
1天前
|
机器学习/深度学习 人工智能 运维
|
10天前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,全面助力云上体育盛会
本文讲述了阿里云容器服务,通过安全稳定的产品能力和成熟的稳定性保障体系,全面助力云上体育赛场,促进科技之光与五环之光交相辉映。
阿里云容器服务,全面助力云上体育盛会
|
5天前
|
存储 运维 监控
构建高效运维体系:从监控到自动化的全方位实践指南
在当今数字化时代,企业对运维(Operations)的需求日益增长。运维不仅仅是保持系统运行那么简单,它涉及到监控、日志管理、故障排除、性能优化和自动化等多个层面。本文将从实际操作的角度出发,详细探讨如何构建一个高效的运维体系。通过具体案例,我们将了解不同运维工具和方法的应用,以及它们是如何帮助企业提高生产效率和降低运营风险的。无论你是刚接触运维的新手,还是经验丰富的专家,这篇文章都将为你提供宝贵的参考和启示。
|
5天前
|
机器学习/深度学习 运维 安全
构建高效运维体系:从自动化到智能化的演进之路
在数字化转型的浪潮中,运维管理作为信息技术基础设施的重要支柱,正经历着从传统手工操作向自动化、智能化的深刻变革。本文将探讨如何通过引入自动化工具和平台,实现运维流程的标准化与效率提升;进而利用大数据分析和人工智能技术,迈向预测性维护和智能决策支持的高级阶段。通过案例分析,揭示成功转型的关键因素,为运维专业人士提供一套可借鉴的升级路径。
|
2天前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进之旅
在当今数字化时代,运维作为信息技术领域的核心组成部分,其重要性日益凸显。随着企业业务的不断扩展和技术的日新月异,传统手工运维方式已难以满足现代IT架构的需求。因此,构建一个高效、智能的运维体系成为业界共识。本文将探讨如何通过自动化和智能化手段,实现运维效率的质的飞跃,并分享一些成功案例与实践经验。
|
8天前
|
机器学习/深度学习 运维 监控
构建高效运维体系:从自动化到智能化的演进
在当今信息技术飞速发展的时代,运维领域正经历着从传统手动操作向高度自动化和智能化转变。本文旨在探讨如何通过集成自动化工具、实施持续集成与持续部署(CI/CD)、采用容器化技术和探索AIOps实践,构建一个高效、可靠的运维体系。我们将分析这些技术如何相互配合,提升运维效率,降低系统故障率,并实现快速响应市场变化的能力。通过案例分析和最佳实践的分享,本文将为IT专业人员提供一套实用的指南,帮助他们在数字化转型的浪潮中,保持运维工作的前瞻性和竞争力。
|
5天前
|
存储 运维 监控
构建高效运维体系:从监控到自动化的全方位实践
在当今信息技术飞速发展的时代,运维作为保障信息系统稳定运行的关键环节,其重要性不言而喻。本文将围绕如何构建一个高效的运维体系进行深入探讨,内容涵盖从监控、日志分析到自动化运维工具的选择与应用,以及在实际工作中的经验和案例分享。通过本文的介绍,读者将能够了解到如何在复杂多变的技术环境中,确保系统的高可用性、高性能和安全性,为业务连续性提供坚实保障。
|
7天前
|
运维 监控 数据可视化
高效运维的秘密武器:自动化工具链的构建与实践在当今数字化时代,IT系统的复杂性和规模不断增加,使得传统的手动运维方式难以应对日益增长的业务需求。因此,构建一套高效的自动化工具链成为现代运维的重要任务。本文将深入探讨如何通过自动化工具链提升IT运维效率,确保系统稳定运行,并实现快速响应和故障恢复。
随着企业IT架构的不断扩展和复杂化,传统的手动运维已无法满足业务需求。自动化工具链的构建成为解决这一问题的关键。本文介绍了自动化工具链的核心概念、常用工具及其选择依据,并通过实际案例展示了自动化工具链在提升运维效率、减少人为错误、优化资源配置等方面的显著效果。从监控系统到自动化运维平台,再到持续集成/持续部署(CI/CD)的流程,我们将一步步揭示如何成功实施自动化工具链,助力企业实现高效、稳定、可靠的IT运维管理。
|
7天前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
在当今数字化时代,运维作为保障信息系统稳定运行的关键环节,正经历着前所未有的变革。本文深入探讨了自动化运维向智能化运维演进的过程,分析了这一转变背后的驱动力、实现路径以及面临的挑战,并展望了未来智能运维的发展趋势。通过阐述自动化运维的现状与不足,揭示智能化运维的必要性;详细介绍智能化运维的关键技术,如大数据、人工智能在运维中的应用;探讨如何构建一个既高效又具备自我学习和适应能力的智能运维平台;最后,分析当前企业在实施智能运维过程中遇到的主要障碍,并提出相应的解决策略。文章旨在为运维专业人士提供一套从理论到实践的指导框架,帮助他们把握技术发展脉络,有效推进运维工作的智能化升级。
17 0

热门文章

最新文章