ืงืึทื ืึทืจื ืืืคึผืืืืืึทื ื ืืื ืึท ืืืืขืจ ืขืคืขืงืืืื ืืืขื ืฆื ืคึผืจืืืืจื ื ืืึท ืงืึธื ืืืืฃ ืึท ืกืึทืืกืขื ืคืื ื ืืฆืขืจืก. ืขืก ืืืืืืืืง ืจืึทืืืกืึทื ืื ืคืึทืจืงืขืจ ืืึทืกืข ืืืึธืก ืงืขื ืขื ืืืื ืคึผืจืึธืืืขืืึทืืืง ืืขืฉืึทืก ืืืคึผืืืืืึทื ื ืืืืึทื ืขืก ืึทืงืขืจื ืืืืื ืืื ืึท ืกืคึผืขืฆืืคืืฉ ืกืึทืืกืขื. ืืขืจ ืฆืขืื ืืื ืืขืืึทืงืืืืึทื ืฆื ืืื ืฆื ืึธืจืืึทื ืืืืจื ืึทืืึท ืึท ืืืคึผืืืืืึทื ื ื ืืฆื Kubernetes ืืื ืืืคึผืืืืืึทื ื ืึธืืึทืืืืฉืึทื. ืืืจ ืืืขืจื ืขืืขื ืืืจ ืืืืกื ืขืคึผืขืก ืืืขืื ืืขืื ืืื ืงืืืขืจื ืขืืขืก ืจืขืกืืจืกื.
ื ืคึผืฉืื ืงืึทื ืึทืจื ืืืคึผืืืืืึทื ื ืฆื Kubernetes ืืืื ืฆืืืื ืฉืืืกื ืจืขืกืืจืกื: ืื ืกืขืจืืืืก ืืื ืืื ืื ืืืคึผืืืืืึทื ื ืืขืฆืืึทื. ืงืึทื ืึทืจื ืืืคึผืืืืืึทื ื ืึทืจืืขื ืืืจื ืึท ืืืื ืืื ืกื ืืืึธืก ืื ืืขืจืึทืงืฅ ืืื ืฆืืืื ืคืึทืจืฉืืืขื ืข ืจืขืกืืจืกื ืกืขืจืืืื ื ืืขืจืืืึทื ืืืงื ืคืึทืจืงืขืจ. ืืืื ืขืจ ืคืื ืื ืจืขืกืืจืกื ืืืขื ืึทืจืืขืื ืืื ืื "ืงืึทื ืึทืจื" ืืืขืจืกืืข, ืืื ืื ืจืืข ืืืขื ืึทืจืืขืื ืืื ืื ืกืืึทืืื ืืืขืจืกืืข. ืืื ืืขื ืกืืืืึทืฆืืข, ืืืจ ืงืขื ืขื ืจืขืืืืืจื ืื ื ืืืขืจ ืคืื ืงืึทื ืึทืจื ืืืขืจืกืืขืก ืฆื ืจืขืืืฆืืจื ืื ืกืืืข ืคืื โโืคืึทืจืงืขืจ ืคืืจืืื ืื ืฆื ืืื ืขื. ืืืื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืืขืกืขืจ ืืืขืื ืฆื ื ืืฆื Yaml, ืขืก ืืืขื ืงืืงื ืืื ืืึธืก ืืื Kubernetes:
kind: Deployment
metadata:
name: app-canary
labels:
app: app
spec:
replicas: 1
...
image: myapp:canary
---
kind: Deployment
metadata:
name: app
labels:
app: app
spec:
replicas: 5
...
image: myapp:stable
---
kind: Service
selector:
app: app # Selector will route traffic to both deployments.
ืขืก ืืื ืืคืืื ืืจืื ืืขืจ ืฆื ืืืึทืืืฉืึทื ืืขื ืึธืคึผืฆืืข ื ืืฆื kubectl ืืื ืืื
ืึธืืึทืืืืฉืึทื ืคืื ืงืึทื ืึทืจื ืืืคึผืืืืืึทื ื
ืขืจืฉืืขืจ ืคืื ืึทืืข, ืืืจ ืืึทืจืคึฟื ืึท ืืขืื ืืฉืึทืจื ืืึทืคึผืข, ืืืึธืก ืฉืืื ืืืื ืื ืจืขืกืืจืกื ืืืึธืก ืืืจ ืืืกืงืึทืกื ืืืืื. ืขืก ืืึธื ืงืืงื ืขืคึผืขืก ืืื ืืึธืก:
~/charts/app
โโโ Chart.yaml
โโโ README.md
โโโ templates
โ โโโ NOTES.txt
โ โโโ _helpers.tpl
โ โโโ deployment.yaml
โ โโโ service.yaml
โโโ values.yaml
ืื ืืงืขืจ ืคืื ืื ืืขืื ืืึทืืจืืฃ ืืื ืื ืคืึทืจืืืึทืืืื ื ืคืื ืืืืื-ืืืขืจืกืืข ืจืืืืกืื. ืื ืกืืึทืืื ืืืขืจืกืืข ืืื ืืื ืืืขืจ ืืืืคึผื ืกืืึทืืื ืฆืืืืึทื ืคืื ืื ืคึผืจืืืขืงื ืงืึธื. ืึธืืขืจ ืืื ืืขืื ืืืจ ืงืขื ืขื ืฆืขืืืืงืืขื ืึท ืงืึทื ืึทืจื ืืขืืืื ื ืืื ืืื ืืืขืจ ืืงืกืคึผืขืจืืขื ืึทื ืงืึธื. ืื ืืืืคึผื ืืึทื ืืื ืฆื ืืึทืืื ืคืึทืจืงืขืจ ืืืขืงืกื ืฆืืืืฉื ืื ืกืืึทืืื ืืืขืจืกืืข ืืื ืื ืงืึทื ืึทืจื ืืขืืืื ื. ืืืจ ืืืขืื ืคืืจื ืึทืืข ืืขื ืืื ืึท ืกืคึผืขืฆืืขื ืกืขืืขืงืืึธืจ:
selector:
app.kubernetes.io/name: myapp
ืืื ืืืขืจ "ืงืึทื ืึทืจื" ืืื ืกืืึทืืื ืืืคึผืืืืืึทื ื ืจืขืกืืจืกื ืืืขื ืึธื ืืืืึทืื ืืขื ืคืืจืืข ืืืืฃ ืื ืืึทืืืฉืืื. ืืืื ืึทืืฅ ืืื ืงืึทื ืคืืืืขืจื ืจืืืืืง, ืืขืฉืึทืก ืื ืืืคึผืืืืืึทื ื ืคืื ืื ืงืึทื ืึทืจื ืืืขืจืกืืข ืคืื โโืืื ืืืขืจ ืืขืื ืืฉืึทืจื ืืึทืคึผืข ืืืจ ืืืขืื ืืขื ืึทื ืคืึทืจืงืขืจ ืืืขื ืืืื ืืืจืขืงืืขื ืฆื ืื ื ืื ืืืคึผืืืื ืืึทืืืฉืืื. ืื ืกืืึทืืื ืืืขืจืกืืข ืคืื โโืืขื ืืึทืคึฟืขื ืืืขื ืงืืงื ืืื ืืึธืก:
helm upgrade
--install myapp
--namespace default
--set app.name=myapp # Goes into app.kubernetes.io/name
--set app.version=v1 # Goes into app.kubernetes.io/version
--set image.tag=stable
--set replicaCount=5
ืืืฆื ืืึธืื ืก ืืฉืขืง ืืื ืืืขืจ ืงืึทื ืึทืจื ืืขืืืื ื. ืฆื ืฆืขืืืืงืืขื ืื ืงืึทื ืึทืจื ืืืขืจืกืืข, ืืืจ ืืึทืจืคึฟื ืฆื ืืขืืขื ืงืขื ืฆืืืื ืืืื. ืืขืจ ืืขืืืื ื ื ืึธืืขื ืืืื ืืืื ืึทื ืืขืจืฉ ืึทืืื ืึทื ืืืจ ืงืขื ืขื ื ืืฉื ืจืึธืืื ืึท ืืขืจืืืึทื ืืืงื ืฆื ืื ืงืจืึทื ื ืกืืึทืืื ืืืขืจืกืืข. ืื ืืืขืจืกืืข ืืื ืงืืืืื ืืืื ืืืื ืืืื ืึทื ืืขืจืฉ ืึทืืื ืืืจ ืงืขื ืขื ืฆืขืืืืงืืขื ืื ืืขืจืข ืงืึธื ืืื ืืืขื ืืืคืืฆืืจื ืืืคืขืจืึทื ืกืื ืืืจื ืืืื ืืึทืืก.
helm upgrade
--install myapp-canary
--namespace default
--set app.name=myapp # Goes into app.kubernetes.io/name
--set app.version=v2 # Goes into app.kubernetes.io/version
--set image.tag=canary
--set replicaCount=1
ืึทื ืก ืึทืืข! ืืืื ืืืจ ืคึผืื ื ืื ืกืขืจืืืืก, ืืืจ ืงืขื ืขื ืืขื ืึทื ืื ืงืึทื ืึทืจื ืืขืจืืืึทื ืืืงื ืจืืฅ ืืืืื ืืืื ืคืื ืื ืฆืืื.
ืืืื ืืืจ ืืืื ืคึฟืึทืจ ืืืคึผืืืืืึทื ื ืึธืืึทืืืืฉืึทื ืืืฉืืจืื ืืืึธืก ืึทืจืืึทื ื ืขืืขื ืื ืืืกืงืจืืืื ืืึธืืืง, ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืึทื ืฆื
ืืงืืจ: www.habr.com