【Harbor Https】Harbor部署https并配置containerd拉取镜像

这篇具有很好参考价值的文章主要介绍了【Harbor Https】Harbor部署https并配置containerd拉取镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

新项目,要接手另一个k8s集群,那个集群是kubernates1.24的rke2版本,里面已经不用docker容器了,使用了containerd容器来生成pod,因此需要变化我们以前的docker使用方式。首先第一步需要把harbor的镜像由http更改为https。

开始:

这里我使用harbor安装的ip【10.38.199.203】地址来生成证书,也可以自己定义一个域名,自定义域名后需要在kubernates的worker节点把域名和地址配置到host里面。

一:生成CA证书

使用openssl生成ca证书,ca.key

# 生成CA证书私钥
openssl genrsa -out ca.key 4096

# 生成CA证书
openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=10.38.199.203" \
 -key ca.key \
 -out ca.crt

二.生成服务器证书

使用openssl生成服务器证书,10.38.199.203.key,10.38.199.203.csr

# 生成私钥
openssl genrsa -out 10.38.199.203.key 4096

# 生成证书签名请求(CSR)
openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=10.38.199.203m" \
    -key 10.38.199.203.key \
    -out 10.38.199.203.csr

生成一个x509 v3扩展文件

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = IP:10.38.199.203
EOF

使用该v3.ext文件为Harbor主机生成证书

openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in 10.38.199.203.csr \
    -out 10.38.199.203.crt

三.生成客户端证书

用10.38.199.203.crt生成客户端证书

openssl x509 -inform PEM -in 10.38.199.203.crt -out 10.38.199.203.cert

四.提供证书给docker,harbor启动需要docker

#创建证书名称目录
mkdir -p /etc/docker/certs.d/10.38.199.203/

#拷贝证书到该目录
cp 10.38.199.203.cert /etc/docker/certs.d/10.38.199.203/
cp 10.38.199.203.key /etc/docker/certs.d/10.38.199.203/
cp ca.crt /etc/docker/certs.d/10.38.199.203/

重启一下docker服务

systemctl restart docker

五.修改harbor的https配置

修改harbor.yml的https配置,这里我修改了默认端口为1443,并引入服务端证书

harbor镜像如何配置随意拉取,https,harbor,containerd,kubernetes

六.启动harbor,访问URL

./install.sh

harbor镜像如何配置随意拉取,https,harbor,containerd,kubernetes

接下去是配置kubernates容器containerd拉取镜像时的证书导入

七.配置containerd拉取docker镜像

当我们没有配置harbor的https时,拉取镜像会出现如下错误

harbor镜像如何配置随意拉取,https,harbor,containerd,kubernetes

harbor镜像如何配置随意拉取,https,harbor,containerd,kubernetes

containerd的镜像仓库配置地址在 /etc/rancher/rke2/registries.yaml,修改该文件,将harbor地址,证书配置进去,具体的配置参数和方法可以参考官方文档

Containerd 镜像仓库配置 | RKE2

mirrors:
  docker.io:
    endpoint:
      - "https://10.38.199.203:1443"
configs:
  "10.38.199.203:1443":
    auth:
      username: admin
      password: Harbor12345
    tls:
      cert_file:            /opt/harbor/10.38.199.203.cert
      key_file:             /opt/harbor/10.38.199.203.key
      ca_file:              /opt/harbor/ca.crt
      insecure_skip_verify: true

重启节点,每个worker节点都需要重启

systemctl restart rke2-agent

八.启动pod,成功拉取镜像

harbor镜像如何配置随意拉取,https,harbor,containerd,kubernetes

harbor镜像如何配置随意拉取,https,harbor,containerd,kubernetes文章来源地址https://www.toymoban.com/news/detail-760455.html

到了这里,关于【Harbor Https】Harbor部署https并配置containerd拉取镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes ≥ 1.25 Containerd配置Harbor私有镜像仓库

    containerd 实现了 kubernetes 的 Container Runtime Interface (CRI) 接口,提供容器运行时核心功能,如镜像管理、容器管理等,相比 dockerd 更加简单、健壮和可移植。 从docker过度还是需要一点时间慢慢习惯的,今天来探讨containerd 如何从无域名与权威证书的私有仓库harbor,下载镜像! c

    2024年01月15日
    浏览(24)
  • 在服务器上搭建Harbor私有镜像仓库并通过HTTPS访问

    目录 什么是Harbor 在服务器上搭建Harbor私有镜像仓库 使用HTTPS访问Harbor私有镜像仓库 生成证书文件 配置证书文件 验证https访问 上传镜像到Harbor私有镜像仓库 Harbor 是为企业用户设计的容器镜像仓库开源项目,包括了权限管理

    2023年04月11日
    浏览(66)
  • 部署harbor并实现https(SAN签发证书)

      目录 一、安装docker、docker-compose 二、安装harbor 三、签发证书  四、修改配置文件 五、运行harbor 六、客户端测试: 使用系统:ubuntu 20.04.3 harbor依赖于docker、docker-compose,因此下面先安装这两个项目 可以进入清华大学镜像源看下安装步骤 https://mirrors.tuna.tsinghua.edu.cn/help/doc

    2023年04月20日
    浏览(14)
  • Harbor私有仓库搭建并配置https对接docker与kubernetes

    默认情况下,Harbor 不附带证书。可以在没有安全保护的情况下部署 Harbor,以便您可以通过 HTTP 连接到它。在生产环境中,推荐始终使用 HTTPS。要配置 HTTPS,必须创建 SSL 证书。可以使用由受信任的第三方 CA 签名的证书,也可以使用自签名证书。本文以自签名证书为例。 使用

    2024年02月03日
    浏览(28)
  • kubernetes部署应用时从harbor拉取镜像失败:repository does not exist or may require ‘docker login‘

    问题描述: kubernetes部署应用时,pod启动失败,通过kubectl describe pod查看失败原因类似下面的错误: Failed to pull image \\\"xxxx/oneapi-2/authtenantserver:15\\\": rpc error: code = Unknown desc = Error response from daemon: pull access denied for xxxx/oneapi-2/authtenantserver, repository does not exist or may require \\\'docker login\\\'

    2024年02月16日
    浏览(28)
  • 使用Harbor 和 Kraken 优化镜像拉取速

    随着云原生架构被越来越多的企业接受,企业应用中容器集群的规模也越来越大。当容器集群达到一定的规模且单容器应用副本数达到一定级别时,集群中容器镜像的分发将面临挑战。    P2P (Peer-to-Peer,点对点)镜像分发借鉴了互联网P2P文件传输的思路,旨在提高镜像在

    2024年02月08日
    浏览(17)
  • K8s拉取Harbor私有仓库镜像

    提示:需要先部署Harbor私有镜像库。 insecure-registries对应可信任的镜像服务地址,如果有多个地址,还可以用“,”隔开,配置多个。 提示:每个k8s节点都需要配置,完成之后需要重启docker服务。 选择需要的命名空间,创建密文。 如果没有密文,后面的配置,都会明文数据

    2024年02月16日
    浏览(24)
  • harbor https

    192.168.112.99,harbor,centos7 192.168.112.3,测试机,centos7 docker版本:docker-ce 20.10.16(部署参考:https://blog.csdn.net/weixin_41988331/article/details/88743963) docker-compose版本:1.29.2(部署参考:同上,或者下载最新发行版,https://github.com/docker/compose/releases,阿里云) harbor版本:harbor-offline

    2024年01月17日
    浏览(17)
  • docker harbor的安装使用以及镜像上传和拉取

            harbor是一个开源的容器镜像仓库,可用于存储和分发docker镜像。它提供了安全性、标签、注释、审核和访问控制等高级功能。 harbor旨在帮助用户管理和分发docker镜像,并使其更具可信度和可管理性。 下载并安装docker和docker compose,没有下载的可以看这篇文章dock

    2024年01月22日
    浏览(24)
  • Harbor内网离线安装使用HTTPS访问

    重要提醒:使用的是域名形式访问Harbor。通过https://harbor.top访问网址。 1、首先在自己windows电脑 “此磁盘C-Windows-System32-drivers-etc” 修改hosts文件 添加“ip harbor.top”例如:“172.33.33.33 harbor.top” 2、进入内网服务器 172.33.33.33 修改 harbor文件在/root/harbor/ 然后再次文件夹下创建

    2024年02月13日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包