日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

安裝Logtail組件(阿里云Kubernetes集群)

本文介紹如何在阿里云Kubernetes集群上安裝及升級Logtail組件。

背景信息

采集阿里云Kubernetes集群中的容器日志時,需先安裝Logtail組件。 在安裝過程中,日志服務自動完成以下操作:

  1. 創建alibaba-log-configuration ConfigMap,該ConfigMap中包含日志服務配置信息,例如Project等。

  2. (可選)創建ClusterAliyunPipelineConfig、AliyunLogConfig CRD資源。

  3. (可選)部署alibaba-log-controller Deployment以及配套的Webhook,用于監聽和校驗ClusterAliyunPipelineConfig、AliyunLogConfig CRD資源的變更、創建Logtail采集配置。

  4. 部署logtail-ds DaemonSet,用于采集節點的日志。

安裝Logtail組件

為已有的ACK集群安裝Logtail組件

重要
  • 此操作僅適用于專有版Kubernetes和托管版Kubernetes。

    如果您要采集ACK Serverless集群中的容器文本日志和標準輸出,請參見通過Pod環境變量采集應用日志。

  • 當您的阿里云Kubernetes集群與日志服務屬于不同的阿里云賬號時,安裝Logtail組件后,您還需要用戶標識。具體操作,請參見設置阿里云賬號為用戶標識

  1. 登錄容器服務管理控制臺。

  2. 在左側導航欄中,單擊集群。

  3. 集群列表頁面中,單擊目標集群最右側的更多 > 運維管理 > 組件管理。

  4. 日志與監控頁簽中,找到logtail-ds,然后單擊安裝。

    安裝完成后,日志服務會自動生成名k8s-log-${your_k8s_cluster_id}的Project,并在該Project下生成名為k8s-group-${your_k8s_cluster_id}的機器組和名為config-operation-log的Logstore。

    重要

    請勿刪除名為config-operation-log的Logstore。

新建ACK集群時安裝Logtail組件

  1. 登錄容器服務管理控制臺

  2. 在左側導航欄中,單擊集群。

  3. 集群列表頁面中,單擊創建集群。

  4. 組件配置配置項頁中,選中使用日志服務

    說明

    本操作僅介紹開啟日志服務的關鍵步驟。關于創建集群的具體操作,請參見創建ACK托管集群。

    當選中使用日志服務后,會出現創建項目(Project)的提示。關于日志服務管理日志的組織結構,請參見項目(Project)。有以下兩種創建Project方式。

    • 使用已有Project

      您可以選擇一個已有的Project來管理采集到的容器日志。

      安裝logtail組件

    • 創建新Project

      日志服務自動創建一個名為的Project來管理采集到的容器日志。其中ClusterID為您新建的Kubernetes集群的唯一標識。

      安裝logtail組件

安裝完成后,在該Project下自動創建名為k8s-group-${your_k8s_cluster_id}的機器組和名為config-operation-log的Logstore。

重要

請勿刪除名為config-operation-log的Logstore。

查看Logtail狀態、版本及IP地址

查看Logtail狀態

運行如下命令,查看Logtail狀態等信息。

kubectl get po -n kube-system | grep logtail

返回結果如下:

NAME            READY     STATUS    RESTARTS   AGE
logtail-ds-gb92k   1/1       Running   0          2h
logtail-ds-wm7lw   1/1       Running   0          4d

查看Logtail版本及IP地址

運行如下命令,查看Logtail的版本號、IP地址等信息。

kubectl exec logtail-ds-gb92k -n kube-system cat /usr/local/ilogtail/app_info.json

返回結果如下:

{
   "UUID" : "",
   "hostname" : "logtail-ds-gb92k",
   "instance_id" : "0EBB2B0E-0A3B-11E8-B0CE-0A58AC140402_172.20.4.2_1517810940",
   "ip" : "192.0.2.0",
   "logtail_version" : "0.16.2",
   "os" : "Linux; 3.10.0-693.2.2.el7.x86_64; #1 SMP Tue Sep 12 22:26:13 UTC 2017; x86_64",
   "update_time" : "2021-02-05 06:09:01"
}

升級Logtail

文件備份

重要

升級期間(數秒內),因Logtail容器重啟,可能出現少量數據被重復或丟失采集的情況。

在升級前,您需要對Logtail組件相關描述文件進行備份。

kubectl get ds -n kube-system logtail-ds -o yaml > logtail-ds.yaml
kubectl get deployment -n kube-system alibaba-log-controller -o yaml > alibaba-log-controller.yaml
kubectl get crd aliyunlogconfigs.log.alibabacloud.com -o yaml > aliyunlogconfigs-crd.yaml
kubectl get cm -n kube-system alibaba-log-configuration -o yaml > alibaba-log-configuration.yaml
kubectl get aliyunlogconfigs --all-namespaces -o yaml > aliyunlogconfigs-cr.yaml

組件升級

一般情況下,推薦您使用自動升級方式。如果您在logtail-ds的DaemonSet中或者在alibaba-log-controller的Deployment中修改過參數(例如環境變量),那么為了使您的修改不被重置,建議使用手動升級方式。

自動升級

重要

自動升級會重置您在logtail-ds和alibaba-log-controller中手動修改的配置。

  1. 登錄容器服務管理控制臺。

  2. 在左側導航欄中,單擊集群。

  3. 集群列表頁面中,單擊目標集群最右側的更多 > 運維管理 > 組件管理。

  4. 日志與監控頁簽中,找到logtail-ds,然后單擊升級。

  5. 升級組件對話框中,單擊確定

    重要

    如果無法升級到最新版本的Logtail,說明您的Kubernetes集群版本太舊。請先升級Kubernetes集群或者使用手動升級方式。

    執行升級操作后,您可以在容器服務管理控制臺上查看logtail-ds pod狀態。如果logtail-ds pod狀態都為running,表示升級成功。

手動升級

重要

手動升級不會根據最新版本的Logtail組件更新您的配置,部分特性優化可能不可用。

手動升級包括升級logtail-ds和alibaba-log-controller。一般情況下,您只需要升級logtail-ds即可獲取新版本Logtail提供的采集能力。當您需要獲取新版Logtail CRD方式的采集能力時,需要升級alibaba-log-controller。以下步驟以logtail-ds為例。

  1. 登錄容器服務管理控制臺。

  2. 在左側導航欄中,單擊集群

  3. 集群列表頁面中,單擊目標集群最右側的更多 > 運維管理 > 組件管理。

  4. 選擇工作負載 > 守護進程集。

    說明

    當您要升級alibaba-log-controller時,請選擇工作負載 > 無狀態,然后在kube-system命名空間下,找到alibaba-log-controller,完成升級。

  5. 選擇命名空間kube-system,然后單擊logtail-ds對應的編輯

  6. 檢查如下環境變量是否存在。

    如果不存在ALIYUN_LOGTAIL_CONFIG、ALIYUN_LOGTAIL_USER_ID、ALIYUN_LOGTAIL_USER_DEFINED_ID這三個環境變量,可能是因為您的Logtail版本太舊,您可以提交工單咨詢升級方法。

  7. 單擊鏡像Tag對應的選擇鏡像Tag。

  8. 鏡像Tag對話框中,單擊最新版本,然后單擊確定。

  9. 在頁面右側,單擊更新。

    執行升級操作后,您可以在容器服務管理控制臺上查看logtail-ds pod狀態。如果logtail-ds pod狀態都為running,表示升級成功。

升級Logtail latest版本

由于Logtail latest版本對應的YAML文件太舊,當您使用該版本時,升級和體驗新功能都可能遇到問題,推薦您升級到最新版本。操作步驟如下:

  1. 存儲已有的AliyunLogConfig CRD。

    請根據實際情況替換log-crds.yaml。

    kubectl get AliyunLogConfig -A -o yaml > log-crds.yaml
  2. 卸載logtail-ds組件。

    在阿里云容器服務管理控制臺的日志與監控頁簽中,找到logtail-ds,然后單擊卸載。具體操作入口,請參見卸載Logtail。

  3. 安裝logtail-ds組件。

    在阿里云容器服務管理控制臺的日志與監控頁簽中,找到logtail-ds,然后單擊安裝。具體操作入口,請參見安裝Logtail組件。

  4. 部署您已存儲的AliyunLogConfig CRD。

    請根據實際情況替換log-crds.yaml。

    kubectl apply -f  log-crds.yaml

升級回滾

如果您要回滾到某個版本,可參考如下步驟。

說明

升級前備份的YAML文件中包含不少冗余信息,需要您手動刪除后,才能用于恢復Logtail配置。您可以使用kubectl-neat工具完成此操作。需要刪除的字段為metadata.creationTimestamp、metadata.generation、metadata.resourceVersion、metadata.uid和status。

  1. 根據業務需求判斷升級之后的新Logtail配置是否需要保留。

    如果不需要保留,則可以刪除升級之后的新Logtail配置。

  2. 刪除備份文件中的冗余信息。

    cat logtail-ds.yaml | kubectl-neat > neat-logtail-ds.yaml
    cat alibaba-log-controller.yaml | kubectl-neat > neat-alibaba-log-controller.yaml
    cat aliyunlogconfigs-crd.yaml | kubectl-neat > neat-aliyunlogconfigs-crd.yaml
    cat alibaba-log-configuration.yaml | kubectl-neat > neat-alibaba-log-configuration.yaml
    cat aliyunlogconfigs-cr.yaml | kubectl-neat > neat-aliyunlogconfigs-cr.yaml
  3. 應用精簡后的備份文件,恢復Logtail配置。

    kubectl apply -f neat-logtail-ds.yaml
    kubectl apply -f neat-alibaba-log-controller.yaml
    kubectl apply -f neat-aliyunlogconfigs-crd.yaml
    kubectl apply -f neat-alibaba-log-configuration.yaml
    kubectl apply -f neat-aliyunlogconfigs-cr.yaml

卸載Logtail

  1. 登錄容器服務管理控制臺。

  2. 在左側導航欄中,單擊集群

  3. 集群列表頁面中,單擊目標集群最右側的更多 > 運維管理 > 組件管理。

  4. 日志與監控頁簽中,找到logtail-ds,然后單擊卸載。

  5. 根據界面提示單擊確定,完成卸載。

后續步驟

常見問題

如何查看鏡像版本?

您可以通過鏡像倉庫查看。

多個Kubernetes集群如何共用一個日志服務Project?

說明

此方式不支持跨地域的Kubernetes多集群共享。

如果您希望將多個阿里云Kubernetes集群中的容器日志采集到同一個日志服務Project中,您可以在創建Kubernetes集群時選擇相同的Project。

如何查看Logtail日志?

Logtail日志存儲在Logtail容器中的/usr/local/ilogtail/目錄中,文件名為ilogtail.LOGlogtail_plugin.LOG。

Logtail容器中的標準輸出并不具備參考意義,請忽略以下標準輸出內容。

start umount useless mount points, /shm$|/merged$|/mqueue$
umount: /logtail_host/var/lib/docker/overlay2/3fd0043af174cb0273c3c7869500fbe2bdb95d13b1e110172ef57fe840c82155/merged: must be superuser to unmount
umount: /logtail_host/var/lib/docker/overlay2/d5b10aa19399992755de1f85d25009528daa749c1bf8c16edff44beab6e69718/merged: must be superuser to unmount
umount: /logtail_host/var/lib/docker/overlay2/5c3125daddacedec29df72ad0c52fac800cd56c6e880dc4e8a640b1e16c22dbe/merged: must be superuser to unmount
......
xargs: umount: exited with status 255; aborting
umount done
start logtail
ilogtail is running
logtail status:
ilogtail is running

如何查看Kubernetes集群中日志服務相關組件的狀態?

執行如下命令進行查看。

kubectl get deploy alibaba-log-controller -n kube-system
kubectl get ds logtail-ds -n kube-system

alibaba-log-controller啟動失敗,該怎么處理?

請確認您是否按照以下方式進行安裝。

  • 在Kubernetes集群的Master節點中執行安裝命令。

  • 安裝命令參數中輸入的是您的集群ID。

如果由于以上問題安裝失敗,請使用kubectl delete -f deploy命令刪除已生成的安裝模板并重新執行安裝命令。

如何查看Kubernetes集群中Logtail-ds DaemonSet狀態?

執行kubectl get ds -n kube-system命令查看Logtail-ds DaemonSet狀態。

說明

Logtail容器所在的命名空間,默認為kube-system。

如何查看Logtail的運行日志?

Logtail運行日志保存在/usr/local/ilogtail/目錄下,文件名為ilogtail.LOG,輪轉文件會壓縮存儲為ilogtail.LOG.x.gz。例如執行如下命令查看日志。

kubectl exec logtail-ds-gb92k -n kube-system tail /usr/local/ilogtail/ilogtail.LOG

返回結果如下:

[2018-02-05 06:09:02.168693] [INFO] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:104] logtail plugin Resume:start
[2018-02-05 06:09:02.168807] [INFO] [9] [build/release64/sls/ilogtail/LogtailPlugin.cpp:106] logtail plugin Resume:success
[2018-02-05 06:09:02.168822] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:369] start add existed check point events, size:0
[2018-02-05 06:09:02.168827] [INFO] [9] [build/release64/sls/ilogtail/EventDispatcher.cpp:511] add existed check point events, size:0 cache size:0 event size:0 success count:0

如何重啟某個Pod中的Logtail?

  1. 停止Logtail。

  2. 其中logtail-ds-gb92k -n表示容器名,kube-system表示命名空間,請根據實際情況替換。

  3. kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild stop

    返回如下結果表示停止成功。

    kill process Name: ilogtail pid: 7
    kill process Name: ilogtail pid: 9
    stop success
  4. 啟動Logtail。

  5. 其中logtail-ds-gb92k -n表示容器名,kube-system表示命名空間,請根據實際情況替換。

  6. kubectl exec logtail-ds-gb92k -n kube-system /etc/init.d/ilogtaild start

    返回如下結果表示啟動成功。

    ilogtail is running 

相關文檔