筆者嘗試在k3d搭建的k8s集羣中發佈tomcat服務,結果遲遲無法啓動,以下爲創建容器到解決的過程:
1. 發佈tomcat指令
kubectl create deployment tomcat --image=tomcat --port=8080
kubectl expose deployment tomcat --port=8080 --target-port=8080
kubectl exec deployment/tomcat -c tomcat -- /bin/bash -c 'mkdir webapps/ROOT; echo "kt-connect demo v1" > webapps/ROOT/index.html'
執行前兩步日誌顯示正常執行,但是執行第三步的報錯提示:error: unable to upgrade connection: container not found ("tomcat")
2. 使用kubectl get pods指令提示狀態爲ImagePullBackOff
kubectl get pods
3. 考慮是因爲鏡像無法拉取導致的,查看pod描述,事件提示Back-off pulling image "tomcat"
kubectl describe pod tomcat
4. 考慮是因爲鏡像無法拉取導致的,解決辦法,在服務中配置加速節點【也可以配置私服地址】
/etc/rancher/k3s/registries.yaml
mirrors:
docker.io:
endpoint:
- "https://fsp2sfpr.mirror.aliyuncs.com/"
5. 在次執行查看kubectl get pods
6. 再次查看describe事件狀態,圓滿解決
參考: