系統外掛程式(Addon)使用Kubernetes資源(DaemonSet、Deployment等)實現叢集的儲存、網路等功能,這些資源部署於kube-system命名空間之下。本文介紹如何配置收集儲存、網路、Auto Scaling等主要系統外掛程式的日誌功能。
前提條件
已安裝日誌組件logtail-ds。
在建立叢集時,ACK預設選中日誌組件logtail-ds。如果您未安裝日誌組件logtail-ds,關於如何手動安裝的操作,請參見通過Log Service採集Kubernetes容器日誌。
確保日誌應用alibaba-log-controller版本不低於0.2.0.0-76648ee-aliyun。
如果alibaba-log-controller版本低,可直接升級logtail-ds組件。關於如何升級組件,請參見管理組件。
步驟一:建立系統外掛程式的日誌設定檔
日誌採集配置針對ACK進行了自訂資源CRD擴充,您可以直接部署AliyunLogConfig的CRD配置,Log Controller會自動建立Log Service相關採集配置和報表資源。關於如何建立自訂資源,請參見管理自訂資源。
根據以下樣本建立儲存、Terway網路、Flannel網路及Auto Scaling的AliyunLogConfig設定檔。
儲存CSI外掛程式的日誌配置樣本:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: #您的配置名稱在K8s叢集中必須是唯一的。 name: k8s-csi-log namespace: kube-system spec: #用於上傳日誌的logstore名稱。 logstore: k8s-csi-log #logtail配置詳細資料。 logtailConfig: #Docker標準輸出的輸入類型為“plugin”。 inputType: plugin #logtail配置名稱,應與[metadata.name]相同。 configName: k8s-csi-log inputDetail: plugin: inputs: - #輸入類型。 type: service_docker_stdout detail: #收集stdout和stderr。 Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^csi.*$"
Terway網路外掛程式的日誌配置樣本:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: #您的配置名稱在K8s叢集中必須是唯一的。 name: k8s-terway-log namespace: kube-system spec: #用於上傳日誌的logstore名稱。 logstore: k8s-terway-log #logtail配置詳細資料。 logtailConfig: #Docker標準輸出的輸入類型為“plugin”。 inputType: plugin #logtail配置名稱,應與[metadata.name]相同。 configName: k8s-terway-log inputDetail: plugin: inputs: - #輸入類型。 type: service_docker_stdout detail: #收集stdout和stderr。 Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^terway-eniip.*$"
Flannel網路外掛程式的日誌配置樣本:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: #您的配置名稱在K8s叢集中必須是唯一的。 name: k8s-flannel-log namespace: kube-system spec: #用於上傳日誌的logstore名稱。 logstore: k8s-flannel-log #logtail配置詳細資料。 logtailConfig: #Docker標準輸出的輸入類型為“plugin”。 inputType: plugin #logtail配置名稱,應與[metadata.name]相同。 configName: k8s-flannel-log inputDetail: plugin: inputs: - #輸入類型。 type: service_docker_stdout detail: #收集stdout和stderr。 Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^kube-flannel-ds.*$"
Auto Scaling外掛程式的日誌配置樣本:
apiVersion: log.alibabacloud.com/v1alpha1 kind: AliyunLogConfig metadata: #您的配置名稱在K8s叢集中必須是唯一的。 name: k8s-cluster-autoscaler-log namespace: kube-system spec: #用於上傳日誌的logstore名稱。 logstore: k8s-cluster-autoscaler-log #logtail配置詳細資料。 logtailConfig: #Docker標準輸出的輸入類型為“plugin”。 inputType: plugin #logtail配置名稱,應與[metadata.name]相同。 configName: k8s-cluster-autoscaler-log inputDetail: plugin: inputs: - #輸入類型。 type: service_docker_stdout detail: #收集stdout和stderr。 Stdout: true Stderr: true K8sNamespaceRegex: "^kube-system$" K8sPodRegex: "^cluster-autoscaler.*$"
步驟二:查看日誌
關於如何查看日誌,請參見步驟四:查看日誌。