本文将介绍如何在Serverless Kubernetes集群中将业务容器的标准输出和日志文件收集到阿里云日志服务。
前提条件 您已经创建好一个Serverless Kubernetes集群。请参见创建 Serverless Kubernetes 集群。 使用YAML模版来部署示例 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,然后单击页面右上角的使用模板创建。 YAML 模板的语法同 Kubernetes 语法,采集配置通过ENV来暴露,为了收集文件的日志,也需要创建对应的 volumeMounts 和 volumes。以下是一个简单的 Deployment 示例: apiVersion: apps/v1 kind: Deployment metadata: labels: app: alpine name: alpine spec: replicas: 2 selector: matchLabels: app: alpine template: metadata: labels: app: alpine spec: containers: - image: alpine imagePullPolicy: Always args: - ping - 127.0.XX.XX name: alpine env: ######### 配置 环境变量 ########### ######### 配置 project,如果使用k8s集群默认的project可以不填 ########### - name: aliyun_logs_project value: k8s-xxx ######### 配置 机器组,如果使用k8s集群默认的project下的默认机器组可以不填 ########### ######### 建议不要使用默认的机器组,使用自定义(只用通过环境变量设置名字即可,ECI会帮创建和配置)########### - name: aliyun_logs_machinegroup value: k8s-group-app-alpine - name: aliyun_logs_log-stdout value: stdout - name: aliyun_logs_test-file value: /log/*.log ######### 日志保留时间,只对单个logstore生效 ########### - name: aliyun_logs_test-stdout_ttl value: "7" ######### 日志分区数,只对单个logstore生效 ########### - name: aliyun_logs_test-stdout_shard value: "2" ################################# ######### 配置volume mount ####### volumeMounts: - name: volume-sls mountPath: /log volumes: - name: volume-sls 其中以下内容需要根据您的需求进行配置,一般按照顺序进行配置。
通过环境变量来创建您的采集配置,所有与配置相关的环境变量都采用aliyun_logs_作为前缀。 创建采集配置的规则如下: - name: aliyun_logs_{Logstore 名称} value: {日志采集路径} 示例中创建了两个采集配置,其中 aliyun_logs_log-stdout 这个 env 表示创建一个 Logstore 名字为 log-stdout,日志采集路径为 stdout 的配置,从而将容器的标准输出采集到 log-stdout 这个 Logstore 中。
说明 Logstore 名称中不能包含下划线(_),可以使用 - 来代替。 如果您的采集配置中指定了非 stdout 的采集路径,需要在此部分创建相应的 volumnMounts。 示例中采集配置添加了对/log/*.log 的采集,因此相应地添加了/log的 volumeMounts。
当 YAML 编写完成后,单击创建,即可将相应的配置交由 Serverless Kubernetes 集群执行。 部署完成后,您可以通过执行以下命令,查看pod部署情况。 NAME READY STATUS RESTARTS AGE IP NODE alpine-76d978dbdd-gznk6 1/1 Running 0 21m 10.1.XX.XX viking-c619c41329e624975a7bb50527180**** alpine-76d978dbdd-vb9fv 1/1 Running 0 21m 10.1.XX.XX viking-c619c41329e624975a7bb50527180**** 查看日志 安装成功后,进入日志服务控制台。 在进入控制台后,选择 Kubernetes 集群对应的 Project(默认为 k8s-log-{Kubernetes 集群 ID}),进入 Logstore 列表页面。 在列表中找到相应的 Logstore(采集配置中指定),单击花,在下拉框中选择查询分析。 本例中,找到test-stdout这个logstore,单击花,在下拉框中选择查询分析,可以看到收集到的ECI弹性容器实例的stdout日志。日志分析 相关参考
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。