Han*_*tsy 10 docker kubernetes
我尝试使用KinD作为 Minikube 的替代品在我的本地计算机中引导 K8S 集群。
\n集群创建成功。
\n但是当我尝试从映像创建一些 Pod/部署时,它失败了。
\n$ kubectl run nginx --image=nginx\n$ kubectl run hello --image=hello-world\nRun Code Online (Sandbox Code Playgroud)\n几分钟后,用于get pods获取失败状态。
$ kubectl get pods\nNAME READY STATUS RESTARTS AGE\nhello 0/1 ImagePullBackOff 0 11m\nnginx 0/1 ImagePullBackOff 0 22m\nRun Code Online (Sandbox Code Playgroud)\n恐怕这是中国的另一个全球防火墙问题。
\nkubectl describe pods/nginx\nName: nginx\nNamespace: default\nPriority: 0\nNode: dev-control-plane/172.19.0.2\nStart Time: Sun, 30 Aug 2020 19:46:06 +0800\nLabels: run=nginx\nAnnotations: <none>\nStatus: Pending\nIP: 10.244.0.5\nIPs:\n IP: 10.244.0.5\nContainers:\n nginx:\n Container ID:\n Image: nginx\n Image ID:\n Port: <none>\n Host Port: <none>\n State: Waiting\n Reason: ErrImagePull\n Ready: False\n Restart Count: 0\n Environment: <none>\n Mounts:\n /var/run/secrets/kubernetes.io/serviceaccount from default-token-mgq96 (ro)\nConditions:\n Type Status\n Initialized True\n Ready False\n ContainersReady False\n PodScheduled True\nVolumes:\n default-token-mgq96:\n Type: Secret (a volume populated by a Secret)\n SecretName: default-token-mgq96\n Optional: false\nQoS Class: BestEffort\nNode-Selectors: <none>\nTolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s\n node.kubernetes.io/unreachable:NoExecute op=Exists for 300s\nEvents:\n Type Reason Age From Message\n ---- ------ ---- ---- -------\n Normal Scheduled 56m default-scheduler Successfully assigned default/nginx to dev-control-plane\n Normal BackOff 40m kubelet, dev-control-plane Back-off pulling image "nginx"\n Warning Failed 40m kubelet, dev-control-plane Error: ImagePullBackOff\n Warning Failed 13m (x3 over 40m) kubelet, dev-control-plane Failed to pull image "nginx": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/library/nginx:latest": failed to copy: unexpected EOF\n Warning Failed 13m (x3 over 40m) kubelet, dev-control-plane Error: ErrImagePull\n Normal Pulling 13m (x4 over 56m) kubelet, dev-control-plane Pulling image "nginx"\nRun Code Online (Sandbox Code Playgroud)\n当我进入kindest/node容器时,但里面没有docker。不确定 KIND 是如何工作的,最初我理解它是将 K8S 集群部署到 Docker 容器中。
\n$ docker ps\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\na644f8b61314 kindest/node:v1.19.0 "/usr/local/bin/entr\xe2\x80\xa6" About an hour ago Up About an hour 127.0.0.1:52301->6443/tcp dev-control-plane\n\n$ docker exec -it a644f8b61314 /bin/bash\nroot@dev-control-plane:/# docker -v\nbash: docker: command not found\nRun Code Online (Sandbox Code Playgroud)\n阅读 Kind 文档后,我找不到像 Minikube 那样设置存储库镜像的选项。
\n顺便说一句,我在 Windows 10 上使用最新的 Docker Desktop beta。
\nArg*_*dhu 17
首先使用在本地系统中拉取映像docker pull nginx,然后使用以下命令将该映像加载到种类集群
kind load docker-image nginx --name kind-cluster-name
Run Code Online (Sandbox Code Playgroud)
Kind使用containerd而不是docker作为运行时,这就是为什么docker没有安装在节点上。
或者,您可以使用crictl工具拉取并检查 kind 节点内的图像。
crictl pull nginx
crictl images
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10086 次 |
| 最近记录: |