init
This commit is contained in:
81
.opencode/skills/devops/references/kubernetes-helm.md
Normal file
81
.opencode/skills/devops/references/kubernetes-helm.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# Helm Package Management
|
||||
|
||||
## Core Concepts
|
||||
|
||||
- **Chart:** Helm package with K8s resource definitions
|
||||
- **Repository:** Collection of charts
|
||||
- **Release:** Deployed instance of a chart
|
||||
- **Values:** Configuration that parameterizes charts
|
||||
|
||||
## Chart Structure
|
||||
|
||||
```
|
||||
mychart/
|
||||
├── Chart.yaml # Metadata
|
||||
├── values.yaml # Default values
|
||||
├── charts/ # Dependencies
|
||||
├── templates/
|
||||
│ ├── deployment.yaml
|
||||
│ ├── service.yaml
|
||||
│ ├── _helpers.tpl # Template helpers
|
||||
│ └── NOTES.txt
|
||||
└── values.schema.json # Validation (optional)
|
||||
```
|
||||
|
||||
## Essential Commands
|
||||
|
||||
```bash
|
||||
helm create mychart # Create chart
|
||||
helm lint mychart # Validate
|
||||
helm template myrelease ./mychart # Render locally
|
||||
helm install myrelease ./mychart --dry-run --debug # Preview
|
||||
|
||||
helm install myrelease ./mychart
|
||||
helm install myrelease ./mychart -f values-prod.yaml
|
||||
helm install myrelease ./mychart --set replicaCount=3
|
||||
|
||||
helm upgrade myrelease ./mychart
|
||||
helm rollback myrelease 1
|
||||
helm list
|
||||
helm uninstall myrelease
|
||||
```
|
||||
|
||||
## Multi-Environment
|
||||
|
||||
```bash
|
||||
# Files: values.yaml, values-dev.yaml, values-prod.yaml
|
||||
helm install myapp ./mychart -f values.yaml -f values-prod.yaml
|
||||
helm install myapp ./mychart --set replicaCount=3 --set image.tag=v1.2.3
|
||||
```
|
||||
|
||||
## values.yaml Example
|
||||
|
||||
```yaml
|
||||
replicaCount: 2
|
||||
image:
|
||||
repository: myapp
|
||||
tag: "1.0.0"
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 8080
|
||||
resources:
|
||||
limits: { cpu: 500m, memory: 512Mi }
|
||||
requests: { cpu: 250m, memory: 256Mi }
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
|
||||
```yaml
|
||||
# Chart.yaml
|
||||
dependencies:
|
||||
- name: postgresql
|
||||
version: "12.1.0"
|
||||
repository: "https://charts.bitnami.com/bitnami"
|
||||
```
|
||||
|
||||
```bash
|
||||
helm dependency update mychart
|
||||
```
|
||||
|
||||
See `kubernetes-helm-advanced.md` for templates, hooks, and packaging.
|
||||
Reference in New Issue
Block a user