您可以集成阿里云日志服务来查看和管理您的 Kubernetes 集群应用的日志。
步骤 1 集成阿里云日志服务
- 登录 日志服务管理控制台,创建项目(Project)。
本示例中,创建的日志服务 Project 名称为 [backcolor=transparent]mylogproject。有关如何创建项目,参见 创建项目。
[backcolor=transparent]注意:Project 名称中不要包含连字符(-)。
- 创建日志收集 Agent。
连接到集群。
参见 通过 kubectl 连接到集群。
执行下面几条命令下载一个日志服务 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。
收集日志的示例应用:
- [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
设置好应用后,您就可以前往
日志服务管理控制台 查看并使用日志了。