Rancher 與日誌服務的整合
Logging operator 現在為 Rancher 的日誌解決方案提供支援,取代了以前的內部解決方案。
啟用日誌
您可以透過前往 Apps 頁面並安裝日誌應 用程式來為 Rancher 管理的叢集啟用日誌。
- 前往您想要安裝日誌的叢集,然後點擊 Apps。
- 點擊 Logging 應用程式。
- 捲動到 Helm chart README 的底部,然後點擊 Install。
結果: 日誌應用程式已部署在 cattle-logging-system 命名空間中。
解除安裝日誌
- 前往您想要安裝日誌的叢集,然後點擊 Apps。
- 點擊 Installed Apps。
- 前往
cattle-logging-system命名空間,並勾選rancher-logging和rancher-logging-crd的核取方塊。 - 點擊 Delete。
- 確認 Delete。
結果: rancher-logging 已解除安裝。
架構
有關日誌應用程式如何運作的更多資訊,請參閱本節。
基於角色的存取控制
Rancher 日誌具有兩個角色,logging-admin 和 logging-view。有關如何以及何時使用這些角色的更多資訊,請參閱本頁面。
配置日誌自訂資源
要管理 Flows、ClusterFlows、Outputs 和 ClusterOutputs,
- 在左上角,點擊 ☰ > Cluster Management。
- 在 Clusters 頁面上,前往您想要配置日誌自訂資源的叢集,然後點擊 Explore。
- 在左側導航列中,點擊 Logging。
Flow 和 ClusterFlow
有關配置 Flows 和 ClusterFlows 的幫助,請參閱本頁面。
Output 和 ClusterOutput
有關配置 Outputs 和 ClusterOutputs 的幫助,請參閱本頁面。
使用自訂 HostTailer 映像
要為 HostTailer 資源使用自訂映像,您需要在 HostTailer 資源的每個 fileTailer 的 containerOverrides 區段中指定映像。
apiVersion: logging-extensions.banzaicloud.io/v1alpha1
kind: HostTailer
metadata:
name: cluster-system-log
spec:
workloadMetaOverrides:
annotations: {}
labels: {}
fileTailers:
- disabled: false
name: kubelet-log
path: /var/lib/rancher/rke2/agent/logs/*.log
containerOverrides:
image: <your_registry>/<your_image>:<your_tag>
- disabled: false
name: containerd-log
path: /var/lib/rancher/rke2/agent/containerd/*.log
containerOverrides:
image: <your_registry>/<your_image>:<your_tag>
- name: kube-audit
path: /var/log/kube-audit/audit-log.json
disabled: false
containerOverrides:
image: <your_registry>/<your_image>:<your_tag>
配置 Logging Helm Chart
有關在安裝或升級日誌應用程式時可以配置的選項列表,請參閱本頁面。
Windows 支援
您可以從 Windows 節點啟用日誌。
使用自訂 Docker 根目錄
有關使用自訂 Docker 根目錄的詳細資訊,請參閱本節。
使用污點和容忍度
有關如何在日誌應用程式中使用污點和容忍度的資訊,請參閱本頁面。
在 SELinux 中使用 Logging V2
有關為啟用 SELinux 的節點啟用日誌應用程式的資訊,請參閱本節。
其他日誌來源
預設情況下,Rancher 為所有叢集類型收集控制平面元件和節點元件的日誌。在某些情況下,可以收集其他日誌。有關詳細資訊,請參閱本節。
故障排除
日誌緩衝區過載 Pod
根據您的配置,預設緩衝區大小可能太大並導致 pod 失敗。減少負載的一種方法是降低日誌記錄器的刷新間隔。這可以防止日誌過度填充緩衝區。您還可以新增更多刷新執行緒來處理許多日誌同時嘗試填充緩衝區的時刻。
有關如何配置日誌緩衝區以適應您組織需求的更完整描述,請參閱 Logging operator 官方文件中關於緩衝區和Fluentd 配置的內容。
cattle-logging 命名空間被重新建立
如果您的叢集先前從舊版 Rancher UI 的全域檢視中部署了日誌,您可能會遇到其 cattle-logging 命名空間不斷被重新建立的問題。
解決方法是從管理叢集中的叢集特定命名空間中刪除所有 clusterloggings.management.cattle.io 和 projectloggings.management.cattle.io 自訂資源。
這些自訂資源的存在會導致 Rancher 在下游叢集中建立 cattle-logging 命名空間(如果它不存在)。
叢集命名空間與叢集 ID 匹配,因此我們需要找到每個叢集的叢集 ID。
- 在左上角,點擊 ☰ > Cluster Management。
- 在 Clusters 頁面上,前往您想要取得 ID 的叢集,然後點擊 Explore。
- 從以下其中一個 URL 複製
<cluster-id>部分。<cluster-id>部分是叢集命名空間名稱。
# Cluster Management UI
https://<your-url>/c/<cluster-id>/
# Cluster Dashboard
https://<your-url>/dashboard/c/<cluster-id>/
現在我們有了 <cluster-id> 命名空間,我們可以刪除導致 cattle-logging 不斷重新建立的 CR。
警告: 確保目前未使用從舊版 Rancher UI 的全域檢視安裝的日誌版本。
kubectl delete crd clusterloggings.management.cattle.io -n <cluster-id>
kubectl delete crd projectloggings.management.cattle.io -n <cluster-id>