38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# Kubernetes Configuration
|
|
|
|
This directory contains Kubernetes manifests and configuration for the video infrastructure.
|
|
|
|
## Managing CRDs
|
|
|
|
The file `all-crds.yaml` contains all Custom Resource Definitions (CRDs) required by the monitoring stack (Prometheus Operator).
|
|
|
|
### When to update CRDs
|
|
|
|
You should regenerate `all-crds.yaml` by running `scripts/update-crds.sh` when:
|
|
|
|
1. **Upgrading the `kube-prometheus-stack` Helm chart**: If you bump the chart version in `k8s/monitoring/Chart.yaml` and update the dependencies, you must also update the CRDs to match the new version.
|
|
2. **Missing CRD fields**: If you encounter errors like `field not declared in schema` during ArgoCD syncs, it likely means the installed CRDs are outdated.
|
|
3. **Apply the CRDs**:
|
|
Since Helm does not manage CRD upgrades, you must apply the updated CRDs manually. You may need `--force-conflicts` if ArgoCD previously managed these resources:
|
|
```bash
|
|
kubectl apply --server-side --force-conflicts -f k8s/all-crds.yaml
|
|
```
|
|
|
|
4. **Commit and Push**:
|
|
Commit the updated `k8s/all-crds.yaml` to the repository.
|
|
```bash
|
|
git add k8s/all-crds.yaml
|
|
git commit -m "Update Prometheus CRDs"
|
|
git push
|
|
```
|
|
|
|
### How to update
|
|
|
|
Run the update script from the repository root:
|
|
|
|
```bash
|
|
./scripts/update-crds.sh
|
|
```
|
|
|
|
This script extracts the CRDs from the local `kube-prometheus-stack` chart package and concatenates them into `k8s/all-crds.yaml`.
|