配置參考表
Profile 標籤
- Azure VM K3s profile:Azure VM 叢集請以
deployment-steps.md 的精簡 values 為基準。
- HA/production profile:本文件多數默認值與生產配置段落(如副本與資源建議)偏向 HA/production 參考。
⚠️ Azure VM 規格較小時,必須使用 deployment-steps.md 的降配值,不可混用 HA 預設。
本文檔提供 NetBox、PostgreSQL 和 Redis 的完整配置項速查表,方便向同事介紹或調整部署。
NetBox 配置參考
應用級別配置
| 配置項 |
默認值 |
說明 |
示例 |
replicaCount |
3 |
Netbox pod 副本數 |
3, 5, 10 |
image.repository |
netboxcommunity/netbox |
容器鏡像倉庫 |
自訂倉庫 |
image.tag |
latest |
版本標籤 |
v3.4.0, v3.5.0 |
image.pullPolicy |
IfNotPresent |
鏡像拉取策略 |
Always, Never |
資源配置
| 配置項 |
限制 |
請求 |
說明 |
| CPU |
1000m |
500m |
單核=1000m |
| 內存 |
2Gi |
1Gi |
1GB=1Gi |
調整建議:
- 開發環境:CPU 1000m, Memory 1Gi (建議 2Gi 以確保遷移順利)
- 生產環境(小規模):CPU 1000m, Memory 2Gi
- 生產環境(大規模):CPU 2000m, Memory 4Gi
健康檢查配置
| 檢查類型 |
參數 |
默認值 |
說明 |
| Readiness |
initialDelaySeconds |
30 |
pod 啟動後等待時間 |
| Readiness |
periodSeconds |
10 |
檢查周期 |
| Liveness |
initialDelaySeconds |
120 |
pod 啟動後等待時間 |
| Liveness |
periodSeconds |
10 |
檢查周期 |
NetBox 管理員帳號
| 項目 |
說明 |
admin 初始密碼 |
官方 OCI chart 可用 superuser.password 在 install 時設定 |
| 建立方式 |
使用官方 OCI chart 的 superuser.password / superuser.apiToken,或部署後執行 python manage.py createsuperuser |
| 重設方式 |
python manage.py changepassword <username> |
| 已知限制 |
本地 netbox-values.yaml 只管理 PostgreSQL / Redis 等基礎服務認證 |
| 其他說明 |
若使用本地 chart/fork,需自行確認是否支援 superuser.* 參數 |
PostgreSQL 配置參考
部署配置
| 配置項 |
默認值 |
說明 |
enabled |
true |
是否啟用 PostgreSQL chart |
replicaCount |
3 |
PostgreSQL StatefulSet 副本數 |
primary.persistence.size |
10Gi |
數據庫存儲大小 |
primary.persistence.enabled |
true |
是否啟用持久化存儲 |
primary.persistence.storageClassName |
local-path |
Azure VM 上的 K3s local-path 存儲類 |
認證配置
| 配置項 |
默認值 |
說明 |
auth.username |
netbox |
數據庫用戶名 |
auth.password |
netbox |
數據庫密碼(應改為強密碼) |
auth.database |
netbox |
數據庫名稱 |
資源配置
| 資源 |
限制 |
請求 |
說明 |
| CPU |
1000m |
500m |
PostgreSQL 進程 |
| Memory |
1Gi |
512Mi |
內存緩衝 |
PostgreSQL 特定參數:
postgresql:
parameters:
shared_buffers: 256MB # 共享內存緩衝
effective_cache_size: 1GB # 有效緩存大小
work_mem: 16MB # 排序和雜湊表大小
maintenance_work_mem: 64MB # VACUUM 等維護操作
備份配置
# 自動備份(可選)
backup:
enabled: true
schedule: "0 2 * * *" # 每天凌晨 2 點
retention: 7 # 保留 7 天
Redis 配置參考
部署配置
| 配置項 |
默認值 |
說明 |
enabled |
true |
是否啟用 Redis chart |
replica.replicaCount |
2 |
Redis 從節點副本數 |
persistence.enabled |
false |
是否啟用 RDB 持久化 |
認證配置
| 配置項 |
默認值 |
說明 |
auth.enabled |
true |
是否啟用密碼認證 |
auth.password |
(empty) |
Redis 密碼 |
資源配置
| 資源 |
限制 |
請求 |
說明 |
| CPU |
500m |
250m |
Redis 進程 |
| Memory |
512Mi |
256Mi |
內存存儲 |
Redis 特定參數:
redis:
appendonly: no # AOF 持久化(通常關閉)
maxmemory-policy: allkeys-lru # 內存淘汰策略
timeout: 0 # 客戶端超時時間(0=禁用)
Service 和 Ingress 配置
Service 配置
service:
type: ClusterIP # ClusterIP, NodePort, LoadBalancer
port: 80 # Service 端口
targetPort: 8001 # 容器端口
annotations: {} # 額外的 service 注解
Ingress 配置
ingress:
enabled: false
className: nginx # Ingress 控制器類
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
hosts:
- host: netbox.example.com
paths:
- path: /
pathType: Prefix
tls:
- secretName: netbox-tls
hosts:
- netbox.example.com
環境變數配置
NetBox 支持通過環境變數配置,在 ConfigMap 中設置:
env:
NETBOX_ALLOWED_HOSTS: '*'
NETBOX_CSRF_TRUSTED_ORIGINS: 'http://localhost:8080'
NETBOX_DEBUG: 'False'
NETBOX_MAX_PAGE_SIZE: '1000'
NETBOX_PAGINATE_COUNT: '50'
NETBOX_LOG_LEVEL: 'INFO'
數據庫連接字符串示例
PostgreSQL
PostgreSQL://netbox:netbox@postgresql:5432/netbox
Redis
redis://:redis-password@redis-master-0:6379/0
重要配置組合推薦
開發環境配置
replicaCount: 1
postgresql:
replicaCount: 1
redis:
replica:
replicaCount: 0
測試環境配置
replicaCount: 2
postgresql:
replicaCount: 2
redis:
replica:
replicaCount: 1
生產環境配置
replicaCount: 3
postgresql:
replicaCount: 3
redis:
replica:
replicaCount: 2
auth:
password: (strong password)
快速查詢命令
# 查看當前部署的 values
helm get values netbox -n netbox
# 查看部署的完整 manifest
helm get manifest netbox -n netbox | grep -A 10 "kind: Deployment"
# 查看 ConfigMap 內容
kubectl get cm netbox-config -n netbox -o yaml
# 查看 Secrets
kubectl get secrets -n netbox
下一步
閱讀 troubleshooting.md 了解常見問題和解決方案。