k8s-pulse/helm-chart/INSTALL.md

79 lines
1.9 KiB
Markdown
Raw Normal View History

2026-07-24 00:15:19 +00:00
# K8sMonitor Helm Chart
This Helm chart provides a standardized way to deploy the **K8sMonitor** python web application on a Kubernetes cluster.
## Prerequisites
- A running Kubernetes cluster.
- [Helm](https://helm.sh/) installed on your local machine or CI/CD runner.
- Access to a container registry where the `python-web-app` image is stored (if using a custom image).
## Getting Started
### 1. Prepare the Configuration
The default configuration can be found in `values.yaml`. You can override any value here before installing or pass them via `--set` or `-f <file>`.
Example of modifying ingress annotations:
```yaml
ingress:
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
```
### 2. Install the Chart
To install the chart using the default values:
```bash
helm install k8smonitor ./helm-chart
```
To install with a custom values file:
```bash
helm install k8smonitor ./helm-chart -f custom-values.yaml
```
### 3. Upgrade the Chart
To update your installation with newer configuration or version:
```bash
helm upgrade k8smonitor ./helm-chart
```
## Configuration Options
| Value | Description | Default |
|------|-------------|---------|
| `replicaCount` | Number of desired pods | 2 |
| `image.repository` | The Docker image to pull | python-web-app |
| `service.port` | The port the service listens on | 80 |
| `ingress.enabled` | Enable or disable Ingress | true |
| `persistence.size` | Size of the PersistentVolumeClaim | 1Gi |
## Verification
Once installed, you can check the status of your deployment:
```bash
# List all pods for the app
kubectl get pods -l app=k8smonitor
# Check the service
kubectl get svc k8smonitor
# Check the ingress
kubectl get ingress k8smonitor
```
## Troubleshooting
If the pod is not running, check the logs:
```bash
kubectl logs -l app=k8smonitor
```
Check for events in the namespace:
```bash
kubectl get events --sort-by=.metadata.creationTimestamp
```