阿里云容器服务Kubernetes集群集成了日志服务(SLS),您可在创建集群时启用日志服务,快速采集Kubernetes 集群的容器日志,包括容器的标准输出以及容器内的文本文件。
如果您尚未创建任何的 Kubernetes 集群,可以按照本节的步骤来进行操作:

k8s-log-{ClusterID},ClusterID 表示您新建的 Kubernetes 集群的唯一标识。
如果您先前已创建了 Kubernetes 集群,可以根据本节的内容来进行所需的操作以使用日志服务:
检查日志服务组件版本
详细内容,可参考在CloudShell上通过kubectl管理Kubernetes集群 。
$ kubectl describe daemonsets -n kube-system logtail-ds | grep ALICLOUD_LOG_DOCKER_ENV_CONFIG ALICLOUD_LOG_DOCKER_ENV_CONFIG: true,表示您可正常使用,不需要进行升级或迁移。$ helm get alibaba-log-controller | grep CHART CHART: alibaba-cloud-log-0.1.1 $ kubectl get daemonsets -n kube-system logtailNo resources found.,则表明未安装日志服务组件,请参照操作手动安装日志服务组件。详细内容,可参考在CloudShell上通过kubectl管理Kubernetes集群 。
echo $ALIBABA_CLOUD_ACCOUNT_ID。${your_k8s_cluster_id}、{your_ali_uid}、{your_k8s_cluster_region_id}参数后执行以下安装命令。wget https://acs-logging.oss-cn-hangzhou.aliyuncs.com/alicloud-k8s-log-installer.sh -O alicloud-k8s-log-installer.sh; chmod 744 ./alicloud-k8s-log-installer.sh; ./alicloud-k8s-log-installer.sh --cluster-id ${your_k8s_cluster_id} --ali-uid ${your_ali_uid} --region-id ${your_k8s_cluster_region_id}参数说明:
安装示例
[root@iZbp******biaZ ~]# wget https://acs-logging.oss-cn-hangzhou.aliyuncs.com/alicloud-k8s-log-installer.sh -O alicloud-k8s-log-installer.sh; chmod 744 ./alicloud-k8s-log-installer.sh; ./alicloud-k8s-log-installer.sh --cluster-id c77a*****************0106 --ali-uid 19*********19 --region-id cn-hangzhou--2018-09-28 15:25:33-- https://acs-logging.oss-cn-hangzhou.aliyuncs.com/alicloud-k8s-log-installer.shResolving acs-logging.oss-cn-hangzhou.aliyuncs.com... 118.31.219.217, 118.31.219.206Connecting to acs-logging.oss-cn-hangzhou.aliyuncs.com|118.31.219.217|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 2273 (2.2K) [text/x-sh]Saving to: ‘alicloud-k8s-log-installer.sh’alicloud-k8s-log-installer.sh 100%[================================================================================================================>] 2.22K --.-KB/s in 0s2018-09-28 15:25:33 (13.5 MB/s) - ‘alicloud-k8s-log-installer.sh’ saved [2273/2273]--2018-09-28 15:25:33-- http://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/alibaba-cloud-log.tgzResolving logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com... 118.31.219.49Connecting to logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com|118.31.219.49|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 2754 (2.7K) [application/x-gzip]Saving to: ‘alibaba-cloud-log.tgz’alibaba-cloud-log.tgz 100%[================================================================================================================>] 2.69K --.-KB/s in 0s2018-09-28 15:25:34 (79.6 MB/s) - ‘alibaba-cloud-log.tgz’ saved [2754/2754][INFO] your k8s is using project : k8s-log-c77a92ec5a3ce4e64a1bf13bde1820106NAME: alibaba-log-controllerLAST DEPLOYED: Fri Sep 28 15:25:34 2018NAMESPACE: defaultSTATUS: DEPLOYEDRESOURCES:==> v1beta1/CustomResourceDefinitionNAME AGEaliyunlogconfigs.log.alibabacloud.com 0s==> v1beta1/ClusterRolealibaba-log-controller 0s==> v1beta1/ClusterRoleBindingNAME AGEalibaba-log-controller 0s==> v1beta1/DaemonSetNAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGElogtail-ds 2 2 0 2 0 <none> 0s==> v1beta1/DeploymentNAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGEalibaba-log-controller 1 1 1 0 0s==> v1/Pod(related)NAME READY STATUS RESTARTS AGElogtail-ds-6v979 0/1 ContainerCreating 0 0slogtail-ds-7ccqv 0/1 ContainerCreating 0 0salibaba-log-controller-84d8b6b8cf-nkrkx 0/1 ContainerCreating 0 0s==> v1/ServiceAccountNAME SECRETS AGEalibaba-log-controller 1 0s[SUCCESS] install helm package : alibaba-log-controller success. 如果您已安装旧版本的日志服务组件(通过 helm 或 DaemonSet),可以按照以下操作进行升级或迁移。
说明 通过cloudshell 连接 Kubernetes 集群。
详细内容可参考在CloudShell上通过kubectl管理Kubernetes集群 。
Helm 升级(推荐)
wget http://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/alibaba-cloud-log.tgz -O alibaba-cloud-log.tgzhelm get values alibaba-log-controller --all > values.yaml && helm upgrade alibaba-log-controller alibaba-cloud-log.tgz --recreate-pods -f values.yamlDaemonSet升级
若您不是使用helm的方式安装的日志组件,可通过修改DaemonSet模板的方式进行升级。若您的镜像账号为acs,请参考镜像仓库中最新的tag,将镜像中的tag更新至最新版本;若您的镜像账号为log-service,请参考镜像仓库中最新的tag,将镜像中的tag更新至最新版本。
说明
tolerations:- operator: "Exists"更多最新配置方式,请参考最新helm包中的相关配置。
此升级步骤适用于检查日志服务组件版本时结果为使用旧方式 DaemonSet 的用户,该方式不支持在容器服务中进行日志服务配置,您可按如下操作进行升级迁移:
wget https://acs-logging.oss-cn-hangzhou.aliyuncs.com/alicloud-k8s-log-installer.sh -O alicloud-k8s-log-installer.sh; chmod 744 ./alicloud-k8s-log-installer.sh; ./alicloud-k8s-log-installer.sh --cluster-id c12ba2028cxxxxxxxxxx6939f0b --ali-uid 19*********19 --region-id cn-hangzhou --log-project k8s-log-demok8s-group-${your_k8s_cluster_id}。说明 升级期间会有部分日志重复;CRD 配置管理方式只对使用 CRD 创建的配置生效(由于历史配置使用非 CRD 方式创建,因此历史配置不支持 CRD 管理方式)。
在容器服务中,您可以在创建应用的同时配置日志服务对容器的日志进行采集,目前支持以控制台向导和 YAML 模板两种方式进行创建。
控制台向导创建

以下仅介绍日志服务相关的配置,其他的应用配置可参见使用镜像创建无状态Deployment应用。
每一项采集配置都会被自动创建为对应 Logstore 的一个采集配置,默认采用极简模式(按行)进行采集,如果您需要更丰富的采集方式,可以前往日志服务控制台,进入相应的 Project(默认是 k8s-log 前缀)和 Logstore 对配置进行修改。


使用 YAML 模板创建
apiVersion: v1kind: Podmetadata: name: my-demospec: containers: - name: my-demo-app image: ‘registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest‘ env: ######### 配置 环境变量 ########### - name: aliyun_logs_log-stdout value: stdout - name: aliyun_logs_log-varlog value: /var/log/*.log - name: aliyun_logs_mytag1_tags value: tag1=v1 ############################### ######### 配置vulume mount ########### volumeMounts: - name: volumn-sls-mydemo mountPath: /var/log volumes: - name: volumn-sls-mydemo emptyDir: {} ###############################aliyun_logs_ 作为前缀。- name: aliyun_logs_{Logstore 名称} value: {日志采集路径}示例中创建了两个采集配置,其中 aliyun_logs_log-stdout 这个 env 表示创建一个 Logstore 名字为 log-stdout,日志采集路径为 stdout 的配置,从而将容器的标准输出采集到 log-stdout 这个 Logstore 中。
说明 Logstore 名称中不能包含下划线(_),可以使用 - 来代替。
- name: aliyun_logs_{任意不包含‘_‘的名称}_tags value: {Tag 名}={Tag 值}配置 Tag 后,当采集到该容器的日志时,会自动附加对应的字段到日志服务。
示例中采集配置添加了对/var/log/*.log 的采集,因此相应地添加了/var/log的 volumeMounts。
本例中查看通过控制台向导创建的tomcat应用的日志。完成配置后,tomcat应用的日志已被采集并存储到日志服务中,您可以如下步骤来查看您的日志:

