开箱即用:多集群下K8s日志集中审计升级

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本文主要介绍用户在多个地域下拥有多个ack集群如何开箱即用地对k8s日志进行集中审计、中心化查询。

背景

通过日志服务采集Kubernetes容器日志已经被许多用户广泛应用,用户可在创建集群时启用日志服务,快速采集Kubernetes集群的容器日志,包括容器的标准输出以及容器内的文本文件等。

限制

但是对于一个用户在多个地域下拥有多个ack集群的场景,如果用户希望将每个地域下多个ACK集群的k8s日志进行集中审计、中心化查询,就需要用户进行一定的额外操作。

原始模式

例如用户可以通过手动创建数据加工作业的方式,将每个logstore下的日志的投递到相同的目标库中,但是这种操作方式具有以下限制:

限制1:  操作繁琐,对于每个地域的每个ACK集群下每一种日志类型,例如事件日志、审计日志、Ingress日志都需要专门的建立对应作业;

限制2:  无法实现自动化更新,当有新的ACK集群创建还需要重复以上操作,无法做到实时、自动化

日志审计(升级前)

针对以上问题,日志审计很早就推出了K8s日志集中审计的功能,即日志审计会自动地对符合自动化条件的K8s事件日志、审计日志和Ingress日志进行集中审计、中心化查询。

但是,使用日志审计(升级前)(即使中心账号已经升级服务关联角色AliyunServiceRoleForSLSAudit)进行K8s日志集中审计仍需要比较复杂的单独鉴权操作,需要经过以下三步操作,日志审计下k8s日志集中审计、中心化查询才能正确使用。

操作1:  用户首先需要对中心账号创建一个sls-audit-service-monitor的角色;

操作2:  并且对sls-audit-service-monitor角色授权AliyunLogAuditServiceMonitorAccess策略外

操作3:  此外,用户还需要对该角色额外授权对ACK下k8s project的操作权限(参考如下)

{

   "Version": "1",

   "Statement": [

       {

           "Action": "log:*",

           "Resource": [

               "acs:log:*:*:project/k8s-log-*"

           ],

           "Effect": "Allow"

       }

   ]

}

日志审计(升级前)虽然解决了限制1限制2的问题,但是由于其单独自定义鉴权操作的复杂性,也给用户带来了一些不便,用户无法做到真正的开箱即用,集中审计,中心化查询,且自定义角色容易被用户误删、篡改,将会影响用户的使用体验。

真正开箱即用

日志审计升级后

随着日志审计中心账号鉴权从用户需要自定义角色sls-audit-service-monitor到用户一键式授权服务关联角色AliyunServiceRoleForSLSAudit的升级,日志审计下K8s日志采集单独鉴权升级也提上日程。

日志审计通过和SLS数据加工 深度合作后,现已支持通过服务关联角色AliyunServiceRoleForSLSAudit 进行自动化创建数据加工作业,自动运行数据加工Job,基于该角色进行日志消费和写入,从而做到了真正的开箱即用式多集群下k8s日志集中审计、中心化查询和存储,此时用户仅需中心账号首次点击授权授权服务关联角色AliyunServiceRoleForSLSAudit即可使用

K8s日志集中审计

原始模式

日志审计开启K8s(升级前)

日志审计开启K8s(升级后)

手动创建相关作业

必须

无需

无需

实时自动化更新

不能

可以

可以

复杂自定义鉴权

无需

必须

无需

示例

通过在日志审计开启多ACK集群下k8s日志集中审计操作示例如下,具体事项可以参见云产品资源覆盖

多集群k8s日志集中化审计示例


多地域下k8s日志中心化查询示例

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
11天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
9天前
|
Kubernetes Ubuntu 网络安全
ubuntu使用kubeadm搭建k8s集群
通过以上步骤,您可以在 Ubuntu 系统上使用 kubeadm 成功搭建一个 Kubernetes 集群。本文详细介绍了从环境准备、安装 Kubernetes 组件、初始化集群到管理和使用集群的完整过程,希望对您有所帮助。在实际应用中,您可以根据具体需求调整配置,进一步优化集群性能和安全性。
44 12
|
12天前
|
SQL 存储 缓存
日志服务 SQL 引擎全新升级
SQL 作为 SLS 基础功能,每天承载了用户大量日志数据的分析请求,既有小数据量的快速查询(如告警、即席查询等);也有上万亿数据规模的报表级分析。SLS 作为 Serverless 服务,除了要满足不同用户的各类需求,还要兼顾性能、隔离性、稳定性等要求。过去一年多的时间,SLS SQL 团队做了大量的工作,对 SQL 引擎进行了全新升级,SQL 的执行性能、隔离性等方面都有了大幅的提升。
|
14天前
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
29 2
|
25天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
1月前
|
存储 数据采集 监控
阿里云DTS踩坑经验分享系列|SLS同步至ClickHouse集群
作为强大的日志服务引擎,SLS 积累了用户海量的数据。为了实现数据的自由流通,DTS 开发了以 SLS 为源的数据同步插件。目前,该插件已经支持将数据从 SLS 同步到 ClickHouse。通过这条高效的同步链路,客户不仅能够利用 SLS 卓越的数据采集和处理能力,还能够充分发挥 ClickHouse 在数据分析和查询性能方面的优势,帮助企业显著提高数据查询速度,同时有效降低存储成本,从而在数据驱动决策和资源优化配置上取得更大成效。
129 9
|
2月前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
79 1
|
3月前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
2月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
456 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
24天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。

相关产品

  • 日志服务