开发者社区> 问答> 正文

Kubernetes 集群中日志管理的阿里云日志服务集成

您可以集成阿里云日志服务来查看和管理您的 Kubernetes 集群应用的日志。
步骤 1 集成阿里云日志服务

  1. 登录 日志服务管理控制台,创建项目(Project)。
    本示例中,创建的日志服务 Project 名称为 [backcolor=transparent]mylogproject。有关如何创建项目,参见 创建项目

    [backcolor=transparent]注意:Project 名称中不要包含连字符(-)。
  2. 创建日志收集 Agent。
    连接到集群。
    参见 通过 kubectl 连接到集群

  3. 执行下面几条命令下载一个日志服务 YAML 文件模板,用 vi 编辑器打开,找到 env 环境变量一节,将所有的replace with your xxx 替换成您的真实值。
    其中:
    • [backcolor=transparent]FLUENTD_OUTPUT: 固定值 aliyun_sls,代表将日志收集到阿里云日志服务。
    • [backcolor=transparent]ALIYUNSLS_PROJECT: 您第一步创建的阿里云日志服务的 project 名称.
    • [backcolor=transparent]ALIYUNSLS_REGION_ENDPOINT: 日志服务的服务入口。根据您的日志服务所处的地域和网络类型填写日志服务的服务入口,参见 日志服务服务入口
    • [backcolor=transparent]ALIYUNSLS_ACCESS_KEY_ID: 您的阿里云账号的 access_key_id。
    • [backcolor=transparent]ALIYUNSLS_ACCESS_KEY_SECRET: 您的阿里云账号的 access_key_secret。
    • [backcolor=transparent]ALIYUNSLS_NEED_CREATE_LOGSTORE: 当 Logstore 不存在的时候是否自动创建,true 表示自动创建。
[backcolor=transparent] [[backcolor=transparent] root@iZu kubernetes[backcolor=transparent] ]#[backcolor=transparent] curl http[backcolor=transparent] :[backcolor=transparent] //aliacs-k8s.oss.aliyuncs.com/conf%2Flogging%2Ffluentd-pilot.yml > fluentd-pilot.yml
  • [backcolor=transparent][[backcolor=transparent]root@iZu kubernetes[backcolor=transparent]]#[backcolor=transparent] vi fluentd[backcolor=transparent]-[backcolor=transparent]pilot[backcolor=transparent].[backcolor=transparent]yml
  • [backcolor=transparent]...
  • [backcolor=transparent]      env[backcolor=transparent]:
  • [backcolor=transparent]        [backcolor=transparent]-[backcolor=transparent] name[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"FLUENTD_OUTPUT"
  • [backcolor=transparent]          value[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"aliyun_sls"
  • [backcolor=transparent]        [backcolor=transparent]-[backcolor=transparent] name[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"ALIYUNSLS_PROJECT"
  • [backcolor=transparent]          value[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"replace with your project id"
  • [backcolor=transparent]        [backcolor=transparent]-[backcolor=transparent] name[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"ALIYUNSLS_REGION_ENDPOINT"
  • [backcolor=transparent]          value[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"cn-hangzhou.log.aliyuncs.com"
  • [backcolor=transparent]        [backcolor=transparent]-[backcolor=transparent] name[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"ALIYUNSLS_ACCESS_KEY_ID"
  • [backcolor=transparent]          value[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"replace with your KEY"
  • [backcolor=transparent]        [backcolor=transparent]-[backcolor=transparent] name[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"ALIYUNSLS_ACCESS_KEY_SECRET"
  • [backcolor=transparent]          value[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"replace with your SECRET"
  • [backcolor=transparent]        [backcolor=transparent]-[backcolor=transparent] name[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"ALIYUNSLS_NEED_CREATE_LOGSTORE"
  • [backcolor=transparent]          value[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"true"
  • [backcolor=transparent]...
  • [backcolor=transparent][[backcolor=transparent]root@iZu kubernetes[backcolor=transparent]]#[backcolor=transparent] kubectl apply [backcolor=transparent]-[backcolor=transparent]f fluentd[backcolor=transparent]-[backcolor=transparent]pilot[backcolor=transparent].[backcolor=transparent]yml

  • 然后您可以通过 kubectl get ds -n kube-system 查看您的 Fluentd agent 的运行状态。

    步骤 2 收集应用日志


    为了让 Fluentd 收集您的应用日志,您需要在应用的环境变量中设置参数 aliyun_logs_fluentd=stdout 来启用应用的日志收集功能。其中,fluentd 是您上面创建的日志 Project 的 Logstore,如果该 Logstore 不存在,系统会自动为您创建该名称的 Logstore;stdout 代表收集标准输出的日志,您还可以配置收集文件日志,具体使用方式请参考 Fluentd-pilot。
    收集日志的示例应用:
    1. [backcolor=transparent][[backcolor=transparent]root@iZu kubernetes[backcolor=transparent]]#[backcolor=transparent] kubectl run hello[backcolor=transparent]-[backcolor=transparent]kube [backcolor=transparent]--[backcolor=transparent]env [backcolor=transparent]"aliyun_logs_fluentd=stdout"[backcolor=transparent] [backcolor=transparent]--[backcolor=transparent]image[backcolor=transparent]=[backcolor=transparent]registry[backcolor=transparent].[backcolor=transparent]cn[backcolor=transparent]-[backcolor=transparent]hangzhou[backcolor=transparent].[backcolor=transparent]aliyuncs[backcolor=transparent].[backcolor=transparent]com[backcolor=transparent]/[backcolor=transparent]google[backcolor=transparent]-[backcolor=transparent]containers[backcolor=transparent]/[backcolor=transparent]echoserver[backcolor=transparent]:[backcolor=transparent]1.4[backcolor=transparent] [backcolor=transparent]--[backcolor=transparent]port[backcolor=transparent]=[backcolor=transparent]8080

    设置好应用后,您就可以前往 日志服务管理控制台 查看并使用日志了。

    展开
    收起
    反向一觉 2017-10-30 16:38:04 2916 0
    0 条回答
    写回答
    取消 提交回答
    问答排行榜
    最热
    最新

    相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    企业运维之云原生和Kubernetes 实战 立即下载

    相关镜像