這是本文件的舊版!
在 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
- 產生 appkey Exp.
$ echo "base64:$(head -c 32 /dev/urandom | base64)" base64:SkGsCIF2TZtQZx8swneh80I1sHQ3AYRD8UCkeze70Bs=
- 設定配置檔 librenms-values.yaml
librenms: appkey: "base64:dC6DWwcnR6zeFEhd3kgIO1PN3djVfVBhfiHCxjicOXw=" timezone: "Asia/Taipei" configuration: |- $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 服務 (不再包含 persistence 設定) # ---------------------------------------------- rrdcached: enabled: true persistence: enabled: true journal: size: 1Gi storageClassName: "nfs-client" rrdcached: size: 10Gi storageClassName: "nfs-client" # ---------------------------------------------- # 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- 如果安裝後要調整參數(修改 librenms-values.yaml), 需要修改後執行 helm upgrade
helm upgrade librenms -f librenms-values.yaml librenms/librenms
- 進入 Librenms 網頁 Exp. https://librenms.k3s.ichiayi.com
- 預設帳號密碼 admin / librenms
FAQ
1. 如果無法使用預設帳號密碼登入
- 找到 frontend 的 pod(或任意一個 librenms pod 都可以)
- 在容器內部執行建立帳號指令
php /opt/librenms/artisan user:add admin \ --password=librenms \ [email protected] \ --role=admin
