当前位置: 首页 > article >正文

【k8s】解决kubelet下载docker私有仓库验证问题

    由于自己搭建的harbor仓库,开启了登录验证,那么在kubelet触发docker去下载镜像时需要提供登录验证信息。可以通过以下方式解决:

kubectl create secret generic harborregcred[secret 的名称] -n  xxxx[根据需要设置命名空间] --from-file=.dockerconfigjson=$HOME/.docker/config.json  --type=kubernetes.io/dockerconfigjson

上面的语句就是创建了一个: secret ,里面包括了:docker login --usernmae=xxx 生成之后的信息

[root@master sys]# cat $HOME/.docker/config.json
{
        "auths": {
                "xxx.xxx.xxx.22:444": {
                        "auth": "anRramRldjpKdGtqRGV2MDAx"
                }
        }

   执行docker login   --username=bbbb    xxxx[私有仓库地址],成功之后会生成一个config.json信息,然后用这个信息创建成一个secret,然后添加到创建k8s资源的yaml文件中,比如创建一个deployment.yaml,配置如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name:  auth
  namespace:  jdev
  labels:
    app:  auth
spec:
  replicas: 1
  selector:
    matchLabels:
      app:  auth
  template:
    metadata:
      name:  auth
      labels:
        app:  auth
    spec:
      imagePullSecrets:
        - name: harborregcred  【这个就是上面创建的secret】
      containers:
        - name: jtkj-auth
          image: 私有镜像库地址/dev/auth:latest
          imagePullPolicy: Always
          ports:
            - containerPort: 9200
              name: authport
              protocol: TCP
          resources:
            limits:
              cpu: 500m
              memory: 2048Mi
            requests:
              cpu: 250m
              memory: 1024Mi

kubectl create:这是 kubectl 命令的一部分,用于创建 Kubernetes 资源。
secret:这是资源类型,表示你要创建的是一个秘密对象(Secret)。
generic:这是子命令,用于创建一个通用类型的秘密对象。通用秘密对象可以存储任意键值对的数据,非常适合存储像 Docker 配置文件这样的数据。

--type:这个选项指定了秘密对象的类型。类型可以帮助 Kubernetes 理解如何处理和使用这个秘密对象。
kubernetes.io/dockerconfigjson:这是特定于 Docker 配置文件的秘密类型。Kubernetes 使用这种类型来识别和处理包含 Docker 认证信息的秘密对象。

  注意点就是:  创建的secret的命名空间和需要创建的k8s资源命名空间一致。


http://www.kler.cn/a/418080.html

相关文章:

  • 大数据治理:解锁数据价值,引领未来创新
  • 力扣难题解析
  • LabVIEW实现UDP通信
  • 【AI日记】24.11.30 kaggle 比赛 Titanic-3
  • 学习threejs,使用设置lightMap光照贴图创建阴影效果
  • 基于Java Springboot Vue3图书管理系统
  • P3打卡-pytorch实现天气识别
  • 【MyBatis】验证多级缓存及 Cache Aside 模式的应用
  • SOC(网络安全管理平台)
  • springboot监听mysql的binlog日志
  • Spring的事务管理
  • Serverless架构与AWS Lambda
  • 安卓逆向之Android-Intent介绍
  • Python Web 开发:FastAPI 基本概念与应用
  • 《Learn Three.js》学习(4) 材质
  • 高效智能的租赁管理系统助力企业数字化转型
  • 游戏引擎学习第26天
  • java与c#区别
  • 【Linux | 计网】TCP协议深度解析:从连接管理到流量控制与滑动窗口
  • vue多页面应用集成时权限处理问题
  • 局域网的网络安全
  • Flink维表join
  • 使用 Canal 实时从 MySql 向其它库同步数据
  • 【C++】赋值运算与变量交换的深入探讨
  • Agent构建总结(LangChain)
  • C/C++基础知识复习(32)