rancher-logging Helm Chart 選項
啟用/停用 Windows 節點日誌
您可以在 values.yaml 中將 global.cattle.windows.enabled 設定為 true 或 false 來啟用或停用 Windows 節點日誌。
預設情況下,如果使用 Cluster Dashboard UI 在 Windows 叢集上安裝日誌應用程式,則會啟用 Windows 節點日誌。
在這種情況下,將 global.cattle.windows.enabled 設定為 false 將停用叢集上的 Windows 節點日誌。
停用時,仍會從 Windows 叢集內的 Linux 節點收集日誌。
目前存在一個問題,即在 Windows 叢集中停用 Windows 日誌後執行 helm upgrade 時,Windows nodeAgents 不會被刪除。在這種情況下,如果已經安裝了 Windows nodeAgents,使用者可能需要手動移除它們。
使用自訂 Docker 根目錄
如果使用自訂 Docker 根目錄,您可以在 values.yaml 中設定 global.dockerRootDirectory。
這將確保建立的 Logging CR 使用您指定的路徑,而不是預設的 Docker data-root 位置。
請注意,這只影響 Linux 節點。
如果叢集中有任何 Windows 節點,則該變更將不適用於這些節點。
為自訂污點新增 NodeSelector 設定和容忍度
您可以透過編輯日誌 Helm chart 值來新增您自己的 nodeSelector 設定,並為其他污點新增 tolerations。有關詳細資訊,請參閱本頁面。
啟用日誌應用程式以使用 SELinux
Logging v2 已在 RHEL/CentOS 7 和 8 上使用 SELinux 進行測試。
Security-Enhanced Linux (SELinux) 是 Linux 的安全增強功能。在政府機構歷史上使用後,SELinux 現在是行業標準,並在 CentOS 7 和 8 上預設啟用。
要在 SELinux 中使用 Logging v2,我們建議根據這些說明安裝 rancher-selinux RPM。
然後,在安裝日誌應用程式時,透過在 values.yaml 中將 global.seLinux.enabled 變更為 true 來配置 chart 以識別 SELinux。
其他日誌來源
預設情況下,Rancher 為所有叢集類型收集控制平面元件和節點元件的日誌。
在某些情況下,Rancher 可能能夠收集其他日誌。
下表總結了可以為每種節點類型收集其他日誌的來源:
| 日誌來源 | Linux 節點(包括 Windows 叢集中的 Linux 節點) | Windows 節點 |
|---|---|---|
| RKE2 | ✓ | |
| K3s | ✓ | |
| AKS | ✓ | |
| EKS | ✓ | |
| GKE | ✓ |
要啟用託管 Kubernetes 提供商作為其他日誌來源,請在安裝或升級 Logging Helm chart 時啟用 Enable enhanced cloud provider logging 選項。
啟用時,Rancher 會收集提供商提供的所有其他節點和控制平面日誌,這可能因提供商而異。
如果您已經在使用雲端提供商自己的日誌解決方案(例如 AWS CloudWatch 或 Google Cloud operations suite(以前稱為 Stackdriver)),則無需啟用此選項,因為原生解決方案將不受限制地存取所有日誌。
Systemd 配置
在 Rancher 日誌中,必須為 K3s 和 RKE2 Kubernetes 發行版配置 SystemdLogPath。
K3s 和 RKE2 Kubernetes 發行版將日誌記錄到 journald,這是 systemd 的子系統,用於日誌記錄。為了收集這些日誌,需要定義 systemdLogPath。雖然預設使用 run/log/journal 目錄,但某些 Linux 發行版不預設使用此路徑。例如,Ubuntu 預設為 var/log/journal。要確定您的 systemdLogPath 配置,請參閱以下步驟。
Systemd 配置步驟:
- 在您的其中一個節點上執行
cat /etc/systemd/journald.conf | grep -E ^\#?Storage | cut -d"=" -f2。 - 如果回傳
persistent,您的systemdLogPath應該是/var/log/journal。 - 如果回傳
volatile,您的systemdLogPath應該是/run/log/journal。 - 如果 回傳
auto,請檢查/var/log/journal是否存在。- 如果
/var/log/journal存在,則使用/var/log/journal。 - 如果
/var/log/journal不存在,則使用/run/log/journal。
- 如果
如果回傳上述未描述的任何值,Rancher Logging 將無法收集控制平面日誌。要解決此問題,您需要在每個控制平面節點上執行以下動作:
- 在 journald.conf 中設定
Storage=volatile。 - 重新啟動您的機器。
- 將
systemdLogPath設定為/run/log/journal。