报错

kubectl describe pod run-nfs-client-provisioner

在这里插入图片描述

 crictl pull 172.24.4.59/library/spark_lijia:3.5.1

在这里插入图片描述

  1. 报错问题:“k8s拉取不了私有镜像” 可能是由于以下几个原因造成的:
  2. 认证问题:私有镜像库可能需要用户名和密码才能拉取镜像。
  3. 网络问题:Kubernetes集群节点可能无法访问私有镜像库的网络。
  4. 镜像地址错误:镜像地址可能输入有误。
  5. containerd无法通过/etc/docker/daemon.json指定私有镜像
    我出现了两个问题
    我的解决方法:
    问题一:认证问题
    为Pod提供认证信息。创建一个ImagePullSecret,并将其与Pod关联。
kubectl create secret docker-registry image-pull-secret \
    --docker-server=xxxxxxx \
    --docker-username='xxxxxx' \
    --docker-password='xxxxxx' 

最后在部署应用的添加imagePullSecrets

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  template:
    spec:
      containers:
        - name: test
          image: test:latest
      imagePullSecrets:
        - name: image-pull-secret

问题二:无法通过/etc/docker/daemon.json指定私有镜像,没台服务器都需要改
containerd不支持拉取私有镜像
我们都知道containerd来自于docker,后被docker捐献给了云原生计算基金会(Cloud Native Computing Foundation,CNCF)。在RHEL上通过YUM部署containerd的过程中,表现为需要加载docker-ce.repo镜像源。通过在线方式安装的containerd的配置文件只有一个有效配置项:disabled_plugins = [“cri”],可以通过下面的命令生成containerd的默认配置文件,然后在此基础上自行修改。

containerd config default > /etc/containerd/config.toml #生成containerd的默认配置文件
 vi /etc/containerd/config.toml #修改配置新增一下配置
    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."172.24.4.59".auth]
          username = "admin"
          password = "123456"
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://registry-1.docker.io"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."172.24.4.59"]
          endpoint = ["http://172.24.4.59"]

修改前
在这里插入图片描述
修改后
在这里插入图片描述

 systemctl restart containerd  #重启服务
containerd config dump 查看配置是否加载成功

在这里插入图片描述
测试

 crictl pull 172.24.4.59/library/spark_lijia:3.5.1

在这里插入图片描述

kubectl describe pod run-nfs-client-provisioner

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐