เจ เจธเฉเจ เจเฉเจฌเจฐเจจเฉเจเจธ เจฒเจ เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉเจเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ k8s-เจจเฉเจเจฟเจต เจเจฐเจเฉ เจฐเฉเจฒเจเจเจ เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจ เจเฉฐเจเจฐเฉเจฒเจฐ เจ เจคเฉ GitlabCI เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉเฅค
เจเจธ เจฒเฉเฉ เจตเจฟเฉฑเจ เจฒเฉเจ
เจเฉเจฌเจฐเจจเฉเจเจธ #1 เจตเจฟเฉฑเจ เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉ: เจเจฟเจเจฒเฉเจฌ เจธเฉเจเจ - (เจเจน เจฒเฉเจ)
- เจเจธเจเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉ
- เจเฉเจจเจเจฟเฉฐเจธ-เจเจเจธ เจเจธเจเฉเจ เจซเจฒเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉ
เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉ
เจ
เจธเฉเจ เจเจฎเฉเจฆ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจคเฉเจธเฉเจ เจชเฉเฉเจนเจฆเฉ เจนเฉ
เจเจฐเจเฉ เจฐเฉเจฒเจเจเจเจธ
เจ
เจฐเจเฉ เจฐเฉเจฒเจเจเจเจธ เจเฉฑเจ เจเฉเจฌเจฐเจจเฉเจเจธ เจจเฉเจเจฟเจต เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจ เจเฉฐเจเจฐเฉเจฒเจฐ เจนเฉเฅค เจเจน เจเฉเจฌเจฐเจจเฉเจเจธ เจฒเจ เจเฉฑเจ CRD (เจเจธเจเจฎ เจธเจฐเฉเจค เจชเจฐเจฟเจญเจพเจธเจผเจพ) เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจเจธเจฆเจพ เจงเฉฐเจจเจตเจพเจฆ, เจ
เจธเฉเจ เจเฉฑเจ เจจเจตเฉเจ เจนเจธเจคเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ: Rollout
, เจเฉ เจเจฟ เจตเฉฑเจ-เจตเฉฑเจ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเจเจฒเจชเจพเจ เจฆเฉ เจจเจพเจฒ เจจเฉเจฒเฉ-เจนเจฐเฉ เจ
เจคเฉ เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉเจเจ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจเจฐเจฆเจพ เจนเฉเฅค
เจเฉฑเจ เจเจธเจเจฎ เจธเจฐเฉเจค เจฆเฉเจเจฐเจพ เจตเจฐเจคเจฟเจ Argo เจฐเฉเจฒเจเจเจเจธ เจเฉฐเจเจฐเฉเจฒเจฐ
Rollout,
เจเฉเจฌเจฐเจจเฉเจเจธ เจฒเจ เจจเฉเจฒเฉ-เจนเจฐเฉ เจ เจคเฉ เจเฉเจจเจฐเฉ เจตเจฐเจเฉเจเจ เจตเจพเจงเฉ เจคเฉเจจเจพเจคเฉ เจฐเจฃเจจเฉเจคเฉเจเจ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจธเจฐเฉเจคRollout
เจเจพเจฐเจเจธเจผเฉเจฒเจคเจพ เจฆเฉ เจฌเจฐเจพเจฌเจฐ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉDeployment
, เจธเจฟเจฐเจซเจผ เจตเจพเจงเฉ เจคเฉเจจเจพเจคเฉ เจฐเจฃเจจเฉเจคเฉเจเจ เจจเจพเจฒเฅค
เจธเจฐเฉเจคDeployments
เจคเฉเจจเจพเจคเฉ เจฒเจ เจฆเฉ เจฐเจฃเจจเฉเจคเฉเจเจ เจนเจจ:RollingUpdate
ะธRecreate
. เจนเจพเจฒเจพเจเจเจฟ เจเจน เจฐเจฃเจจเฉเจคเฉเจเจ เจเจผเจฟเจเจฆเจพเจคเจฐ เจฎเจพเจฎเจฒเจฟเจเจ เจฒเจ เจขเฉเจเจตเฉเจเจ เจนเจจ, เจฌเจนเฉเจค เจตเฉฑเจกเฉ เจชเฉเจฎเจพเจจเฉ 'เจคเฉ เจธเจฐเจตเจฐเจพเจ เจฆเฉ เจคเฉเจจเจพเจคเฉ เจฒเจ, เจ เจคเจฟเจฐเจฟเจเจค เจฐเจฃเจจเฉเจคเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ เจจเฉเจฒเฉ-เจนเจฐเฉ เจเจพเจ เจเฉเจจเจฐเฉ, เจเฉ เจเจฟ เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจ เจเฉฐเจเจฐเฉเจฒเจฐ เจตเจฟเฉฑเจ เจเจชเจฒเจฌเจง เจจเจนเฉเจ เจนเจจเฅค เจเฉเจฌเจฐเจจเฉเจเจธ เจตเจฟเฉฑเจ เจเจนเจจเจพเจ เจฐเจฃเจจเฉเจคเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฒเจ, เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจเจนเจจเจพเจ เจฆเฉเจเจ เจคเฉเจจเจพเจคเฉเจเจ เจฆเฉ เจธเจฟเจเจฐ 'เจคเฉ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจฒเจฟเจเจฃเฉเจเจ เจชเฉเจเจฆเฉเจเจ เจธเจจเฅค เจเจฐเจเฉ เจฐเฉเจฒเจเจเจเจธ เจเฉฐเจเจฐเฉเจฒเจฐ เจเจนเจจเจพเจ เจฐเจฃเจจเฉเจคเฉเจเจ เจจเฉเฉฐ เจธเจงเจพเจฐเจจ, เจเฉเจธเจผเจฃเจพเจคเจฎเจ, เจธเฉฐเจฐเจเจจเจพเจฏเฉเจ เจฎเจพเจชเจฆเฉฐเจกเจพเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจเจเจพเจเจฐ เจเจฐเจฆเจพ เจนเฉเฅค
https://argoproj.github.io/argo-rollouts
เจเจฐเจเฉ เจธเฉเจเจ เจตเฉ เจนเฉ, เจเฉ เจฐเฉเจฒเจเจเจเจธ เจฆเฉ เจจเจพเจฒ เจตเจฐเจคเจฃ เจฒเจ เจเฉฑเจ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจตเฉเฉฑเจฌ เจเฉฐเจเจฐเจซเฉเจธ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉ, เจ เจธเฉเจ เจ เจเจฒเฉ เจฒเฉเจ เจตเจฟเฉฑเจ เจเจธ 'เจคเฉ เจเฉฑเจ เจจเจเจผเจฐ เจฎเจพเจฐเจพเจเจเฉเฅค
เจเจฐเจเฉ เจฐเฉเจฒเจเจเจเจธ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ
เจธเจฐเจตเจฐ เจชเจพเจธเฉ
kubectl create namespace argo-rolloutskubectl apply -n argo-rollouts -f https://raw.githubusercontent.com/argoproj/argo-rollouts/stable/manifests/install.yaml
เจธเจพเจกเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเฉ เจตเจฟเฉฑเจ (เจนเฉเจ เจพเจ เจฆเฉเจเฉ) เจ เจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ install.yaml เจจเฉเฉฐ i/k8s/argo-rollouts/install.yaml เจตเจเฉเจ เจธเจผเจพเจฎเจฒ เจเจฐ เจเฉเฉฑเจเฉ เจนเจพเจเฅค เจเจธ เจคเจฐเฉเจนเจพเจ GitlabCI เจเจธเจจเฉเฉฐ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจเฉฐเจธเจเจพเจฒ เจเจฐเฉเจเจพเฅค
เจเจฒเจพเจเฉฐเจ เจธเจพเจเจก (kubectl เจชเจฒเฉฑเจเจเจจ)
เจเจฆเจพเจนเจฐเจจ เจเจชเจฒเฉเจเฉเจธเจผเจจ
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเฉเจก เจ เจคเฉ เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเฉ เจฒเจ เจตเฉฑเจเจฐเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจฐเฉฑเจเจฃเจพ เจเฉฐเจเจพ เจ เจญเจฟเจเจธ เจนเฉเฅค
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฒเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ
Kim Wuestkamp/k8s-deployment-example-app
เจเจน เจเฉฑเจ เจฌเจนเฉเจค เจนเฉ เจธเจงเจพเจฐเจจ Python+Flask API เจนเฉ เจเฉ JSON เจตเจเฉเจ เจเจตเจพเจฌ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจ เจธเฉเจ GitlabCI เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจชเฉเจเฉเจ เจฌเจฃเจพเจตเจพเจเจเฉ เจ เจคเฉ เจจเจคเฉเจเฉ เจจเฉเฉฐ Gitlab เจฐเจเจฟเจธเจเจฐเฉ เจตเจฟเฉฑเจ เจญเฉเจเจพเจเจเฉเฅค เจฐเจเจฟเจธเจเจฐเฉ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจเฉเจฒ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจฐเฉเจฒเฉเจเจผ เจธเฉฐเจธเจเจฐเจฃ เจนเจจ:
- wuestkamp/k8s-deployment-example-app:v1
- wuestkamp/k8s-deployment-example-app:v2
เจเจนเจจเจพเจ เจตเจฟเจเจเจพเจฐ เจธเจฟเจฐเจซ เจซเจฐเจ JSON เจซเจพเจเจฒ เจตเจพเจชเจธ เจเฉเจคเฉ เจเจ เจนเฉเฅค เจ เจธเฉเจ เจเจธ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ เจธเจเฉ เจเจธเจพเจจเฉ เจจเจพเจฒ เจเจฒเจชเจจเจพ เจเจฐเจจ เจฒเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจ เจธเฉเจ เจเจฟเจธ เจธเฉฐเจธเจเจฐเจฃ เจจเจพเจฒ เจธเฉฐเจเจพเจฐ เจเจฐ เจฐเจนเฉ เจนเจพเจเฅค
เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเจพ เจญเฉฐเจกเจพเจฐ
เจเจธ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจเฉเจฌเจฐเจจเฉเจเจธ เจฆเฉ เจคเฉเจจเจพเจคเฉ เจฒเจ GitlabCI เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ, .gitlab-ci.yml เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ:
image: traherom/kustomize-dockerbefore_script:
- printenv
- kubectl versionstages:
- deploydeploy test:
stage: deploy
before_script:
- echo $KUBECONFIG
script:
- kubectl get all
- kubectl apply -f i/k8s only:
- master
เจเจธเจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจเจฒเจพเจเจฃ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจเจฒเฉฑเจธเจเจฐ เจฆเฉ เจฒเฉเฉ เจชเจตเฉเจเฉ, เจคเฉเจธเฉเจ Gcloud เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ:
gcloud container clusters create canary --num-nodes 3 --zone europe-west3-b
gcloud compute firewall-rules create incoming-80 --allow tcp:80
เจคเฉเจนเจพเจจเฉเฉฐ เจซเฉเจฐเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ KUBECONFIG
GitlabCI เจตเจฟเฉฑเจ, เจเจฟเจธ เจตเจฟเฉฑเจ เจชเจนเฉเฉฐเจ เจฒเจ เจธเฉฐเจฐเจเจจเจพ เจธเจผเจพเจฎเจฒ เจนเฉเจตเฉเจเฉ kubectl
เจคเฉเจนเจพเจกเฉ เจเจฒเฉฑเจธเจเจฐ เจจเฉเฉฐ.
เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเจพ Yaml
เจฌเฉเจจเจฟเจเจฆเฉ เจขเจพเจเจเฉ เจฆเฉ เจญเฉฐเจกเจพเจฐ เจฆเฉ เจ เฉฐเจฆเจฐ เจธเจพเจกเฉ เจเฉเจฒ เจธเฉเจตเจพ เจนเฉ:
apiVersion: v1
kind: Service
metadata:
labels:
id: rollout-canary
name: app
spec:
ports:
- port: 80
protocol: TCP
targetPort: 5000
selector:
id: app
type: LoadBalancer
เจ เจคเฉ rollout.yaml :
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: rollout-canary
spec:
replicas: 10
revisionHistoryLimit: 2
selector:
matchLabels:
id: rollout-canary
template:
metadata:
labels:
id: rollout-canary
spec:
containers:
- name: rollouts-demo
image: registry.gitlab.com/wuestkamp/k8s-deployment-example-app:v1
imagePullPolicy: Always
strategy:
canary:
steps:
- setWeight: 10
# Rollouts can be manually resumed by running `kubectl argo rollouts promote ROLLOUT`
- pause: {}
- setWeight: 50
- pause: { duration: 120 } # two minutes
Rollout
เจคเฉเจจเจพเจคเฉ เจตเจพเจเจ เจนเฉ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจ
เจธเฉเจ เจเฉเจ เจ
เฉฑเจชเจกเฉเจ เจฐเจฃเจจเฉเจคเฉ (เจเจฟเจตเฉเจ เจเฉฑเจฅเฉ เจเฉเจจเจฐเฉ) เจธเฉเจ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเจพเจ เจคเจพเจ เจเจน เจกเจฟเจซเฉเจฒเจ เจฐเฉเจฒเจฟเฉฐเจ-เจ
เฉฑเจชเจกเฉเจ เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจ เจตเจพเจเจ เจตเจฟเจตเจนเจพเจฐ เจเจฐเฉเจเจพเฅค
เจ เจธเฉเจ เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉ เจฒเจ yaml เจตเจฟเฉฑเจ เจฆเฉ เจชเฉเจพเจ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเจฆเฉ เจนเจพเจ:
- เจเฉเจจเจฐเฉ เจฒเจ 10% เจเฉเจฐเฉเจซเจฟเจ (เจฎเฉเจจเฉเจ เจฒ เจเจเฉ เจฆเฉ เจเจกเฉเจ เจเจฐเฉ)
- เจเฉเจจเจฐเฉ เจฒเจ 50% เจเฉเจฐเฉเจซเจฟเจ (2 เจฎเจฟเฉฐเจ เจเจกเฉเจ เจเจฐเฉ เจซเจฟเจฐ 100% เจคเฉฑเจ เจเจพเจฐเฉ เจฐเฉฑเจเฉ)
เจธเจผเฉเจฐเฉเจเจคเฉ เจคเฉเจจเจพเจคเฉ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
เจธเจผเฉเจฐเฉเจเจคเฉ เจคเฉเจจเจพเจคเฉ เจคเฉเจ เจฌเจพเจ เจฆ, เจธเจพเจกเฉ เจธเจฐเฉเจค เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจฃเจเฉ:
เจ เจคเฉ เจธเจพเจจเฉเฉฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจชเจนเจฟเจฒเฉ เจธเฉฐเจธเจเจฐเจฃ เจคเฉเจ เจนเฉ เจเจตเจพเจฌ เจฎเจฟเจฒเจฆเจพ เจนเฉ:
เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉ เจเจฐเจจเจพ
เจเจฆเจฎ 1: 10% เจเฉเจฐเฉเจซเจฟเจ
เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ, เจธเจพเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจเจฟเฉฑเจคเจฐ เจธเฉฐเจธเจเจฐเจฃ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจเจฟเจตเฉเจ เจเจฟ เจ เจธเฉเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจคเฉเจจเจพเจคเฉเจเจ เจจเจพเจฒ เจเจฐเจฆเฉ เจนเจพเจ:
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: rollout-canary
spec:
...
template:
metadata:
labels:
id: rollout-canary
spec:
containers:
- name: rollouts-demo
image: registry.gitlab.com/wuestkamp/k8s-deployment-example-app:v2
...
เจ เจคเฉ เจ เจธเฉเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจ เฉฑเจเฉ เจตเจงเจพเจเจเจฆเฉ เจนเจพเจ, เจเจธเจฒเจ เจเจฟเจเจฒเฉเจฌ เจธเฉเจเจ เจคเฉเจจเจพเจค เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจ เจธเฉเจ เจฌเจฆเจฒเจพเจ เจฆเฉเจเจฆเฉ เจนเจพเจ:
เจนเฉเจฃ เจเฉ เจ เจธเฉเจ เจธเฉเจตเจพ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเจฐเจฆเฉ เจนเจพเจ:
เจฌเจนเฉเจค เจตเจงเฉเจ! เจ เจธเฉเจ เจเจชเจฃเฉ เจเฉเจจเจฐเฉ เจคเจพเจเจจเจพเจคเฉ เจฆเฉ เจฎเฉฑเจง เจตเจฟเฉฑเจ เจนเจพเจเฅค เจ เจธเฉเจ เจฆเฉเฉ เจเฉ เจคเจฐเฉฑเจเฉ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ:
kubectl argo rollouts get rollout rollout-canary
เจเจฆเจฎ 2: 50% เจเจตเจพเจเจพเจ:
เจนเฉเจฃ เจเจ เจ เจเจฒเฉ เจชเฉเจพเจ 'เจคเฉ เจเฉฑเจฒเฉเจ: 50% เจเฉเจฐเฉเจซเจฟเจ เจจเฉเฉฐ เจฐเฉเจกเจพเจเจฐเฉเจเจ เจเจฐเจจเจพเฅค เจ เจธเฉเจ เจเจธ เจชเจ เจจเฉเฉฐ เจนเฉฑเจฅเฉเจ เจเจฒเจพเจเจฃ เจฒเจ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเจพ เจนเฉ:
kubectl argo rollouts promote rollout-canary # continue to step 2
เจ เจคเฉ เจธเจพเจกเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉ เจจเจตเฉเจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจคเฉเจ 50% เจเจตเจพเจฌ เจตเจพเจชเจธ เจเฉเจคเฉ:
เจ เจคเฉ เจฐเฉเจฒเจเจเจ เจธเจฎเฉเจเจฟเจ:
เจธเจผเจพเจจเจฆเจพเจฐ.
เจเจฆเจฎ 3: 100% เจเจตเจพเจเจพเจ:
เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจธเฉเจ เจ เจช เจเจฐเจฆเฉ เจนเจพเจ เจคเจพเจ เจเจฟ 2 เจฎเจฟเฉฐเจ เจฌเจพเจ เจฆ 50% เจเจฆเจฎ เจเจชเจฃเฉ เจเจช เจเจคเจฎ เจนเฉ เจเจพเจตเฉ เจ เจคเฉ 100% เจเจฆเจฎ เจธเจผเฉเจฐเฉ เจนเฉ เจเจพเจตเฉ:
เจ เจคเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเจเจเจชเฉเฉฑเจ:
เจ เจคเฉ เจฐเฉเจฒเจเจเจ เจธเจฎเฉเจเจฟเจ:
เจเฉเจจเจฐเฉ เจคเฉเจจเจพเจคเฉ เจชเฉเจฐเฉ เจนเฉ เจเจ เจนเฉเฅค
เจเจฐเจเฉ เจฐเฉเจฒเจเจเจเจธ เจฆเฉ เจจเจพเจฒ เจนเฉเจฐ เจเจฆเจพเจนเจฐเจฃ
เจเฉฑเจฅเฉ เจนเฉเจฐ เจตเฉ เจเจฆเจพเจนเจฐเจจเจพเจ เจนเจจ, เจเจฟเจตเฉเจ เจเจฟ เจตเจพเจคเจพเจตเจฐเจฃ เจชเฉเจฐเฉเจตเจฟเจ เจ เจคเฉ เจเฉเจจเจฐเฉ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ เจคเฉเจฒเจจเจพเจตเจพเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจธเฉเฉฑเจ เจเจฐเจจเจพ เจนเฉ:
เจเจฐเจเฉ เจฐเฉเจฒเจเจเจเจธ เจ เจคเฉ เจเจฐเจเฉ เจธเฉเจเจ เจฌเจพเจฐเฉ เจตเฉเจกเฉเจ
เจฎเฉเจ เจธเฉฑเจเจฎเฉเฉฑเจ เจเจธ เจตเฉเจกเฉเจ เจฆเฉ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจเจฐเจฆเจพ เจนเจพเจ, เจเจน เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเจฟเจตเฉเจ เจเจฐเจเฉ เจฐเฉเจฒเจเจเจเจธ เจ เจคเฉ เจเจฐเจเฉ เจธเฉเจเจ เจเจเฉฑเจ เฉ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเจจ:
เจจเจคเฉเจเจพ
เจฎเฉเจจเฉเฉฐ เจ เจธเจฒ เจตเจฟเฉฑเจ เจธเฉเจเจฐเจกเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเจพ เจตเจฟเจเจพเจฐ เจชเจธเฉฐเจฆ เจนเฉ เจเฉ เจตเจพเจงเฉ เจเจฟเจธเจฎเจพเจ เจฆเฉเจเจ เจคเฉเจจเจพเจคเฉเจเจ เจเจพเจ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉเจเจ, เจฐเฉเจกเจพเจเจฐเฉเจเจ เจเฉเจฐเฉเจซเจฟเจ เจเจฆเจฟ เจฆเฉ เจฐเจเจจเจพ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจเจฐเจฆเฉ เจนเจจเฅค เจเจจเฉเจนเจพเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจเจพ เจธเฉเจเจพเจฐเฉ เจขเฉฐเจ เจจเจพเจฒ เจเฉฑเจฒเจฆเจพ เจนเฉเฅค เจ เฉฑเจเฉ เจฎเฉเจ เจ เจฐเจเฉ เจธเฉเจเจ เจจเจพเจฒ เจเจเฉเจเจฐเจฃ เจฆเฉ เจเจพเจเจ เจเจฐเจจเจพ เจเจพเจนเจพเจเจเจพ.
เจนเจพเจฒเจพเจเจเจฟ, เจเจฐเจเฉ เจธเฉเจเจ เจ
เจคเฉ เจซเจฒเฉเจเจธ เจธเฉเจเจ เจฆเจพ เจเฉฑเจ เจตเฉฑเจกเจพ เจ
เจญเฉเจฆ เจนเฉเฉฐเจฆเจพ เจเจพเจชเจฆเจพ เจนเฉ, เจเจธ เจฒเจ เจฎเฉเจ เจจเจตเฉเจ เจฐเฉเจฒเฉเจเจผ เจฆเฉ เจธเจพเจนเจฎเจฃเฉ เจเจเจฃ เจคเฉฑเจ เจเฉฐเจคเจเจผเจพเจฐ เจเจฐ เจธเจเจฆเจพ เจนเจพเจ:
เจเฉ เจคเฉเจนเจพเจจเฉเฉฐ Argo Rollouts เจเจพเจ Argo CI เจจเจพเจฒ เจเฉเจ เจ เจจเฉเจญเจต เจนเฉเจเจ เจนเฉ?
เจธเจพเจกเฉ เจฌเจฒเฉเจ 'เจคเฉ เจนเฉเจฐ เจฒเฉเจ เจตเฉ เจชเฉเฉเจนเฉ:
Nginx เจตเฉเฉฑเจฌ เจธเจฐเจตเจฐ เจฆเฉ เจจเจพเจฒ เจฌเจธเฉฐเจค เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฆเฉ เจฌเจฒเฉ-เจเฉเจฐเฉเจจ เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจ เจเฉเจฌเจฐเจจเฉเจเจธ: เจธเจฟเจธเจเจฎ เจธเจฐเฉเจค เจชเฉเจฐเจฌเฉฐเจงเจจ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจเจพ เจเฉฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจเจฟเจเจ เจนเฉ? เจนเจพเจธเจผเฉเจเฉเจฐเจช เจเฉเจเจธเจฒ เจฆเฉ เจเฉเจฌเจฐเจจเฉเจเจธ เจ เจงเจฟเจเจพเจฐ เจฆเฉ เจเจพเจฃ-เจชเจเจพเจฃ เจเฉเจเจเจจ เจชเจพเจเจชเจฒเจพเจเจจ - เจเฉเจฌเจฐเจจเฉเจเจธ-เจฆเฉเจธเฉ เจชเจพเจเจชเจฒเจพเจเจจเจพเจ Nginx เจฒเจ เจกเจพเจเจจเจพเจฎเจฟเจ เจฎเฉเจกเฉเจเจฒ เจฌเจฃเจพเจเจฃเจพ เจฐเฉเฉฑเจกเจฎเจพเจเจจ เจฒเจ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจฌเฉเจ. เจเจชเจฃเฉ เจ เจคเฉ เจฆเฉเจเจฟเจเจ เจฒเจ เจเฉเจตเจจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจธเจฐเจฒ เจฌเจฃเจพเจเจ เจเจพเจตเฉ
เจธเจฐเฉเจค: www.habr.com