为了拉取镜像,搭建了阿里云镜像仓库,教程见:K8S中基于NFS-Subdir-External-Provisioner存储组件实现的StorageClass-CSDN博客
但是bookinfo的ratings和productpage无法运行,部署后显示crashLoopBackOff
[root@master ~]# kubectl get pods -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
details-v1-64bcb758dc-dbh7f 2/2 Running 0 12m 10.244.166.168 node1 <none> <none>
nfs-provisioner-88884f85b-t9tqf 2/2 Running 1 (88m ago) 88m 10.244.166.162 node1 <none> <none>
productpage-v1-78787b7cdd-9qlb4 1/2 CrashLoopBackOff 7 (62s ago) 12m 10.244.166.166 node1 <none> <none>
ratings-v1-86bdf4c6c-5wlh5 1/2 CrashLoopBackOff 6 (3m20s ago) 9m14s 10.244.104.43 node2 <none> <none>
reviews-v1-867dd8b5b9-4rrjm 2/2 Running 0 12m 10.244.104.41 node2 <none> <none>
reviews-v2-b4c897c97-2gwtg 2/2 Running 0 12m 10.244.166.167 node1 <none> <none>
reviews-v3-76f7b975d5-8nlpt 2/2 Running 0 12m 10.244.104.42 node2 <none> <none>
由于所有的镜像(review三个、details、ratings、productpage)都是1.19.1,后尝试重新下载镜像也不行。错误日志如下:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 38s default-scheduler Successfully assigned default/ratings-v1-86bdf4c6c-n66k5 to node2
Normal Pulled 37s kubelet Container image "docker.io/istio/proxyv2:1.23.2" already present on machine
Normal Created 37s kubelet Created container istio-init
Normal Started 37s kubelet Started container istio-init
Normal Pulled 36s kubelet Container image "docker.io/istio/proxyv2:1.23.2" already present on machine
Normal Created 36s kubelet Created container istio-proxy
Normal Started 36s kubelet Started container istio-proxy
Normal Pulled 19s (x3 over 36s) kubelet Container image "docker.io/istio/examples-bookinfo-ratings-v1:1.19.1" already present on machine
Normal Created 19s (x3 over 36s) kubelet Created container ratings
Normal Started 19s (x3 over 36s) kubelet Started container ratings
Warning BackOff 4s (x5 over 34s) kubelet Back-off restarting failed container ratings in pod ratings-v1-86bdf4c6c-n66k5_default(c623299f-a435-4420-93e4-ed31eafc9d73)
最后尝试使用了不匹配的ratings和productPage镜像版本,反而可以正常运行:
docker.io/istio/examples-bookinfo-productpage-v1:1.16.2
docker.io/istio/examples-bookinfo-ratings-v1:1.15.0
修改istio/samples/bookinfo/plateform/kube路径下的bookinfo.yaml文件,将里面的deployment的版本改为对应的镜像版本,从而成功部署。
[root@master ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
details-v1-64bcb758dc-6tvd2 2/2 Running 0 11m
nfs-provisioner-88884f85b-t9tqf 2/2 Running 2 (8m10s ago) 108m
productpage-v1-b54dfd8d8-4wp6c 2/2 Running 0 11m
ratings-v1-75c99d5c76-7h6hv 2/2 Running 0 11m
reviews-v1-867dd8b5b9-tldbx 2/2 Running 0 11m
reviews-v2-b4c897c97-v64ng 2/2 Running 0 11m
reviews-v3-76f7b975d5-58mjl 2/2 Running 0 11m