【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,访问URL

./install.sh

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

七.配置containerd拉取docker镜像

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

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,成功拉取镜像

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/228503.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

线程池的使用及实现

使用多进程进行并发编程&#xff0c;会频繁的创建销毁进程&#xff0c;效率比较慢&#xff0c;所以引入了线程&#xff0c;线程使用复用资源的方式提高了创建销毁的效率&#xff0c;但是随着创建线程的频率进一步提高&#xff0c;开销仍然无法忽略不计了。 要想办法优化此处线…

详解单链表OJ题

链表OJ经典题目 一.删除链表中等于给定值 val 的所有结点leetcode链接 二.给定一个带有头结点 head 的非空单链表&#xff0c;返回链表的中间结点。如果有两个中间结点&#xff0c;则返回第二个中间结点leetcode链接 三.反转一个单链表leetcode链接 四.输入一个链表&#xff0c…

HarmonyOS学习 第1节 DevEco Studio配置

俗话说的好&#xff0c;工欲善其事,必先利其器。我们先下载官方的开发工具DevEco Studio. 下载完成后&#xff0c;进行安装。 双击DevEco Studio&#xff0c;点击Next按照指引完成安装 重新启动DevEco&#xff0c;点击 Agree 进入环境配置&#xff0c;安装Node.js和ohpm 点击Ne…

蓝牙物联网对接技术难点有哪些?

#物联网# 蓝牙物联网对接技术难点主要包括以下几个方面&#xff1a; 1、设备兼容性&#xff1a;蓝牙技术有多种版本和规格&#xff0c;如蓝牙4.0、蓝牙5.0等&#xff0c;不同版本之间的兼容性可能存在问题。同时&#xff0c;不同厂商生产的蓝牙设备也可能存在兼容性问题。 2、…

STM32 HAL库代码编程风格--STM32外设结构体代码风格

1.HAL库代码风格理解 I/O、UART、SPI、USB、IIC等外设结构体总结 1、GPIO外设 GPIO只有初始化结构体。只需要定义初始化结构体即可(GPIO_InitTypeDef GPIO_InitStruct;)&#xff0c;内部成员都可通过初始化结构体引用。 2、UART外设 UART、IIC、SPI等外设&#xff08;除I/O外…

windows系统nodeJs报错node-sass npm ERR! command failed

报错信息 npm WARN deprecated request2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated tar2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asa…

英文作文AI创作工具,怎么用AI批量写英文作文

在当今全球化的时代&#xff0c;良好的英语写作能力不仅仅是学业成功的关键&#xff0c;更是职场竞争中的重要技能。随着科技的不断发展&#xff0c;我们现在有了更多的工具可以辅助我们提升英语写作水平。在这篇文章中&#xff0c;我将为大家推荐5种强大的AI写作工具&#xff…

C++基础 -42- STL库之list链表

———————STL库之list链表——————— &#x1f384; list链表的格式(需要定义头文件) list<int> data1(4, 100);list<int> data2(4, 500);&#x1f384;list链表的合并接口 &#x1f384;举例使用合并接口并且验证 data2.merge(data1);list<int>::…

探索低代码的潜力、挑战与未来展望

低代码开发作为一种新兴的开发方式&#xff0c;正在逐渐改变着传统的编程模式&#xff0c;低代码使得开发者无需编写大量的代码即可快速构建各种应用程序。然而&#xff0c;低代码也引发了一系列争议&#xff0c;有人称赞其为提升效率的利器&#xff0c;也有人担忧其可能带来的…

大数据毕业设计之前端02:架构布局和aside的设计

前言 上一篇主要讲了我学习前端的一个经历&#xff0c;以及为什么选择BuildAdmin作为深入前端学习的原因.同事也大致聊了一下学习前端需要使用哪些技术栈。 本篇文章来拆解一下BuildAdmin的前端代码结构&#xff0c;和布局实现的细节。 前端代码结构 必须先了解项目的结构&…

2.vue学习笔记(目录结构+模板语法+属性绑定)

1.目录结构 1.vscode ——VSCode工具的配置文件夹 2.node_modules ——Vue项目的运行依赖文件夹 3.public ——资源文件夹&#xff08;浏览器图标&#xff09; 4.src ——源码文件夹 5..gitgnore ——git忽略文件 6.index.html ——如果html文件 7.package.json —…

两数之和(map结构解决)

/*** param {number[]} nums* param {number} target* return {number[]}*/ var twoSum function(nums, target) {let mapIds new Map()for (const [index, item] of nums.entries()) {// 利用map结构不重复的特点&#xff0c;用目标值减去当前值&#xff0c;也就是 9-27// 然…

如何进行代码混淆?方法与常见工具介绍

​ 如何进行代码混淆&#xff1f;方法与常见工具介绍 目录 什么是代码混淆&#xff1f; 代码混淆的方法 常见代码混淆工具 什么是代码混淆&#xff1f; 代码混淆是指将计算机程序的代码转换成一种功能上等价&#xff0c;但难于阅读和理解的形式的行为。混淆后的代码很难被…

P2 Qt Creator创建第一个Qt程序

前言 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ &#x1f525; 推荐专栏2: 《LLinux C应用编程&#xff08;概念类&#xff09;_ChenPi的博客-CSDN博客》✨✨✨ &#x1f33a;本篇简介 &#xff1a;这一章我们学…

远程调试Linux服务器上的代码

远程调试Linux服务器上的代码 首先我们的环境有本地环境还有研发环境&#xff0c;本地环境就是我们本地电脑上面的代码&#xff0c;而研发环境就是我们开发好一个功能&#xff0c;发到一个linux服务器上面的代码&#xff1b;但是有些时候&#xff0c;研发环境上面的代码可能会…

实时视频美颜:美颜SDK选择指南与性能比较

如今&#xff0c;实时视频美颜技术逐渐成为开发者和用户关注的焦点。本文将通过探讨美颜SDK的选择指南以及性能比较&#xff0c;开发者们可以作为参考&#xff0c;以此选择更合适的美颜SDK。 一、美颜SDK的选择指南 1.1目标应用场景 在选择美颜SDK之前&#xff0c;首先需要…

打工人副业变现秘籍,某多/某手变现底层引擎-StableDiffusion模型下载使用

一、模型的概念 首先要了解 Stable Diffusion 中的模型概念是什么?维基百科对模型的定义非常简单:用一个较为简单的东西来代表另一个东西。换句话说,模型代表的是对某一种事物的抽象表达。 在 AIGC 领域,为了使机器表现出智能,研发人员使用机器学习的方式让计算机从数据中…

Cloak斗篷技术不知道?超实用干货,FP商家必读!

都2023年了&#xff0c;还有很多人犹豫要不要入局独立站。心动不如行动&#xff0c;如果想要在跨境独立站中干出一番新事业&#xff0c;要赶紧动起来。部分卖家在出海初期&#xff0c;都想着出售FP产品&#xff0c;涉及到FP产品&#xff0c;各大主流平台上都有严格的审核机制&a…

生产上线需要注意的安全漏洞

一、关闭swagger 1、关闭swagger v3 # 需同时设置auto-startupfalse&#xff0c;否则/v3/api-docs等接口仍能继续访问 springfox:documentation:enabled: falseauto-startup: falseswagger-ui:enabled: false 2、关闭swagger v2 # 只要不是true就不启用 swagger:enable: fa…

【面试经典150 | 二叉树】相同的树

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;递归方法二&#xff1a;迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题…