k8s-init


Kubernetes 就是一个生产级别的容器编排平台和集群管理系统,不仅能够创建、调度容器,还能够监控、管理服务器,它凝聚了 Google 等大公司和开源社区的集体智慧,从而让中小型公司也可以具备轻松运维海量计算节点——也就是“云计算”的能力。

本机搭建Kubernetes环境

minikube镜像拉取失败

在 Kubernetes 里运行一个 Nginx 应用,命令与 Docker 一样,也是 run,不过形式上有点区别,需要用 –image 指定镜像,然后 Kubernetes 会自动拉取并运行

kubectl run ngx --image=nginx:alpine

查看 Pod 列表需要使用命令 kubectl get pod

wangql@wangql-VirtualBox:/etc/docker$ kubectl get pod
NAME    READY   STATUS             RESTARTS   AGE
ngx     0/1     ImagePullBackOff   0          23m
ngx11   0/1     ImagePullBackOff   0          21m
ngx22   0/1     ErrImagePull       0          92s

检查pod日志

wangql@wangql-VirtualBox:/wangql$ kubectl describe pod ngx
Name:         ngx
Namespace:    default
Priority:     0
Node:         minikube/192.168.49.2
Start Time:   Mon, 11 Aug 2025 00:30:30 +0800
Labels:       run=ngx
Annotations:  <none>
Status:       Pending
IP:           172.17.0.3
IPs:
  IP:  172.17.0.3
Containers:
  ngx:
    Container ID:
    Image:          nginx:alpine
    Image ID:
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       ImagePullBackOff
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-r45d9 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  kube-api-access-r45d9:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                  From               Message
  ----     ------     ----                 ----               -------
  Normal   Scheduled  4m8s                 default-scheduler  Successfully assigned default/ngx to minikube
  Normal   Pulling    117s (x4 over 4m6s)  kubelet            Pulling image "nginx:alpine"
  Warning  Failed     88s (x4 over 3m51s)  kubelet            Failed to pull image "nginx:alpine": rpc error: code = Unknown desc = Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Failed     88s (x4 over 3m51s)  kubelet            Error: ErrImagePull
  Warning  Failed     76s (x6 over 3m51s)  kubelet            Error: ImagePullBackOff
  Normal   BackOff    64s (x7 over 3m51s)  kubelet            Back-off pulling image "nginx:alpine"
wangql@wangql-VirtualBox:/wangql$

切换源

minikube ssh
sudo vi /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://registry.docker-cn.com",
        "https://y0qd3iq.mirror.aliyuncs.com",
        "http://hub-mirror.c.163.com",
        "https://docker.anubis.cafe",
        "https://docker.m.daocloud.io",
        "https://dockerhub.icu",
        "https://docker.anyhub.us.kg",
        "https://docker.1panel.live"
    ]
}
# 重启docker
sudo systemctl restart docker
# 退出ssh
exit

再次运行pod显示启动成功

wangql@wangql-VirtualBox:/etc/docker$ kubectl get pod
NAME    READY   STATUS    RESTARTS   AGE
ngx     1/1     Running   0          36m
ngx11   1/1     Running   0          35m
ngx22   1/1     Running   0          15m
ngx33   1/1     Running   0          13m

引用

minikube(k8s单机)安装


文章作者: WangQingLei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 WangQingLei !
 本篇
k8s-init k8s-init
Kubernetes 就是一个生产级别的容器编排平台和集群管理系统,不仅能够创建、调度容器,还能够监控、管理服务器,它凝聚了 Google 等大公司和开源社区的集体智慧,从而让中小型公司也可以具备轻松运维海量计算节点——也就是“云计算”的能
2025-08-11
下一篇 
Hello World Hello World
2025-07-27 WangQingLei
  目录