4.9prePromotionAnalysis
release/blueGreen/argo-rollout/bg-reviews-prePromotionAnalysis.yaml
kubectl apply -f bg-reviews-prePromotionAnalysis.yaml -n istio
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: reviews
spec:
replicas: 5
selector:
matchLabels:
app: reviews
template:
metadata:
labels:
app: reviews
spec:
serviceAccountName: bookinfo-reviews
containers:
- name: reviews
image: docker.io/istio/examples-bookinfo-reviews-v1:1.16.2
imagePullPolicy: IfNotPresent
env:
- name: LOG_DIR
value: "/tmp/logs"
ports:
- containerPort: 9080
resources:
requests:
cpu: 0.02
memory: 10Mi
volumeMounts:
- name: tmp
mountPath: /tmp
- name: wlp-output
mountPath: /opt/ibm/wlp/output
securityContext:
runAsUser: 1000
volumes:
- name: wlp-output
emptyDir: {}
- name: tmp
emptyDir: {}
strategy:
blueGreen:
activeService: rollout-bluegreen-active
previewService: rollout-bluegreen-preview
prePromotionAnalysis:
templates:
- templateName: success-rate
clusterScope: false
args:
- name: service-name
value: rollout-bluegreen-preview.istio.svc.cluster.local
argo-AnalysisTemplate-reviews.yaml
kubectl apply -f argo-AnalysisTemplate-reviews.yaml -n istio
apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
name: success-rate
spec:
args:
- name: service-name
metrics:
- name: success-rate
interval: 60s
count: 5
successCondition: result[0] >= 0.50
failureLimit: 3
provider:
prometheus:
address: http://prometheus.istio-system:9090
query: |
sum(irate(
istio_requests_total{reporter="source",destination_service=~"{{args.service-name}}",response_code!~"5.*"}[5m]
)) /
sum(irate(
istio_requests_total{reporter="source",destination_service=~"{{args.service-name}}"}[5m]
))
vs-reviews-preview.yaml
kubectl apply -f vs-reviews-preview.yaml -n istio
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: rollout-bluegreen-preview
spec:
gateways:
- bookinfo-gateway
hosts:
- "*"
http:
- route:
- destination:
host: rollout-bluegreen-preview
port:
number: 9080
svc-rollout-bluegreen-active.yaml
kubectl apply -f svc-rollout-bluegreen-active.yaml -n istio
apiVersion: v1
kind: Service
metadata:
name: rollout-bluegreen-active
spec:
ports:
- name: http
port: 9080
protocol: TCP
targetPort: 9080
selector:
app: reviews
svc-rollout-bluegreen-preview.yaml
kubectl apply -f svc-rollout-bluegreen-preview.yaml -n istio
apiVersion: v1
kind: Service
metadata:
name: rollout-bluegreen-preview
spec:
ports:
- name: http
port: 9080
protocol: TCP
targetPort: 9080
selector:
app: reviews
kubectl argo rollouts set image reviews reviews=docker.io/istio/examples-bookinfo-reviews-v2:1.16.2 -n istio
go-stress-testing -c 10 -n 1000000 -u http://192.168.229.134:30468/reviews/0
kubectl describe rollout reviews -n istio
kubectl argo rollouts get rollout reviews --watch -n istio
Name: reviews
Namespace: istio
Status: ✔ Healthy
Strategy: BlueGreen
Images: docker.io/istio/examples-bookinfo-reviews-v1:1.16.2 (stable, active)
docker.io/istio/examples-bookinfo-reviews-v2:1.16.2
Replicas:
Desired: 5
Current: 10
Updated: 5
Ready: 5
Available: 5
NAME KIND STATUS AGE INFO
⟳ reviews Rollout ✔ Healthy 32m
├──# revision:7
│ ├──⧉ reviews-db897675d ReplicaSet ✔ Healthy 32m stable,active
│ │ ├──□ reviews-db897675d-mzqjc Pod ✔ Running 5m33s ready:2/2
│ │ ├──□ reviews-db897675d-k9gsl Pod ✔ Running 5m32s ready:2/2
│ │ ├──□ reviews-db897675d-twtt6 Pod ✔ Running 5m32s ready:2/2
│ │ ├──□ reviews-db897675d-txglh Pod ✔ Running 5m32s ready:2/2
│ │ └──□ reviews-db897675d-vt4xp Pod ✔ Running 5m32s ready:2/2
│ └──α reviews-db897675d-7-pre AnalysisRun ✔ Successful 3m40s ✖ 2,⚠ 1
├──# revision:6
│ └──⧉ reviews-5895cfcd85 ReplicaSet ✔ Healthy 32m delay:13s
│ ├──□ reviews-5895cfcd85-jlkp8 Pod ✔ Running 27m ready:2/2
│ ├──□ reviews-5895cfcd85-t7lk4 Pod ✔ Running 27m ready:2/2
│ ├──□ reviews-5895cfcd85-424cq Pod ✔ Running 27m ready:2/2
│ ├──□ reviews-5895cfcd85-4qsf2 Pod ✔ Running 27m ready:2/2
│ └──□ reviews-5895cfcd85-8ht5l Pod ✔ Running 27m ready:2/2
└──# revision:5
└──α reviews-db897675d-5-pre AnalysisRun ⚠ Error 8m30s ⚠ 5
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal NewReplicaSetCreated 33m rollouts-controller Created ReplicaSet reviews-db897675d (revision 1)
Normal SwitchService 33m rollouts-controller Switched selector for service 'rollout-bluegreen-preview' from '' to 'db897675d'
Normal ScalingReplicaSet 33m rollouts-controller Scaled up ReplicaSet reviews-db897675d (revision 1) from 0 to 5
Normal RolloutCompleted 33m rollouts-controller Rollout completed update to revision 1 (db897675d): Initial deploy
Normal RolloutUpdated 33m rollouts-controller Rollout updated to revision 1
Normal NewReplicaSetCreated 32m rollouts-controller Created ReplicaSet reviews-5895cfcd85 (revision 2)
Normal RolloutUpdated 32m rollouts-controller Rollout updated to revision 2
Normal RolloutCompleted 32m rollouts-controller Rollout completed update to revision 2 (5895cfcd85): Initial deploy
Normal ScalingReplicaSet 32m rollouts-controller Scaled up ReplicaSet reviews-5895cfcd85 (revision 2) from 0 to 5
Normal SwitchService 32m rollouts-controller Switched selector for service 'rollout-bluegreen-active' from '' to '5895cfcd85'
Normal ScalingReplicaSet 32m rollouts-controller Scaled down ReplicaSet reviews-db897675d (revision 1) from 5 to 0
Normal RolloutUpdated 31m rollouts-controller Rollout updated to revision 3
Normal ScalingReplicaSet 31m rollouts-controller Scaled up ReplicaSet reviews-db897675d (revision 3) from 0 to 5
Normal SwitchService 30m rollouts-controller Switched selector for service 'rollout-bluegreen-active' from '5895cfcd85' to 'db897675d'
Normal RolloutCompleted 30m rollouts-controller Rollout completed update to revision 3 (db897675d): Completed blue-green update
Normal ScalingReplicaSet 30m rollouts-controller Scaled down ReplicaSet reviews-5895cfcd85 (revision 2) from 5 to 0
Normal SwitchService 27m (x2 over 32m) rollouts-controller Switched selector for service 'rollout-bluegreen-preview' from 'db897675d' to '5895cfcd85'
Normal RolloutUpdated 27m rollouts-controller Rollout updated to revision 4
Normal ScalingReplicaSet 27m rollouts-controller Scaled up ReplicaSet reviews-5895cfcd85 (revision 4) from 0 to 5
Normal RolloutCompleted 27m rollouts-controller Rollout completed update to revision 4 (5895cfcd85): Completed blue-green update
Normal SwitchService 27m rollouts-controller Switched selector for service 'rollout-bluegreen-active' from 'db897675d' to '5895cfcd85'
Normal ScalingReplicaSet 26m rollouts-controller Scaled down ReplicaSet reviews-db897675d (revision 3) from 5 to 0
Normal ScalingReplicaSet 9m25s rollouts-controller Scaled up ReplicaSet reviews-db897675d (revision 5) from 0 to 5
Normal RolloutUpdated 9m25s rollouts-controller Rollout updated to revision 5
Normal SwitchService 9m25s (x2 over 31m) rollouts-controller Switched selector for service 'rollout-bluegreen-preview' from '5895cfcd85' to 'db897675d'
Normal AnalysisRunRunning 8m24s rollouts-controller PrePromotion Analysis Run 'reviews-db897675d-5-pre' Status New: 'Running' Previous: ''
Warning AnalysisRunError 7m44s rollouts-controller PrePromotion Analysis Run 'reviews-db897675d-5-pre' Status New: 'Error' Previous: 'Running'
Warning RolloutAborted 7m44s rollouts-controller Rollout aborted update to revision 5: Metric "success-rate" assessed Error due to consecutiveErrors (5) > consecutiveErrorLimit (4): "Error Message: reflect: slice index out of range"
Normal AnalysisRunRunning 4m3s rollouts-controller PrePromotion Analysis Run 'reviews-db897675d-7-pre' Status New: 'Running' Previous: ''
Normal AnalysisRunSuccessful 72s rollouts-controller PrePromotion Analysis Run 'reviews-db897675d-7-pre' Status New: 'Successful' Previous: 'Running'
Normal SwitchService 42s rollouts-controller Switched selector for service 'rollout-bluegreen-active' from '5895cfcd85' to 'db897675d'
Normal RolloutCompleted 42s rollouts-controller Rollout completed update to revision 7 (db897675d): Completed blue-green update
Normal ScalingReplicaSet 9s rollouts-controller Scaled down ReplicaSet reviews-5895cfcd85 (revision 6) from 5 to 0
清理:
kubectl delete rollout reviews -n istio
kubectl delete svc -n istio rollout-bluegreen-active
kubectl delete svc -n istio rollout-bluegreen-preview
kubectl delete AnalysisTemplate success-rate -n istio
kubectl delete vs rollout-bluegreen-preview -n istio
4.10postPromotionAnalysis
release/blueGreen/argo-rollout/bg-reviews-postPromotionAnalysis.yaml
kubectl apply -f bg-reviews-postPromotionAnalysis.yaml -n istio
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: reviews
spec:
replicas: 5
selector:
matchLabels:
app: reviews
template:
metadata:
labels:
app: reviews
spec:
serviceAccountName: bookinfo-reviews
containers:
- name: reviews
image: docker.io/istio/examples-bookinfo-reviews-v1:1.16.2
imagePullPolicy: IfNotPresent
env:
- name: LOG_DIR
value: "/tmp/logs"
ports:
- containerPort: 9080
resources:
requests:
cpu: 0.02
memory: 10Mi
volumeMounts:
- name: tmp
mountPath: /tmp
- name: wlp-output
mountPath: /opt/ibm/wlp/output
securityContext:
runAsUser: 1000
volumes:
- name: wlp-output
emptyDir: {}
- name: tmp
emptyDir: {}
strategy:
blueGreen:
activeService: rollout-bluegreen-active
previewService: rollout-bluegreen-preview
prePromotionAnalysis:
templates:
- templateName: success-rate
clusterScope: false
args:
- name: service-name
value: rollout-bluegreen-preview.istio.svc.cluster.local
postPromotionAnalysis:
templates:
- templateName: success-rate
clusterScope: false
args:
- name: service-name
value: rollout-bluegreen-active.istio.svc.cluster.local
argo-AnalysisTemplate-reviews.yaml
kubectl apply -f argo-AnalysisTemplate-reviews.yaml -n istio
apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
name: success-rate
spec:
args:
- name: service-name
metrics:
- name: success-rate
interval: 60s
count: 5
successCondition: result[0] >= 0.50
failureLimit: 3
provider:
prometheus:
address: http://prometheus.istio-system:9090
query: |
sum(irate(
istio_requests_total{reporter="source",destination_service=~"{{args.service-name}}",response_code!~"5.*"}[5m]
)) /
sum(irate(
istio_requests_total{reporter="source",destination_service=~"{{args.service-name}}"}[5m]
))
vs-reviews-preview.yaml
kubectl apply -f vs-reviews-preview.yaml -n istio
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: rollout-bluegreen-preview
spec:
gateways:
- bookinfo-gateway
hosts:
- "*"
http:
- route:
- destination:
host: rollout-bluegreen-preview
port:
number: 9080
svc-rollout-bluegreen-active.yaml
kubectl apply -f svc-rollout-bluegreen-active.yaml -n istio
apiVersion: v1
kind: Service
metadata:
name: rollout-bluegreen-active
spec:
ports:
- name: http
port: 9080
protocol: TCP
targetPort: 9080
selector:
app: reviews
svc-rollout-bluegreen-preview.yaml
kubectl apply -f svc-rollout-bluegreen-preview.yaml -n istio
apiVersion: v1
kind: Service
metadata:
name: rollout-bluegreen-preview
spec:
ports:
- name: http
port: 9080
protocol: TCP
targetPort: 9080
selector:
app: reviews
kubectl argo rollouts set image reviews reviews=docker.io/istio/examples-bookinfo-reviews-v2:1.16.2 -n istio
go-stress-testing -c 10 -n 1000000 -u http://192.168.229.134:30468/reviews/0
kubectl describe rollout reviews -n istio
kubectl argo rollouts get rollout reviews --watch -n istio
Name: reviews
Namespace: istio
Status: ◌ Progressing
Message: active service cutover pending
Strategy: BlueGreen
Images: docker.io/istio/examples-bookinfo-reviews-v1:1.16.2 (preview)
docker.io/istio/examples-bookinfo-reviews-v2:1.16.2 (stable, active)
Replicas:
Desired: 5
Current: 10
Updated: 5
Ready: 5
Available: 5
NAME KIND STATUS AGE INFO
⟳ reviews Rollout ◌ Progressing 3m4s
├──# revision:3
│ ├──⧉ reviews-db897675d ReplicaSet ✔ Healthy 3m4s preview
│ │ ├──□ reviews-db897675d-7nbss Pod ✔ Running 96s ready:2/2
│ │ ├──□ reviews-db897675d-dg6js Pod ✔ Running 96s ready:2/2
│ │ ├──□ reviews-db897675d-ww5mt Pod ✔ Running 96s ready:2/2
│ │ ├──□ reviews-db897675d-rlwsb Pod ✔ Running 95s ready:2/2
│ │ └──□ reviews-db897675d-sggnw Pod ✔ Running 95s ready:2/2
│ └──α reviews-db897675d-3-pre AnalysisRun ◌ Running 37s ✖ 1
└──# revision:2
└──⧉ reviews-5895cfcd85 ReplicaSet ✔ Healthy 2m17s stable,active
├──□ reviews-5895cfcd85-8d42s Pod ✔ Running 2m16s ready:2/2
├──□ reviews-5895cfcd85-b7dkl Pod ✔ Running 2m16s ready:2/2
├──□ reviews-5895cfcd85-hx6pt Pod ✔ Running 2m16s ready:2/2
├──□ reviews-5895cfcd85-q6wdn Pod ✔ Running 2m16s ready:2/2
└──□ reviews-5895cfcd85-sj7qx Pod ✔ Running 2m16s ready:2/2
Name: reviews
Namespace: istio
Status: ◌ Progressing
Message: waiting for analysis to complete
Strategy: BlueGreen
Images: docker.io/istio/examples-bookinfo-reviews-v1:1.16.2 (active)
docker.io/istio/examples-bookinfo-reviews-v2:1.16.2 (stable)
Replicas:
Desired: 5
Current: 10
Updated: 5
Ready: 5
Available: 5
NAME KIND STATUS AGE INFO
⟳ reviews Rollout ◌ Progressing 8m8s
├──# revision:3
│ ├──⧉ reviews-db897675d ReplicaSet ✔ Healthy 8m8s active
│ │ ├──□ reviews-db897675d-7nbss Pod ✔ Running 6m40s ready:2/2
│ │ ├──□ reviews-db897675d-dg6js Pod ✔ Running 6m40s ready:2/2
│ │ ├──□ reviews-db897675d-ww5mt Pod ✔ Running 6m40s ready:2/2
│ │ ├──□ reviews-db897675d-rlwsb Pod ✔ Running 6m39s ready:2/2
│ │ └──□ reviews-db897675d-sggnw Pod ✔ Running 6m39s ready:2/2
│ ├──α reviews-db897675d-3-pre AnalysisRun ✔ Successful 5m41s ✔ 4,✖ 1,⚠ 2
│ └──α reviews-db897675d-3-post AnalysisRun ◌ Running 12s ⚠ 2
└──# revision:2
└──⧉ reviews-5895cfcd85 ReplicaSet ✔ Healthy 7m21s stable
├──□ reviews-5895cfcd85-8d42s Pod ✔ Running 7m20s ready:2/2
├──□ reviews-5895cfcd85-b7dkl Pod ✔ Running 7m20s ready:2/2
├──□ reviews-5895cfcd85-hx6pt Pod ✔ Running 7m20s ready:2/2
├──□ reviews-5895cfcd85-q6wdn Pod ✔ Running 7m20s ready:2/2
└──□ reviews-5895cfcd85-sj7qx Pod ✔ Running 7m20s ready:2/2
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal RolloutUpdated 10m rollouts-controller Rollout updated to revision 1
Normal NewReplicaSetCreated 10m rollouts-controller Created ReplicaSet reviews-db897675d (revision 1)
Normal SwitchService 10m rollouts-controller Switched selector for service 'rollout-bluegreen-preview' from '' to 'db897675d'
Normal ScalingReplicaSet 10m rollouts-controller Scaled up ReplicaSet reviews-db897675d (revision 1) from 0 to 5
Normal RolloutCompleted 10m rollouts-controller Rollout completed update to revision 1 (db897675d): Initial deploy
Normal RolloutUpdated 9m16s rollouts-controller Rollout updated to revision 2
Normal NewReplicaSetCreated 9m16s rollouts-controller Created ReplicaSet reviews-5895cfcd85 (revision 2)
Normal SwitchService 9m16s rollouts-controller Switched selector for service 'rollout-bluegreen-preview' from 'db897675d' to '5895cfcd85'
Normal RolloutCompleted 9m16s rollouts-controller Rollout completed update to revision 2 (5895cfcd85): Initial deploy
Normal ScalingReplicaSet 9m15s rollouts-controller Scaled up ReplicaSet reviews-5895cfcd85 (revision 2) from 0 to 5
Normal SwitchService 9m6s rollouts-controller Switched selector for service 'rollout-bluegreen-active' from '' to '5895cfcd85'
Normal ScalingReplicaSet 8m45s rollouts-controller Scaled down ReplicaSet reviews-db897675d (revision 1) from 5 to 0
Normal RolloutUpdated 8m35s rollouts-controller Rollout updated to revision 3
Normal SwitchService 8m35s rollouts-controller Switched selector for service 'rollout-bluegreen-preview' from '5895cfcd85' to 'db897675d'
Normal ScalingReplicaSet 8m35s rollouts-controller Scaled up ReplicaSet reviews-db897675d (revision 3) from 0 to 5
Normal AnalysisRunRunning 7m36s rollouts-controller PrePromotion Analysis Run 'reviews-db897675d-3-pre' Status New: 'Running' Previous: ''
Normal SwitchService 2m7s rollouts-controller Switched selector for service 'rollout-bluegreen-active' from '5895cfcd85' to 'db897675d'
Normal AnalysisRunSuccessful 2m7s rollouts-controller PrePromotion Analysis Run 'reviews-db897675d-3-pre' Status New: 'Successful' Previous: 'Running'
Normal AnalysisRunRunning 2m6s rollouts-controller PostPromotion Analysis Run 'reviews-db897675d-3-post' Status New: 'Running' Previous: ''
Warning AnalysisRunError 87s rollouts-controller PostPromotion Analysis Run 'reviews-db897675d-3-post' Status New: 'Error' Previous: 'Running'
Warning RolloutAborted 87s rollouts-controller Rollout aborted update to revision 3: Metric "success-rate" assessed Error due to consecutiveErrors (5) > consecutiveErrorLimit (4): "Error Message: reflect: slice index out of range"
Normal SwitchService 87s rollouts-controller Switched selector for service 'rollout-bluegreen-active' from 'db897675d' to '5895cfcd85'
Normal ScalingReplicaSet 57s rollouts-controller Scaled down ReplicaSet reviews-db897675d (revision 3) from 5 to 0
清理:
kubectl delete rollout reviews -n istio
kubectl delete svc -n istio rollout-bluegreen-active
kubectl delete svc -n istio rollout-bluegreen-preview
kubectl delete AnalysisTemplate success-rate -n istio
kubectl delete vs rollout-bluegreen-preview -n istio
4.11HPA
istio-HPA.yaml
kubectl apply -f istio-HPA.yaml -n istio
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: hpa-rollout
spec:
maxReplicas: 5
minReplicas: 1
scaleTargetRef:
apiVersion: argoproj.io/v1alpha1
kind: Rollout
name: reviews
targetCPUUtilizationPercentage: 10
release/blueGreen/argo-rollout/bg-reviews-HPA.yaml
kubectl apply -f bg-reviews-HPA.yaml -n istio
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: reviews
spec:
replicas: 1
selector:
matchLabels:
app: reviews
template:
metadata:
labels:
app: reviews
spec:
serviceAccountName: bookinfo-reviews
containers:
- name: reviews
image: docker.io/istio/examples-bookinfo-reviews-v1:1.16.2
imagePullPolicy: IfNotPresent
env:
- name: LOG_DIR
value: "/tmp/logs"
ports:
- containerPort: 9080
resources:
requests:
cpu: 0.02
memory: 10Mi
volumeMounts:
- name: tmp
mountPath: /tmp
- name: wlp-output
mountPath: /opt/ibm/wlp/output
securityContext:
runAsUser: 1000
volumes:
- name: wlp-output
emptyDir: {}
- name: tmp
emptyDir: {}
strategy:
blueGreen:
activeService: rollout-bluegreen-active
previewService: rollout-bluegreen-preview
prePromotionAnalysis:
templates:
- templateName: success-rate
clusterScope: false
args:
- name: service-name
value: rollout-bluegreen-preview.istio.svc.cluster.local
postPromotionAnalysis:
templates:
- templateName: success-rate
clusterScope: false
args:
- name: service-name
value: rollout-bluegreen-active.istio.svc.cluster.local
argo-AnalysisTemplate-reviews.yaml
kubectl apply -f argo-AnalysisTemplate-reviews.yaml -n istio
apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
name: success-rate
spec:
args:
- name: service-name
metrics:
- name: success-rate
interval: 60s
count: 5
successCondition: result[0] >= 0.50
failureLimit: 3
provider:
prometheus:
address: http://prometheus.istio-system:9090
query: |
sum(irate(
istio_requests_total{reporter="source",destination_service=~"{{args.service-name}}",response_code!~"5.*"}[5m]
)) /
sum(irate(
istio_requests_total{reporter="source",destination_service=~"{{args.service-name}}"}[5m]
))
vs-reviews-preview.yaml
kubectl apply -f vs-reviews-preview.yaml -n istio
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: rollout-bluegreen-preview
spec:
gateways:
- bookinfo-gateway
hosts:
- "*"
http:
- match:
- queryParams:
test:
exact: test
route:
- destination:
host: rollout-bluegreen-preview
port:
number: 9080
- route:
- destination:
host: rollout-bluegreen-active
port:
number: 9080
svc-rollout-bluegreen-active.yaml
kubectl apply -f svc-rollout-bluegreen-active.yaml -n istio
apiVersion: v1
kind: Service
metadata:
name: rollout-bluegreen-active
spec:
ports:
- name: http
port: 9080
protocol: TCP
targetPort: 9080
selector:
app: reviews
svc-rollout-bluegreen-preview.yaml
kubectl apply -f svc-rollout-bluegreen-preview.yaml -n istio
apiVersion: v1
kind: Service
metadata:
name: rollout-bluegreen-preview
spec:
ports:
- name: http
port: 9080
protocol: TCP
targetPort: 9080
selector:
app: reviews
kubectl argo rollouts set image reviews reviews=docker.io/istio/examples-bookinfo-reviews-v2:1.16.2 -n istio
go-stress-testing -c 10 -n 1000000 -u http://192.168.229.134:30468/reviews/0?test=test
go-stress-testing -c 10 -n 1000000 -u http://192.168.229.134:30468/reviews/0
kubectl describe rollout reviews -n istio
kubectl argo rollouts get rollout reviews --watch -n istio
Name: reviews
Namespace: istio
Status: ◌ Progressing
Message: updated replicas are still becoming available
Strategy: BlueGreen
Images: docker.io/istio/examples-bookinfo-reviews-v1:1.16.2 (stable, active)
docker.io/istio/examples-bookinfo-reviews-v2:1.16.2 (preview)
Replicas:
Desired: 2
Current: 4
Updated: 2
Ready: 1
Available: 1
NAME KIND STATUS AGE INFO
⟳ reviews Rollout ◌ Progressing 4m16s
├──# revision:2
│ ├──⧉ reviews-5895cfcd85 ReplicaSet ✔ Healthy 3m preview
│ │ ├──□ reviews-5895cfcd85-9k62f Pod ✔ Running 3m ready:2/2
│ │ └──□ reviews-5895cfcd85-hmcln Pod ✔ Running 9s ready:2/2
│ └──α reviews-5895cfcd85-2-pre AnalysisRun ✔ Successful 2m54s ✔ 2,✖ 1
└──# revision:1
└──⧉ reviews-db897675d ReplicaSet ✔ Healthy 4m16s stable,active
├──□ reviews-db897675d-sl8r9 Pod ✔ Running 4m16s ready:2/2
└──□ reviews-db897675d-8qclp Pod ✔ Running 9s ready:2/2
Name: reviews
Namespace: istio
Status: ◌ Progressing
Message: updated replicas are still becoming available
Strategy: BlueGreen
Images: docker.io/istio/examples-bookinfo-reviews-v1:1.16.2 (stable, active)
docker.io/istio/examples-bookinfo-reviews-v2:1.16.2 (preview)
Replicas:
Desired: 5
Current: 10
Updated: 5
Ready: 3
Available: 3
NAME KIND STATUS AGE INFO
⟳ reviews Rollout ◌ Progressing 8m17s
├──# revision:2
│ ├──⧉ reviews-5895cfcd85 ReplicaSet ✔ Healthy 7m1s preview
│ │ ├──□ reviews-5895cfcd85-9k62f Pod ✔ Running 7m1s ready:2/2
│ │ ├──□ reviews-5895cfcd85-hmcln Pod ✔ Running 4m10s ready:2/2
│ │ ├──□ reviews-5895cfcd85-84rfc Pod ✔ Running 106s ready:2/2
│ │ ├──□ reviews-5895cfcd85-5hkzx Pod ✔ Running 39s ready:2/2
│ │ └──□ reviews-5895cfcd85-jpf6w Pod ✔ Running 39s ready:2/2
│ ├──α reviews-5895cfcd85-2-pre AnalysisRun ✔ Successful 6m55s ✔ 2,✖ 1
│ └──α reviews-5895cfcd85-2-pre.1 AnalysisRun ✔ Successful 3m33s ✔ 2,⚠ 1
└──# revision:1
└──⧉ reviews-db897675d ReplicaSet ✔ Healthy 8m17s stable,active
├──□ reviews-db897675d-sl8r9 Pod ✔ Running 8m17s ready:2/2
├──□ reviews-db897675d-8qclp Pod ✔ Running 4m10s ready:2/2
├──□ reviews-db897675d-jnwh8 Pod ✔ Running 108s ready:2/2
├──□ reviews-db897675d-vgbxk Pod ✔ Running 40s ready:2/2
└──□ reviews-db897675d-l6m86 Pod ✔ Running 39s ready:2/2
Name: reviews
Namespace: istio
Status: ◌ Progressing
Message: waiting for analysis to complete
Strategy: BlueGreen
Images: docker.io/istio/examples-bookinfo-reviews-v1:1.16.2 (stable)
docker.io/istio/examples-bookinfo-reviews-v2:1.16.2 (active)
Replicas:
Desired: 5
Current: 10
Updated: 5
Ready: 5
Available: 5
NAME KIND STATUS AGE INFO
⟳ reviews Rollout ◌ Progressing 7m9s
├──# revision:2
│ ├──⧉ reviews-5895cfcd85 ReplicaSet ✔ Healthy 6m56s active
│ │ ├──□ reviews-5895cfcd85-ss6wz Pod ✔ Running 6m55s ready:2/2
│ │ ├──□ reviews-5895cfcd85-8gmr7 Pod ✔ Running 6m54s ready:2/2
│ │ ├──□ reviews-5895cfcd85-9jjjh Pod ✔ Running 6m54s ready:2/2
│ │ ├──□ reviews-5895cfcd85-9pjgx Pod ✔ Running 6m54s ready:2/2
│ │ └──□ reviews-5895cfcd85-ws2zd Pod ✔ Running 5m28s ready:2/2
│ ├──α reviews-5895cfcd85-2-pre AnalysisRun ✔ Successful 6m20s ✖ 1
│ ├──α reviews-5895cfcd85-2-pre.1 AnalysisRun ✔ Successful 5m12s ✔ 5
│ └──α reviews-5895cfcd85-2-post AnalysisRun ◌ Running 68s ✔ 2
└──# revision:1
└──⧉ reviews-db897675d ReplicaSet ✔ Healthy 7m9s stable
├──□ reviews-db897675d-vtb9x Pod ✔ Running 7m9s ready:2/2
├──□ reviews-db897675d-hkhwv Pod ✔ Running 6m56s ready:2/2
├──□ reviews-db897675d-ltzzz Pod ✔ Running 6m56s ready:2/2
├──□ reviews-db897675d-m5zvj Pod ✔ Running 6m56s ready:2/2
└──□ reviews-db897675d-lwcnw Pod ✔ Running 5m28s ready:2/2
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal RolloutUpdated 10m rollouts-controller Rollout updated to revision 1
Normal NewReplicaSetCreated 10m rollouts-controller Created ReplicaSet reviews-db897675d (revision 1)
Normal SwitchService 10m rollouts-controller Switched selector for service 'rollout-bluegreen-preview' from '' to 'db897675d'
Normal ScalingReplicaSet 10m rollouts-controller Scaled up ReplicaSet reviews-db897675d (revision 1) from 0 to 1
Normal RolloutCompleted 10m rollouts-controller Rollout completed update to revision 1 (db897675d): Initial deploy
Normal SwitchService 10m rollouts-controller Switched selector for service 'rollout-bluegreen-active' from '' to 'db897675d'
Normal ScalingReplicaSet 10m rollouts-controller Scaled up ReplicaSet reviews-db897675d (revision 1) from 1 to 4
Normal RolloutUpdated 10m rollouts-controller Rollout updated to revision 2
Normal NewReplicaSetCreated 10m rollouts-controller Created ReplicaSet reviews-5895cfcd85 (revision 2)
Normal SwitchService 10m rollouts-controller Switched selector for service 'rollout-bluegreen-preview' from 'db897675d' to '5895cfcd85'
Normal ScalingReplicaSet 10m rollouts-controller Scaled up ReplicaSet reviews-5895cfcd85 (revision 2) from 0 to 4
Normal AnalysisRunRunning 10m rollouts-controller PrePromotion Analysis Run 'reviews-5895cfcd85-2-pre' Status New: 'Running' Previous: ''
Normal ScalingReplicaSet 9m10s rollouts-controller Scaled up ReplicaSet reviews-db897675d (revision 1) from 4 to 5
Normal ScalingReplicaSet 9m10s rollouts-controller Scaled up ReplicaSet reviews-5895cfcd85 (revision 2) from 4 to 5
Normal AnalysisRunRunning 8m53s rollouts-controller PrePromotion Analysis Run 'reviews-5895cfcd85-2-pre.1' Status New: 'Running' Previous: ''
Normal SwitchService 4m50s rollouts-controller Switched selector for service 'rollout-bluegreen-active' from 'db897675d' to '5895cfcd85'
Normal AnalysisRunSuccessful 4m50s rollouts-controller PrePromotion Analysis Run 'reviews-5895cfcd85-2-pre.1' Status New: 'Successful' Previous: 'Running'
Normal AnalysisRunRunning 4m49s rollouts-controller PostPromotion Analysis Run 'reviews-5895cfcd85-2-post' Status New: 'Running' Previous: ''
Normal AnalysisRunSuccessful 49s rollouts-controller PostPromotion Analysis Run 'reviews-5895cfcd85-2-post' Status New: 'Successful' Previous: 'Running'
Normal RolloutCompleted 49s rollouts-controller Rollout completed update to revision 2 (5895cfcd85): Completed blue-green update
Normal ScalingReplicaSet 19s rollouts-controller Scaled down ReplicaSet reviews-db897675d (revision 1) from 5 to 0
清理:
kubectl delete rollout reviews -n istio
kubectl delete svc -n istio rollout-bluegreen-active
kubectl delete svc -n istio rollout-bluegreen-preview
kubectl delete AnalysisTemplate success-rate -n istio
kubectl delete vs rollout-bluegreen-preview -n istio
kubectl delete hpa hpa-rollout -n istio