[root@master01 ~]# kgp -n weather
NAME                                READY   STATUS    RESTARTS   AGE
advertisement-v1-6b65cd7c78-ddrnk   2/2     Running   0          45h
forecast-v1-58ffc96649-wnq2k        2/2     Running   0          45h
frontend-v1-58896bbfdd-khzxt        2/2     Running   0          45h

进入我们之前git clone的目录,对所有服务创建各自的VirtualService和DestinationRule资源

[root@master01 ~]# cd cloud-native-istio/10_canary-release/10.1
[root@master01 10.1]# kubectl apply -f virtual-service-v1.yaml -n weather
[root@master01 10.1]# kubectl apply -f destination-rule-v1.yaml -n weather

说明:由于virtual-service-v1.yaml中有引用一个gateway资源,但我们还没有创建,所以这里会有一个错误(Kiali中可以看到)

image-20231109101300407

image-20231109101346760

image-20231109101447462

所以,还需要给它创建一下该gateway

cat > /tmp/weather-gateway.yaml <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: weather-gateway
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
EOF

kubectl apply -f /tmp/weather-gateway.yaml -n istio-system

创建完成后,页面恢复正常

image-20231109101653158

查看虚拟服务和路由规则

[root@master01 ~]# kubectl get vs -n weather
NAME                  GATEWAYS                           HOSTS               AGE
advertisement-route                                      ["advertisement"]   24m
forecast-route                                           ["forecast"]        24m
frontend-route        ["istio-system/weather-gateway"]   ["*"]               24m

[root@master01 ~]# kubectl get dr -n weather
NAME               HOST            AGE
advertisement-dr   advertisement   24m
forecast-dr        forecast        24m
frontend-dr        frontend        24m

调用链关系:

istio-12

2、部署v2版本

[root@master01 ~]# cd cloud-native-istio/10_canary-release/10.2/
[root@master01 10.2]# kubectl apply -f recommendation-all.yaml -f forecast-v2-deployment.yaml -n weather

查看

[root@master01 10.2]# kubectl get po -n weather | grep -P "forecast-v2|recommendation-v1"
forecast-v2-895b74c49-qdt9n          2/2     Running   0          135m
recommendation-v1-69dc596b6d-zkldp   2/2     Running   0          135m