harbor不停机更换自定义证书

news2024/9/20 21:21:18

1、问题起源

今天在使用docker推镜像提示证书问题,查看是harbor的自签名证书过期了,报错如下

在这里插入图片描述

由于harbor是使用helm部署,以容器方式运行在k8s集群中,无法直接修改证书信息,需要通过更新secret更新证书

2、生成自签名证书

X.509证书包含三个文件:key,csr,crt

  • key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密

  • csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名

  • crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息

    备注:在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等

2.1、创建存放证书路径

mkdir -p /data/cert && cd /data/cert

2.2、创建 CA 根证书

openssl req  -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt -subj "/C=CN/L=zhejiang/O=lisea/CN=harbor-registry"
#-days指定过期时间

2.3、生成一个证书签名, 设置访问域名为 kevinharbor.com

openssl req -newkey rsa:4096 -nodes -sha256 -keyout kevinharbor.com.key -out server.csr -subj "/C=CN/L=zhejiang/O=lisea/CN=kevinharbor.com"

2.4、生成主机的证书

openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out kevinharbor.com.crt

3、更新secret

3.1、获取原始secret文件

helm get manifest xxx #找到Secret相关字段如下
apiVersion: v1
kind: Secret
metadata:
  name: xxx-harbor-nginx
  labels:
    heritage: Helm
    release: xxx
    chart: harbor
    app: "harbor"
type: Opaque
data:
  tls.crt: "..."
  tls.key: "..."
  ca.crt: "..."

3.2、使用base64加密自签名证书

3.3、更新secret文件

kubectl create -f secret.yaml

3.4、更新docker依赖的证书即可

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文投稿指南——中文核心期刊推荐(食品工业)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

云计算|OpenStack|社区版OpenStack安装部署文档(二---OpenStack运行环境搭建)

前言: 一个良好的运行环境对于任何一个部署工作来说都是必须的,俗话说 万事开头难,其实很多部署工作失败的原因在于初始环境没有正确的配置,因此,按照官网的部署文档并结合自己的实际情况,配置一个合理的O…

JavaScript对象~

String对象: 它是 JavaScript 的一种基本的数据类型 String 对象的 length 属性声明了该字符串中的字符数,String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串 需要注意的是,Ja…

Java图形化界面---进度条

目录 一、进度条的介绍 二、创建进度条 三、简单案例 四、子线程创建进度条 (1)为什么要使用子线程创建进度条 (2)子线程创建进度条的代码 五、创建进度对话框 (1)如何创建进度对话框 (2&…

win32Openssl -1_1_1下载安装与使用

1、下载 https://mp.csdn.net/mp_blog/creation/editor?spm1001.2014.3001.5352 此处我下载的版本是: 2、安装 双击安装,可以自定义安装路径。我的安装路径是:D:\openssl1\OpenSSL-Win32 3、VS2022中使用 使用场景:计算MD5校…

shiro拦截axios请求导致@RequireRole注解失效

文章目录ShiroRequiresRole注解对于axios请求无效场景再现解决方案网上的解决方案最近在整理一个自己以前做过的系统,想要添加一些功能,发现shiro框架出现了点问题,觉得这个错误应该还是蛮有价值的,就写出来和大家分享下… ShiroR…

PostgreSQL11 | 数据类型和运算符

上一篇文章整理并拓展了原书《PostgreSql11从入门到精通》第四章的内容,详细讲述了有关数据库表的创建、修改与删表 PostgreSQL11 | pgsql建表、改表与删表http://t.csdn.cn/ojgCl这一篇整理并拓展原书第五章(书第73页起)的内容。 数据类型和…

【C++】从0到1入门C++编程学习笔记 - 提高编程篇:模板

文章目录一、模板的概念二、函数模板2.1 函数模板语法2.2 函数模板注意事项2.3 函数模板案例2.4 普通函数与函数模板的区别2.5 普通函数与函数模板的调用规则2.6 模板的局限性三、类模板3.1 类模板语法3.2 类模板与函数模板区别3.3 类模板中成员函数创建时机3.4 类模板对象做函…

【Linux】编辑器——vim的使用

环境:centos7.6,腾讯云服务器Linux文章都放在了专栏:【Linux】欢迎支持订阅🌹vim的基本概念vim是什么?vim是一款多模式的编辑器,是vi的升级版本,在兼容vi指令的同时,还带有一些新的特…

Linux主机下连接远程postgresql数据库、容器版postgresql数据库

背景 简单啰嗦一下背景,想看解决方案的,直接跳过本章节。 最近在预研postgresql的功能,其中有个场景就是需要在系统中ssh到postgresql集群上执行psql命令。但是我只有容器版的postgresql,并不能直接ssh到容器中。而ssh到我自己的…

Spring5 框架新功能(Webflux)

目录 1、SpringWebflux 介绍 2、响应式编程(Java 实现) 3、响应式编程(Reactor 实现) 1、SpringWebflux 介绍 (1)SpringWebflux 是 Spring5 添加新的模块,用于 web 开发的,功能和…

JDBC用PrepareStatement解决SQL注入

什么是sql注入?SQL注入(SQL injection)是因为应用程序在执行SQL语句的时候没有正确的处理用户输入字符串,将用户输入的恶意字符串拼接到了SQL语句中执行,从而导致了SQL注入。例如:当你的用户名为 qwert or 11;# 密码为123&#xf…

springmvc拦截器及源码分析

springmvc拦截器是我们项目开发中用到的一个功能,常常用于对Handler进行预处理和后处理。本案例来演示一个较简单的springmvc拦截器的使用,并通过分析源码来探究拦截器的执行顺序是如何控制的。1、springmvc拦截器使用1.1 项目初始搭建1.1.1 创建一个mav…

如何用ffmpeg截取视频片段截取时间不准确的坑

之前在工作中,有遇到需要程序化截取视频片段的场景,这里使用ffmpeg命令行就可以很容易实现,这里也记录下我们使用过程中遇到的坑,希望对大家也有所帮助。    举个例子,当我们要截取视频文件中input.mp4的第15秒到第9…

windows+python+bleak+BLE低功耗蓝牙通讯连接

前言 1.为什么选bleak   参考这篇知乎:https://zhuanlan.zhihu.com/p/577687336   windows端使用python连接常规的BLE设备(蓝牙4.0),仅考虑bleak模块(排除pybluez、pybluez2、pygatt)。 2.本文主要参…

【c语言】对结构体数组按照某项规则进行排序

这是基于qsort()函数进行的简单排序。(附带其他类型的数组使用qsort()进行的排序) 目录 一、qsort()函数 二、compare()函数 1.结构体数组 1)升序实现 2)降序实现 2.整型数组 为什么不直接返回 a>b(a&#x…

CentOS 下PostgreSQL安装、简单配置及数据迁移(存储目录迁移)

目录 数据库安装 数据库初始化 配置修改 1、修改监听范围 2、修改数据库用户密码 3、开启远程连接 附件内容:PostgreSQL数据迁移 方式一,从新初始化数据库在导出导入 方式二:存储文件物理迁移 数据库安装 安装包下载请参考PG官网(根据…

OAuth2介绍(一)

目录 1. 什么是OAuth2.0 2. OAuth2中的角色 3. 认证流程 4. 生活中的Oauth2思维 5. 令牌的特点 6. OAuth2授权方式 6.1 授权码 6.2 隐藏方式 6.3 密码方式 6.4 凭证方式 7. 流程 7.1 资源所有者 7.2 客户 7.3 客户 7.4 认证服务器 7.5 客户 7.6 资源服务器 1.…

【高并发】- 分布式事务都不会?

前言 本章主要对分布式事务进行梳理和讲解。可能在业务设计过程中,各微服务都采用了独立数据库,所以,这些微服务之间的数据共享有了更高的要求:要解决数据一致性的问题。 1. 数据一致性 数据一致性是指:数据被多次操作…

【自然语言处理】主题建模评估:连贯性分数(Coherence Score)

主题建模评估:连贯性分数(Coherence Score)1.主题连贯性分数 主题连贯性分数(Coherence Score)是一种客观的衡量标准,它基于语言学的分布假设:具有相似含义的词往往出现在相似的上下文中。 如果…