大部分内容都是可以根据https://istio.io/docs/setup/kubernetes/quick-start/来处理的,这里主要谈部署时一些细节的问题
首先,当我们按照 istio 官方 quick-start 进行部署的时候,当我们执行完
kubectl apply -f install/kubernetes/istio-demo-auth.yaml //或者 kubectl apply -f install/kubernetes/istio-demo.yaml
后,确认我们的容器是否正常运行,会发现我们有很多的镜像是无法拉取的,这是因为 istio 在 1.0 的时候,把实例文当中的镜像源从 docker.io/istio 切换到了
http://gcr.io/istio-release ; 然后 gcr.io 是 google 的域名, 在天朝不FQ是无法访问的;
但是虽然 istio 把 demo 里面的镜像源切换到了 gcr.io , 但是他们在 docker hub 上面的镜像也是在维护的,所以我们在部署的时候只需要把我们部署的 yaml (比如 istio-demo.yaml 或者 istio-demo-auth.yaml ) 中的 gcr.io/istio-release 全部替换为 docker.io/istio 就可以正常的下载镜像并部署成功了;
然后部署以后发现等了许久好几个pod还是处于Container Creating 的状态
如果用kubectl describe 命令查看发现是:Failed create pod sandbox 的错误,查了一下网上的做法
进入部署的那个的节点,查看它的log
journalctl -u kubelet -n 1000
错误提示:
Error response from daemon: connection error: desc = “transport: dial unix /var/run/docker/containerd/docker-containerd.sock: connect: connection refused”: unknown
再根据这个错误找方法重启这个节点的docker服务
service docker restart
稍微等待一会就可以正常运行了
参考链接:https://zhuanlan.zhihu.com/p/41322606
https://www.cnblogs.com/lixiaolun/p/8963072.html
https://forums.docker.com/t/docker-error-response-from-daemon-connection-error-desc-transport-dial-unix-var-run-docker-containerd-docker-containerd-sock-connect-connection-refused-unknown/43763