這是本文件的舊版!
在 K3s 環境透過 Rancher 建立 LibreNMS
- 採用 K3s 環境已經定義好的
- ingress + tls → librenms.k3s.ichiayi.com
- nfs storage
- 使用官方提供的 helm chart 進行安裝配置
安裝程序
- 加入 helm repo
helm repo add librenms https://www.librenms.org/helm-charts helm repo update
- 設定配置檔 librenms-values.yaml
librenms: appkey: "base64:PUT_YOUR_APP_KEY_HERE" timezone: "Asia/Taipei" configuration: |- <?php $config['distributed_poller'] = true; $config['distributed_poller_group'] = 0; image: repository: librenms/librenms tag: "24.5.0" frontend: replicas: 1 resources: requests: cpu: 200m memory: 512Mi limits: cpu: 500m memory: 1Gi poller: replicas: 3 resources: requests: cpu: 500m memory: 1Gi limits: cpu: 1 memory: 2Gi # ---------------------------------------------- # RRDcached(需要大量持續寫入 — 強烈建議使用 PVC) # ---------------------------------------------- rrdcached: enabled: true persistence: enabled: true # RRD journal(小,主要寫快取) journal: enabled: true size: 1Gi storageClass: nfs-client accessMode: ReadWriteMany # RRD raw data(大,所有 LibreNMS graph 都存這裡) rrdcached: enabled: true size: 10Gi storageClass: nfs-client accessMode: ReadWriteMany envs: - name: TZ value: "Asia/Taipei" # ---------------------------------------------- # MySQL(採用 Bitnami 內建,可用 NFS 做為 PVC) # ---------------------------------------------- mysql: enabled: true architecture: standalone auth: rootPassword: "change_me_root" password: "change_me_librenms" database: "librenms" username: "librenms" primary: persistence: enabled: true size: 10Gi storageClass: nfs-client accessModes: - ReadWriteOnce # MySQL 建議 RWO(安全) resources: requests: cpu: 200m memory: 512Mi # ---------------------------------------------- # Redis(建議用 NFS PVC, 但也可用 emptyDir) # ---------------------------------------------- redis: enabled: true architecture: standalone master: persistence: enabled: true size: 2Gi storageClass: nfs-client accessModes: - ReadWriteOnce resources: requests: cpu: 100m memory: 256Mi # ---------------------------------------------- # Ingress # ---------------------------------------------- ingress: enabled: true className: nginx annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/proxy-body-size: "64m" nginx.ingress.kubernetes.io/ssl-redirect: "false" hosts: - host: librenms.k3s.ichiayi.com paths: - path: / pathType: Prefix tls: - secretName: wildcard-k3s-ichiayi-com-tls hosts: - librenms.k3s.ichiayi.com
- 執行安裝
helm install librenms -f librenms-values.yaml librenms/librenms