系統外掛程式(Addon)使用Kubernetes資源(DaemonSet、Deployment等)實現叢集的儲存、網路等功能,這些資源部署於kube-system命名空間之下。本文介紹如何配置收集儲存、網路、Auto Scaling等主要系統外掛程式的日誌功能。
前提條件
已安裝日誌採集組件。
-
日誌組件為Logtail組件時,確保日誌應用alibaba-log-controller版本不低於0.2.0.0-76648ee-aliyun。在Container ServiceACK控制台的無狀態頁面,找到
alibaba-log-controllerDeployment,在鏡像列查看其版本號碼(例如0.2.8.0-245ff7b-aliyun)。如果alibaba-log-controller版本低,可直接升級Logtail組件。關於如何升級組件,請參見組件。
-
LoongCollector組件,無版本限制。
步驟一:建立系統外掛程式的日誌設定檔
日誌採集配置針對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.*$"
步驟二:查看日誌
關於如何查看日誌,請參見採集ACK叢集容器日誌。