Skip to content

Commit d2d9af3

Browse files
committed
docs: update k8s related configuration
This commit updates the docs for k8s related configuration. Signed-off-by: Vibhu Prashar <[email protected]>
1 parent 7bcc5e5 commit d2d9af3

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

docs/configuration/configuration.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ You can configure Kepler by passing flags when starting the service. The followi
2727
| `--debug.pprof` | Enable pprof debugging endpoints | `false` | `true`, `false` |
2828
| `--exporter.stdout` | Enable stdout exporter | `false` | `true`, `false` |
2929
| `--exporter.prometheus` | Enable Prometheus exporter | `true` | `true`, `false` |
30+
| `--kube.enable` | Monitor kubernetes | `false` | `true`, `false` |
31+
| `--kube.config` | Path to a kubeconfig file | `""` | Any valid file path |
32+
| `--kube.node-name` | Name of kubernetes node on which kepler is running | `""` | Any valid node name |
3033

3134
### 💡 Examples
3235

@@ -42,6 +45,9 @@ kepler --config.file=/path/to/config.yaml
4245

4346
# Enable stdout exporter and disable Prometheus exporter
4447
kepler --exporter.stdout=true --exporter.prometheus=false
48+
49+
# Enable Kubernetes monitoring with specific kubeconfig and node name
50+
kepler --kube.enable=true --kube.config=/path/to/kubeconfig --kube.node-name=my-node
4551
```
4652

4753
## 🗂️ Configuration File
@@ -82,6 +88,11 @@ debug: # debug related config
8288
web:
8389
configFile: "" # Path to TLS server config file
8490

91+
kube: # kubernetes related config
92+
enabled: false # Enable kubernetes monitoring (default: false)
93+
config: "" # Path to kubeconfig file (optional if running in-cluster)
94+
nodeName: "" # Name of the kubernetes node (required when enabled)
95+
8596
# WARN: DO NOT ENABLE THIS IN PRODUCTION - for development/testing only
8697
dev:
8798
fake-cpu-meter:
@@ -196,6 +207,28 @@ tls_server_config:
196207
key_file: /path/to/key.pem # Path to the key file
197208
```
198209

210+
### 🐳 Kubernetes Configuration
211+
212+
```yaml
213+
kube:
214+
enabled: false # Enable kubernetes monitoring
215+
config: "" # Path to kubeconfig file
216+
nodeName: "" # Name of the kubernetes node
217+
```
218+
219+
- **enabled**: Enable or disable Kubernetes monitoring (default: false)
220+
- When enabled, Kepler will monitor Kubernetes resources and expose pod level information
221+
222+
- **config**: Path to a kubeconfig file (optional)
223+
- Required when running Kepler outside of a Kubernetes cluster
224+
- When running inside a cluster, Kepler can use the in-cluster configuration
225+
- Must be a valid and readable kubeconfig file
226+
227+
- **nodeName**: Name of the Kubernetes node on which Kepler is running (required when enabled)
228+
- This helps Kepler identify which node it's monitoring
229+
- Must match the actual node name in the Kubernetes cluster
230+
- Required when `enabled` is set to `true`
231+
199232
### 🧑‍🔬 Development Configuration
200233

201234
```yaml

hack/config.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ debug: # debug related config
4444
web:
4545
configFile: "" # Path to TLS server config file
4646

47+
kube: # kubernetes related config
48+
enabled: false # enable kubernetes monitoring (default: false)
49+
config: "" # path to kubeconfig file (optional if running in-cluster)
50+
nodeName: "" # name of the kubernetes node (required when enabled)
51+
52+
4753
# WARN DO NOT ENABLE THIS IN PRODUCTION - for development / testing only
4854
dev:
4955
fake-cpu-meter:

0 commit comments

Comments
 (0)