Files
english/.opencode/skills/devops/references/kubernetes-workflows.md
2026-04-12 01:06:31 +07:00

79 lines
1.6 KiB
Markdown

# Kubernetes Workflows
## GitOps Architecture
```
Git Repository (desired state)
│ Watches
GitOps Agent (Argo CD / Flux)
│ Syncs
Kubernetes Cluster (actual state)
```
**Benefits:** Single source of truth, auditable, automated, easy rollback
## Argo CD Setup
```bash
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl port-forward svc/argocd-server -n argocd 8080:443
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
```
### Application Manifest
```yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: myapp
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/myorg/myapp
targetRevision: HEAD
path: k8s/manifests
destination:
server: https://kubernetes.default.svc
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
```
## Deployment Patterns
### Rolling Update
```yaml
spec:
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
```
### Blue-Green
```yaml
# Two deployments: myapp-blue, myapp-green
# Service selector switches between versions
selector:
app: myapp
version: blue # Change to 'green' to switch
```
### Canary (with Istio)
```yaml
route:
- destination: { host: myapp, subset: v1 }
weight: 90
- destination: { host: myapp, subset: v2 }
weight: 10 # 10% canary
```
See `kubernetes-workflows-advanced.md` for CI/CD, Kustomize patterns.