首页 > 其他分享 >containerd 配置使用私有镜像仓库 harbor

containerd 配置使用私有镜像仓库 harbor

时间:2024-04-28 19:22:33浏览次数:22  
标签:harbor containerd v1 registry io plugins 镜像 cri

前言

​当要从非安全的镜像仓库中进行 PullPush 时,会遇到 x509: certificate signed by unknown authority 错误提示; 这是由于镜像仓库是可能是 http 服务,或者 https 的证书是自签名的就会出现这个问题。

Containerd 可以配置为连接到私有镜像仓库,并使用仓库在每个节点上拉取私有镜像。

Containerd 中的配置可以用于通过 TLS 连接到私有镜像仓库,也可以与启用验证的镜像仓库连接。

下面以三种运行时来说明,如何解决这个问题

配置 Containerd

vim /etc/containerd/config.toml

​在 /etc/containerd/config.toml 文件中加入如下的配置:

[plugins."io.containerd.grpc.v1.cri".registry.configs."test.registry.com".tls] # test.registry.com harbor地址
  insecure_skip_verify = true # 跳过tls认证

​配置之后需要重启 containerd,重启命令为:

systemctl restart containerd

containerd 配置完成!!

如下配置:

vim /etc/containerd/config.toml  # 添加如下信息

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        # 如下这些仓库可以作为公共仓库使用
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
            endpoint = ["https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
            endpoint = ["https://gcr.mirrors.ustc.edu.cn"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
            endpoint = ["https://gcr.mirrors.ustc.edu.cn/google-containers/"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
            endpoint = ["https://quay.mirrors.ustc.edu.cn"]
        # 内部私有仓库配置
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."www.myharbor.com"]
            endpoint = ["https://www.myharbor.com/"]

      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        # 内部私有仓库认证信息
        [plugins."io.containerd.grpc.v1.cri".registry.configs."www.myharbor.com"] # 这行不确定要不要写上
          [plugins."io.containerd.grpc.v1.cri".registry.configs."www.myharbor.com".tls]
            insecure_skip_verify = false # 是否跳过证书认证
            ca_file = "/etc/containerd/www.myharbor.com/ca.crt" # CA 证书 
          [plugins."io.containerd.grpc.v1.cri".registry.configs."www.myharbor.com".auth]
            username = "test" # 在harbor里单独创建的用户,授权访问指定项目
            password = "Test123456"

配置 Docker

​在 /etc/docker/daemon.json 文件中加入如下配置:

{
  "insecure-registries": [
    "test.registry.com",
    "test.registry.com1"
  ]
}

​修改之后重启 docker 即可,重启命令为:

systemctl restart docker

docker 配置完成!!

配置 CRI-O

​修改 /etc/crio/crio.conf 配置文件:

insecure_registries = ["test.registry.com"]

​重启 crio:

systemctl restart crio

crio 配置完成!!

标签:harbor,containerd,v1,registry,io,plugins,镜像,cri
From: https://www.cnblogs.com/niuben/p/18164350

相关文章

  • anaconda 配置镜像源
    anaconda如果不配置国内源,在下载第三方库时,默认还是会使用官方源,就会导致时常因请求外网导致网速过慢或是链接超时,这个时候,我们就需要切换到国内源,来改善这一体验。 国内各大镜像源地址:清华大学:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:https://mirrors.aliyun.com/py......
  • Docker - 基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载
    Docker-基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载 一、对Docker 的理解1、Docker基本概念我们平时开发大型项目组件较多,依赖关系复杂,环境差异大,通过Docker就可解决上述问题~ Docker就是一个快速交付应用、运行应用的技术:运行前后:......
  • node的版本管理nvm和npm的镜像管理mrm的使用
    nvm针对已经安装过node的情况1.复制npm等配置的镜像等2.命令行输入:wherenpm(查看安装路径,看下哪些是等会儿需要重新再安装的一些全局包,避免之前的一些项目启动不了);npmls3.卸载已经安装的node删除Node.js安装目录(可以不删直接把文件夹换个名字例如node-old)删除Node.......
  • Docker镜像使用(一)
    1.1镜像获取从Docker镜像仓库获取镜像的命令是dockerpull。其命令格式为:dockerpull[选项][DockerRegistry地址[:端口号]/]仓库名[:标签]拉去镜像之后我们可以使用dockerimagels查看镜像运行我们拉去的镜像:dockerrun-it--rmhello-worlddockerrun就是运......
  • Containerd 配置使用 Nvidia container runtime
    前言Kubernetes集群中Docker如何使用GPU,请看这一篇docker配置Nvidia环境,使用GPU本文着重讲Containerd如何作为容器运行时来使用GPUnvidia-container-runtimenvidia-container-runtime是在runc基础上多实现了nvidia-container-runime-hook(现在叫nvidia-containe......
  • docker - [09] 镜像详解
    题记部分  一、镜像是什么  镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,还包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。如果得到镜像:1、从远程仓库下载2、朋友拷贝给你3、自己制作一个镜像Do......
  • docker 镜像
    是什么镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器实......
  • 本地镜像发布到阿里云和上传到私服
    操作dockerlogin--username=zzyybuyregistry.cn-hangzhou.aliyuncs.comdockertagcea1bb40441cregistry.cn-hangzhou.aliyuncs.com/atguiguwh/myubuntu:1.1dockerpushregistry.cn-hangzhou.aliyuncs.com/atguiguwh/myubuntu:1.1本地镜像推送到私有库#1.下载镜像Dock......
  • Docker 发布镜像
    在GitHub发布Docker镜像在GitHub上创建一个personalaccesstoken(classic)在DockerCLI中登录到GitHubContainerRegistryexportCR_PAT=YOUR_TOKENecho$CR_PAT|dockerloginghcr.io-uUSERNAME--password-stdin将YOUR_TOKEN和USERNAME替换为你自......
  • 【前端开发】前端编写Dockerfile构建镜像流程
    1、demo#Dockerfile#FROMnode:18//基础镜像,node服务就用node基础镜像#切换到root用户USERroot#创建工作区目录WORKDIR/appENVBASEPATH/app#复制文件到工作区COPYpackage.jsonpackage-lock.jsonecosystem.config.js.npmrc$BASEPATH/COPY/src$BASE......