System components use DaemonSets, Deployments, and other Kubernetes resources to implement the storage and networking features of Container Service for Kubernetes (ACK) clusters. These Kubernetes resources are deployed in the kube-system namespace. This topic describes how to collect log files of the storage, networking, and auto scaling components.
Prerequisites
- The logtail-ds component is installed in the cluster.
When you create an ACK cluster, the system automatically selects the logtail-ds component. If the logtail-ds component is not installed in the cluster, you can manually install it. For more information, see Collect log data from containers by using Log Service.
- Make sure that the version of alibaba-log-controller is 0.2.0.0-76648ee-aliyun or later.
If an earlier version of alibaba-log-controller is used, you can update the logtail-ds component. For more information about how to update a component, see Manage system components.
Step 1: Create configuration files for collecting log files of system components
Logging configurations can be implemented by using CustomResourceDefinitions (CRDs). You can create custom resource objects of the AliyunLogConfig type. alibaba-log-controller automatically configures Log Service settings and creates log reports based on the created custom resource objects. For more information about how to create custom resource objects, see Manage custom resources.
Create configuration files of the AliyunLogConfig type based on the following examples to collect log files of the storage, Terway, Flannel, and auto scaling components.
- Example for collecting log files of the Container Storage Interface (CSI) plug-in:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # The name that you specify must be unique in the cluster. name: k8s-csi-log namespace: kube-system spec: # The name of the Logstore to which the log files are collected. logstore: k8s-csi-log # The detailed settings of the Logtail configuration. logtailConfig: # The input type of Docker stdout is plugin. inputType: plugin # The name of the Logtail configuration. The name must be the same as that specified by the metadata.name field. configName: k8s-csi-log inputDetail: plugin: inputs: - # The input type. type: service_docker_stdout detail: # Collect stdout and stderr streams. Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^csi.*$"
- Example for collecting log files of the Terway plug-in:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # The name that you specify must be unique in the cluster. name: k8s-terway-log namespace: kube-system spec: # The name of the Logstore to which the log files are collected. logstore: k8s-terway-log # The detailed settings of the Logtail configuration. logtailConfig: # The input type of Docker stdout is plugin. inputType: plugin # The name of the Logtail configuration. The name must be the same as that specified by the metadata.name field. configName: k8s-terway-log inputDetail: plugin: inputs: - # The input type. type: service_docker_stdout detail: # Collect stdout and stderr streams. Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^terway-eniip.*$"
- Example for collecting log files of the Flannel plug-in:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # The name that you specify must be unique in the cluster. name: k8s-flannel-log namespace: kube-system spec: # The name of the Logstore to which the log files are collected. logstore: k8s-flannel-log # The detailed settings of the Logtail configuration. logtailConfig: # The input type of Docker stdout is plugin. inputType: plugin # The name of the Logtail configuration. The name must be the same as that specified by the metadata.name field. configName: k8s-flannel-log inputDetail: plugin: inputs: - # The input type. type: service_docker_stdout detail: # Collect stdout and stderr streams. Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^kube-flannel-ds.*$"
- Example for collecting log files of the auto scaling plug-in:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: # The name that you specify must be unique in the cluster. name: k8s-cluster-autoscaler-log namespace: kube-system spec: # The name of the Logstore to which the log files are collected. logstore: k8s-cluster-autoscaler-log # The detailed settings of the Logtail configuration. logtailConfig: # The input type of Docker stdout is plugin. inputType: plugin # The name of the Logtail configuration. The name must be the same as that specified by the metadata.name field. configName: k8s-cluster-autoscaler-log inputDetail: plugin: inputs: - # The input type. type: service_docker_stdout detail: # Collect stdout and stderr streams. Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^cluster-autoscaler.*$"
Step 2: View log files
For more information about how to view log files, see Step 4: View log data.