Kubernetes(K8S) 拉取镜像 ImagePullBackOff pull access denied

kubernetes,k8s,镜像,imagepullbackoff,pull,access,denied · 浏览次数 : 471

小编点评

**第一次使用阿里云镜像的步骤:** 1. 确保您的 Kubernetes 集群已配置并运行。 2. 创建一个名为 `javademo1` 的 deployment 和 pod 资源。 3. 使用 `kubectl apply` 命令将它们应用到 Kubernetes 集群。 4. 查看 `pod` 的状态,确保它已成功运行。 5. 使用 `kubectl describe pod` 命令查看 `javademo1` 的详细信息。 **注意:** * 您需要使用与 Kubernetes 集群关联的用户名和密码来访问阿里云镜像。 * 确保您已配置了 Kubernetes 的 `docker` 认证。 * 如果您遇到 `ImagePullBackOff` 错误,请检查镜像名称和仓库是否存在问题。

正文

 K8S 拉取阿里云镜像  第一次用时,没注意 授权,所以在 kubectl apply 后一直出现  ImagePullBackOff

[root@k8smaster ~]# kubectl apply -f javademo1.yaml 
deployment.apps/javademo1 created
[root@k8smaster ~]# kubectl get pods
NAME                         READY   STATUS             RESTARTS   AGE
javademo1-55d6f5df9b-z2nqt   0/1     ImagePullBackOff   0          25s
nginx-f89759699-5hkdw        1/1     Running            0          5d1h 
[root@k8smaster ~]# kubectl describe pod javademo1-55d6f5df9b-z2nqt  
Name:         javademo1-55d6f5df9b-z2nqt
Namespace:    default
Priority:     0
Node:         k8snode1/172.16.3.182
Start Time:   Tue, 18 Oct 2022 19:13:56 +0800
Labels:       app=javademo1
              pod-template-hash=55d6f5df9b
Annotations:  <none>
Status:       Pending
IP:           10.244.1.3
IPs:
  IP:           10.244.1.3
Controlled By:  ReplicaSet/javademo1-55d6f5df9b
Containers:
  vipsoft:
    Container ID:   
    Image:          registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:1.0
    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 default-token-q7lps (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  default-token-q7lps:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-q7lps
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                   From               Message
  ----     ------     ----                  ----               -------
  Normal   Scheduled  15m                   default-scheduler  Successfully assigned default/javademo1-55d6f5df9b-cq4mt to k8snode1
  Normal   Pulling    13m (x4 over 15m)     kubelet            Pulling image "registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:1.0"
  Warning  Failed     13m (x4 over 15m)     kubelet            Failed to pull image "registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:1.0": rpc error: code = Unknown desc = Error response from daemon: pull access denied for registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
  Warning  Failed     13m (x4 over 15m)     kubelet            Error: ErrImagePull
  Warning  Failed     10m (x21 over 15m)    kubelet            Error: ImagePullBackOff
  Normal   BackOff    5m11s (x43 over 15m)  kubelet            Back-off pulling image "registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:1.0"

解决方案,详见:K8S 拉取阿里云镜像 1、2 两步

最后执行 

[root@k8smaster ~]# kubectl replace -f javademo1.yaml

 

与Kubernetes(K8S) 拉取镜像 ImagePullBackOff pull access denied相似的内容:

Kubernetes(K8S) 拉取镜像 ImagePullBackOff pull access denied

K8S 拉取阿里云镜像 第一次用时,没注意 授权,所以在 kubectl apply 后一直出现 ImagePullBackOff [root@k8smaster ~]# kubectl apply -f javademo1.yaml deployment.apps/javademo1 create

Kubernetes(K8S) Deployment 拉取阿里云镜像部署

Docker Image 推到阿里云仓库,可以看 SpringBoot Docker 发布到 阿里仓库 1. 阿里镜像仓库加了授权,所以 K8S 拉之前要做下授权处理 [root@k8smaster ~]# kubectl create secret docker-registry registry

Kubernetes(K8S) 镜像拉取策略 imagePullPolicy

镜像仓库,镜像已更新,版本没更新, K8S 拉取后,还是早的服务,原因:imagePullPolicy 镜像拉取策略 默认为本地有了就不拉取,需要修改 [root@k8smaster ~]# kubectl edit deployment/javademo1 ..... spec: containe

二进制安装Kubernetes(k8s)v1.30.1

二进制安装Kubernetes(k8s)v1.30.1 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes(k8s)二进制高可用安装部署,支持IPv4+IPv6双栈。 我使用IPV6的目的是在公网进行访问,所以

DevSecOps 需要知道的十大 K8s 安全风险及建议

Kubernetes (K8s)是现代云原生世界中的容器管理平台。它实现了灵活、可扩展地开发、部署和管理微服务。K8s 能够与各种云提供商、容器运行时接口、身份验证提供商和可扩展集成点一起工作。然而 K8s 的集成方法可以在任何基础设施上运行任何容器化应用程序,这使得围绕 K8s 和其上的应用程序堆

Kubernetes(K8S) Deployment 升级和回滚

创建部署详见 Kubernetes(K8S) Deployment 部署 Pod 传统应用升级,一般是V1.0的jar包,有一个应对 1.0 的 shell 启动脚本。升级时,传 2.0 的 jar包,配置 2.0 的 shell 脚本。 执行顺序为,停1.0的服务,启2.0的服务,有问题时,把2.

Kubernetes(K8S) Node NotReady 节点资源不足 Pod无法运行

k8s 线上集群中 Node 节点状态变成 NotReady 状态,导致整个 Node 节点中容器停止服务。 一个 Node 节点中是可以运行多个 Pod 容器,每个 Pod 容器可以运行多个实例 App 容器。Node 节点不可用,就会直接导致 Node 节点中所有的容器不可用,Node 节点是否

Kubernetes(K8S) 安装 Metrics-Server kubectl top (metrics-server) node NotFound

kubectl top (metrics-server) node NotFound components.yaml 网上的各种方法都有问题,找到了一个完整版的 yaml apiVersion: v1 kind: ServiceAccount metadata: labels: k8s-app: m

Kubernetes(K8S) 安装Nacos,报 No DataSource set

原因,数据库为 MySQL 5.7 需要在yaml加上参数 mysql.db.param: "characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTim

Kubernetes(K8S) 配置静态资源服务

Kubernetes(K8S) 配置静态资源服务 apiVersion: v1 kind: ConfigMap metadata: name: img-config namespace: vipsoft data: img.conf: | server { charset utf-8; listen