首页 > 其他分享 >k8s配置harbor密钥

k8s配置harbor密钥

时间:2022-09-06 12:23:04浏览次数:93  
标签:yh rapid name harbor back 密钥 k8s imagePullSecrets

目录

一、简介

1、Kubernetes在拉取私服(Harbor)镜像时,经常出现问题,导致ImagePullBackOff,通过desicribe查看pod发现没有pull权限所致。

2、首先,不要寄望于~/.docker/config.json。与Docker Swarm不同,Kubernetes不会使用这里的配置来pull。

二、k8s解决方案

1、使用imagePullSecrets

  • 创建secret
kubectl -n yh create secret docker-registry harbor \
--docker-server=harbor.abc.com \
--docker-username=admin \
--docker-password='123456'
  • 其中.dockerconfigjson的值包含了登录harbor的用户名和密码等信息,通过以下命令进行查看:
kubectl get secret harbor -n yh --output="jsonpath={.data.\.dockerconfigjson}" | base64 -d
  • yaml文件添加imagePullSecrets
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rapid-back-deployment
  namespace: yh
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rapid-back
  template:
    metadata:
      labels:
        app: rapid-back
    spec:
      containers:
        - name: rapid-back
          image: 192.168.1.6:6001/rapid-ys-test/rapid-back:release
          imagePullPolicy: Always
          ports:
            - containerPort: 8080
          envFrom:
            - configMapRef:
                name: rapid-back-configmap
      imagePullSecrets:
      - name: harbor

2、将认证信息添加到serviceAccount

  • 以上方案需要在每个yaml文件中添加imagePullSecrets标签,比较麻烦,通过将secret绑定到sa上,可以实现该命名空间下的所有访问
  • 添加secrets到serviceaccount中
kubectl patch serviceaccount default -n yh -p '{"imagePullSecrets": [{"name": "harbor"}]}'
  • 查看sa详情
kubectl describe serviceaccount default -n yh

三、参考

标签:yh,rapid,name,harbor,back,密钥,k8s,imagePullSecrets
From: https://www.cnblogs.com/lvlinguang/p/16661338.html

相关文章

  • Git安装及密钥的生成以及如何查看秘钥文件夹位置
    一、Git下载安装及密钥生成1、Git下载到官网去下载2、Git安装(很简单),安装成功后,鼠标右键打开GitBash3、用户名邮箱注册$gitconfig--globaluser.name"user.name"$......
  • 二进制部署k8s集群v1.23.9版本-17-安装minio
    17.1、准备minio镜像192.168.1.200操作dockerpullminio/minio:latestdockerimages|grepminiodockertage31e0721a96bharbor.qgutech.com/middleware/minio:lates......
  • k8s--CronJob(CJ) 控制器
    CronJob介绍CronJob控制器以Job控制器资源为其管控对象,并借助它管理pod资源对象,job控制器定义的作业任务在其控制器资源创建之后便会立即执行,但CronJob可以以类......
  • ssh密钥登陆设置
    生成公私钥ssh-keygen命令[root@loalhost~]#ssh-keygenGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):Ent......
  • 【云原生】K8s pod 动态弹性扩缩容 HAP(metrics-server)
    目录一、概述二、安装metrics-server1)HAP前提条件2)开启APIAggregator3)开始安装metrics-server三、HorizontalPodAutoscaler工作原理1)原理架构图2)HPA扩缩容算法1、......
  • k8s-Service网络服务
    Service概念会话保持多端口设置Service暴露到集群外部服务发现Service概念Service主要用于提供网络服务,通过Service的定义,能够为客户端应用提供稳定的访问地址(域名或......
  • 【云原生】K8s pod优雅退出(postStart、terminationGracePeriodSeconds、preStop)
    目录一、概述二、Pod的生命周期三、pod的终止过程四、钩子函数(postStart和preStop)五、示例演示一、概述更新部署服务时,旧的Pod会终止,新Pod上位。如果在这个部......
  • 如何在 Heroku React 应用程序中访问 API 密钥
    如何在HerokuReact应用程序中访问API密钥ImagebyMasterTux,PixaBay.com,licensedunderCC0所以你花了几个小时在你的新React应用程序上工作,你已经完成了He......
  • k8s中安装jenkins
    编写jenkins.yaml说明:容器跑起来后,jenkins的目录是/var/jenkins_home存储卷用的是hostPath,这里面我们指定pod调度到k8s-master01在k8s-master01上创建目录:mkdi......
  • 【云原生】k8s中volumeMounts.subPath的巧妙用法
    目录一、概述二、使用场景三、共享卷中使用,挂载多个路径四、ConfigMap和Secret中使用subPath一、概述有时,在单个Pod中共享卷以供多方使用是很有用的。volumeMou......