k8s-harbor拉取镜像权限问题-imagePullSecrets

摘要:
k8s的imagePullSecrets如何生成及使用一、概述公司的docker仓库,是私有的,需要用户认证之后,才能拉取镜像。Using--passwordviatheCLIisinsecure.Use--password-stdin.Errorresponsefromdaemon:Gethttps://192.168.10.122/v2/:dialtcp192.168.10.122:443:connect:connectionrefused注意:出现这个报错,是由于harbor为了安全性考虑,默认是需要https证书支持的但是我们可以通过一个简单的办法解决修改/etc/docker/daemon.json文件vim/etc/docker/daemon.json内容如下:{"insecure-registries":["192.168.10.122"]}重新加载docker配置systemctldaemon-reloadsystemctlrestartdocker再次登录root@k8s-master:~#dockerlogin192.168.10.122-uadmin-pHarbor12345WARNING!Yourpasswordwillbestoredunencryptedin/root/.docker/config.json.Configureacredentialhelpertoremovethiswarning.Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLoginSucceeded提示登录成功。登录过程创建或更新一个包含授权令牌的config.json文件。基于现有Docker凭据创建secretkubectlcreatesecretgenericharborsecret--from-file=.dockerconfigjson=/root/.docker/config.json--type=kubernetes.io/dockerconfigjson注意:主要修改红色部分。
k8s的imagePullSecrets如何生成及使用 一、概述

公司的docker仓库(harbor),是私有的,需要用户认证之后,才能拉取镜像。

二、生成secret

登录到k8s master节点,先登录docker

root@k8s-master:~#docker login 192.168.10.122 -u admin -p Harbor12345
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://192.168.10.122/v2/: dial tcp 192.168.10.122:443: connect: connection refused

注意:出现这个报错,是由于harbor为了安全性考虑,默认是需要https证书支持的

但是我们可以通过一个简单的办法解决

修改/etc/docker/daemon.json文件

vim /etc/docker/daemon.json

内容如下:

{"insecure-registries": ["192.168.10.122"]}

重新加载docker配置

systemctl daemon-reload
systemctl restart docker

再次登录

root@k8s-master:~# docker login 192.168.10.122 -u admin -p Harbor12345
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove thiswarning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded

提示登录成功。

登录过程创建或更新一个包含授权令牌的config.json文件。
查看config.json文件:

cat ~/.docker/config.json

输出包含类似以下内容的部分:

{
    "auths": {
        "192.168.10.122": {
            "auth": "YWRtaW46SGFyYm9yMTIzNDU="}
    }

}

注意:如果您使用Docker凭据存储,您将看不到该auth条目,而是看到一个以存储名称为值的credsstore条目。

基于现有Docker凭据创建secret

kubectl create secret generic harborsecret 
    --from-file=.dockerconfigjson=/root/.docker/config.json 
    --type=kubernetes.io/dockerconfigjson

注意:主要修改红色部分。

harborsecret表示key名

/root/.docker/config.json表示docker认证文件,注意要写绝对路径

查看内容

kubectl get secrets harborsecret --output="jsonpath={.data..dockerconfigjson}" | base64 -d

输出:

{
    "auths": {
        "192.168.10.122": {
            "auth": "YWRtaW46SGFyYm9yMTIzNDU="}
    }}

在具体的Pod中引用就行:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: iot-nignx
  namespace: iot
spec:
  selector:
    matchLabels:
      app: iot-nignx
  replicas: 1template:
    metadata:
      labels:
        app: iot-nignx
    spec:
      containers:
      - name: iot-nignx
        imagePullPolicy: Always
        image: 192.168.2.11:30013/iot/nginx_iot:202109071808ports:
        - containerPort: 80name: iot-nignx
        - containerPort: 4949name: iot-nginx-scada
      imagePullSecrets:
      - name: harborsecret

免责声明:文章转载自《k8s-harbor拉取镜像权限问题-imagePullSecrets》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[转]Oracle存储过程总结selenium+python自动化90-unittest多线程执行用例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jmeter中CSV Data Set Config各项说明

Config the CSV Data Source: 1)Filename:csv文件的名称(包括绝对路径,当csv文件在bin目录下时,只需给出文件名即可) 2)File encoding:csv文件编码,可以不填 3)Variable Names(comma-delimited):csv文件中各列的名字(有多列时,用英文逗号隔开列名),这个变量名称是...

jenkins 新增节点的3种方式

1.通过ssh建立节点(在节点机子上要安装好jdk) (1)通过用户+密码建立ssh连接 (2)通过用户+密钥建立连接 2.通过jnlp,javaweb的方式连接 (1)创建好节点 (2)在节点的机子上,执行上面的语句,要安装好java,agent.jar 要放在节点机子上 3.通过Launch agent via execution of comman...

设计生成自动化流水线

现在已经有很多成熟的生成流水线了,如Azure DevOps,直接在界面中配置好即可,相当便捷,生成流水线的工作方式、工作过程也可以简单了解,我在空闲时间搭建了一个简单生成流水线旨在巩固个人对生成流水线的理解。 一、生成流水线设计图 平时,在腾讯云、阿里云搞活动时薅了点羊毛,搞了几天便宜的服务器,不能让这些服务器闲置了,也借此来试试搭建一条流水线,目的是...

(二)docker的部署安装,配置,基础命令

一、docker 的安装部署 这里不过多介绍,下面这两个linux发型版 安装可以参考 ubuntu的 docker-ce安装 centos7的 docker-ce安装 二.docker配置文件 重要参数解释: OPTIONS 用来控制Docker Daemon进程参数 -H 表示Docker Daemon绑定的地址, -H=unix:///var/r...

用docker配置php:7.3-fpm 、nginx 和 laravel

1 安装php:7.3-fpm镜像1.1 下载镜像 docker pull php:7.3-fpm 1.2 运行镜像 docker run -p 9000:9000 -d --name myphp-fpm -v /myweb/html:/var/www/html php:7.3-fpm 1.3 查看ip docker inspect myphp-fpm|g...

progit 之 git 起步(1)

了解git为什么这么流行,为什么应该使用git 以及 如何设置及使用git 关于版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。有了它就可以将文件回溯到之前的状态,甚至将整个项目都回溯到过去某个时间点的状态。 本地版本控制系统 许多人习惯用复制的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做的唯一好处...