k8s使用helm部署Harbor镜像仓库并启用SSL

1、部署nfs存储工具

参照:https://zhaoll.blog.csdn.net/article/details/128155767

2、部署helm

有多种安装方式,根据自己的k8s版本选择合适的helm版本
参考:https://blog.csdn.net/qq_30614345/article/details/131669319

3、部署Harbor

我们这里使用helm安装harbor,项目地址:https://github.com/goharbor/harbor-helm
(1)拉取项目文件

helm repo add harbor https://helm.goharbor.io
helm repo update
helm pull harbor/harbor

(2)解压并修改配置
tar -zxf v1.12.2.tar.gz && cd harbor-helm
要修改的地方如下:
1)values.yaml:

expose:
  type: nodePort
  tls:
    enabled: true
    certSource: auto
    auto:
      commonName: "harbor.service.com"
    secret:
      secretName: "harbor.service.com"
      notarySecretName: ""
  ingress:
    hosts:
      core: harbor.service.com
      notary: harbor.service.com

externalURL: https://myharbor.com

2)将values.yaml文件内所有的storageClass: " "改为storageClass: “master-nfs-storage”.

修改完成后部署:

helm install harbor . -f values.yaml -n harbor

注意自己的服务器内存和CPU资源是否充足,不然起不来。

[root@master01 harbor]# kubectl get pod,pvc,svc -n harbor
NAME                                        READY   STATUS    RESTARTS        AGE
pod/harbor-core-5dd768f6fb-nfjpj            1/1     Running   0               7m46s
pod/harbor-database-0                       1/1     Running   0               7m46s
pod/harbor-jobservice-74dbdbf858-k79cd      1/1     Running   3 (7m20s ago)   7m46s
pod/harbor-nginx-69dc9c79b5-c86tq           1/1     Running   0               7m46s
pod/harbor-notary-server-5d7878fbf-bkpfm    1/1     Running   0               7m46s
pod/harbor-notary-signer-85d7c867dd-6smzt   1/1     Running   0               7m46s
pod/harbor-portal-8f85bbc8f-mzmpb           1/1     Running   0               7m46s
pod/harbor-redis-0                          1/1     Running   0               7m46s
pod/harbor-registry-7546f96ff-9s7qb         2/2     Running   0               7m46s
pod/harbor-trivy-0                          1/1     Running   0               7m46s

NAME                                                    STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS         AGE
persistentvolumeclaim/data-harbor-redis-0               Bound    pvc-35403a12-088f-4428-9b76-9b5ce65f9093   1Gi        RWO            master-nfs-storage   41m
persistentvolumeclaim/data-harbor-trivy-0               Bound    pvc-7a1101b7-7b75-4f7d-9597-685ed6b9522a   1Gi        RWO            master-nfs-storage   41m
persistentvolumeclaim/database-data-harbor-database-0   Bound    pvc-4f9ed9f6-4d2f-40a2-93e8-04e8d41840e8   1Gi        RWO            master-nfs-storage   41m
persistentvolumeclaim/harbor-jobservice                 Bound    pvc-97e92430-60e2-4cee-9b35-62e32b3695c4   1Gi        RWO            master-nfs-storage   41m
persistentvolumeclaim/harbor-registry                   Bound    pvc-c6c393bd-9c24-4553-b315-662e26b76816   1Gi        RWO            master-nfs-storage   41m

NAME                           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                                     AGE
service/harbor                 NodePort    10.104.21.19     <none>        80:31002/TCP,443:31003/TCP,4443:31004/TCP   7m47s
service/harbor-core            ClusterIP   10.107.252.158   <none>        80/TCP                                      7m47s
service/harbor-database        ClusterIP   10.104.63.223    <none>        5432/TCP                                    7m47s
service/harbor-jobservice      ClusterIP   10.107.132.71    <none>        80/TCP                                      7m47s
service/harbor-notary-server   ClusterIP   10.101.112.227   <none>        4443/TCP                                    7m47s
service/harbor-notary-signer   ClusterIP   10.106.252.215   <none>        7899/TCP                                    7m47s
service/harbor-portal          ClusterIP   10.105.233.89    <none>        80/TCP                                      7m47s
service/harbor-redis           ClusterIP   10.102.76.99     <none>        6379/TCP                                    7m47s
service/harbor-registry        ClusterIP   10.99.69.186     <none>        5000/TCP,8080/TCP                           7m47s
service/harbor-trivy           ClusterIP   10.106.20.0      <none>        8080/TCP                                    7m46s

可以看到https的443端口对应的是主机的31003端口

4、修改客户机的hosts文件,添加一行

11.0.1.7   harbor.service.com

打开浏览器访问测试:
地址https://harbor.service.com:31003/,用户名admin,密码Harbor12345

在这里插入图片描述

4、containerd连接harbor仓库

未完 待续。。。

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

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

相关文章

matplotlib从起点出发(4)_Tutorial_4_Lifecycle

1 一幅图像的生命周期 本教程旨在揭示使用matplotlib绘制的一幅图像的生命周期&#xff0c;包括它的开始、中间和结束。我们将从一些原始数据开始&#xff0c;最后保存自定义可视化的图形。在此过程中&#xff0c;我们尝试使用matplotlib突出一些简洁的功能和最佳实践。 2 关…

三子棋(超详解+完整码源)

三子棋 前言一&#xff0c;游戏规则二&#xff0c;所需文件三&#xff0c;创建菜单四&#xff0c;游戏核心内容实现1.棋盘初始化1.棋盘展示3.玩家下棋4.电脑下棋5.游戏胜负判断6.game&#xff08;&#xff09;函数内部具体实现 四&#xff0c;游戏运行实操 前言 C语言实现三子棋…

maven

一、为什么需要使用maven 如今我们构建一个项目需要用到很多第三方的类库 &#xff0c;例如我们在开发项目中 需要引入 这些依赖jar包 一个项目Jar包的数量之多往往让我们瞠目结舌&#xff0c;并且Jar包之间的关系非常复杂&#xff0c;一个Jar包往往又会引用其他Jar包&#x…

安全学习DAY07_其他协议抓包技术

协议抓包技术-全局-APP&小程序&PC应用 抓包工具-Wireshark&科来分析&封包 TCPDump&#xff1a; 是可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤&#xff0c;并提供and、or、not等逻辑语句来帮助你去掉无用…

stable diffusion如何确保每张图的面部一致?

可以使用roop插件&#xff0c;确定好脸部图片后&#xff0c;使用roop固定&#xff0c;然后生成的所有图片都使用同一张脸。 这款插件的功能简单粗暴&#xff1a;一键换脸。 如图所示&#xff1a; 任意上传一张脸部清晰的图片&#xff0c;点击启用。 在其他提示词不变的情况下…

赛多利斯Sartorius天平java后端对接

业务场景 要将赛多利斯天平的数据读出来解析并且显示到对应的数字框,支持一台设备连接多种精度的天平 后端实现 通过协议解析数据,然后将数据存储 详细代码就不贴了,感兴趣的可以私聊我

GPT-AI 使用的技术概览

ChatGPT 使用的技术概览 智心AI-3.5/4模型&#xff0c;联网对话&#xff0c;MJ快速绘画 从去年 OpenAI 发布 ChatGPT 以来&#xff0c;AI 的能力再次惊艳了世人。在这样的一个时间节点&#xff0c;重新去学习相关技术显得很有必要。 ChatGPT 的内容很多&#xff0c;我计划采用…

3ds Max图文教程: 创建致命的冠状病毒动画

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 病毒建模 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 在透视视口中创建一个半径为 50&#xff0c;线段为 20 的 GeoSphere。 创建地球 步骤 3 打开修改器列表并将置换修改器应用于地理 球。 置换…

Linux系统MySQL中用户的权限管理

本节主要学习用户权限管理的概述&#xff0c;用户权限类型&#xff0c;用户赋权&#xff0c;权限删除&#xff0c;用户删除等。 目录 一、概述 二、用户权限类型 三、用户赋权 四、权限删除 五、用户删除 一、概述 数据库用户权限管理是数据库系统中非常重要的一个方面&am…

Dockerfile 创建镜像,构建LNMP+wordpress架构

目录 一、Dockerfile 构建镜像 1.Dockerfile 构建 nginx镜像 1.1创建 nginx Dockerfile 目录 1.2编写 Dockerfile 文件 1.3构建nginx镜像 2.Dockerfile 构建 mysql 镜像 2.1创建 mysql Dockerfile 目录 2.2修改mysql配置文件 2.3编写 Dockerfile 文件 2.4构建mysql镜…

ChatGPT伦理挑战:人工智能的权利与责任

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

全志F1C200S嵌入式驱动开发(触摸屏驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 触摸屏一般有两种,一种是电阻触摸屏,一种是电容触摸屏。前者需要自己买一颗i2c的信号读取芯片,用的比较多的是ns2009。后者自身集成了读取芯片,用的比较多的是gt911。正好之前测…

(十三)定时任务

以下内容来自 尚硅谷&#xff0c;写这一系列的文章&#xff0c;主要是为了方便后续自己的查看&#xff0c;不用带着个PDF找来找去的&#xff0c;太麻烦&#xff01; 第 13 章 定时任务 13.1 什么是定时任务 1、InfluxDB任务是一个定时执行的FLUX脚本&#xff0c;它先查询数据…

Docker啥是数据持久化?

文章目录 数据持久化数据卷相关命令创建读写数据卷创建只读数据卷数据卷共享数据卷容器实现数据卷共享nginx实现数据卷共享nfs总结 Dockerfile持久化Dockerfile方式docker run总结 数据持久化 ​ 在容器层的 UnionFS&#xff08;联合文件系统&#xff09;中对文件/目录的任何修…

SRC | 逻辑漏洞原理及实战

前言 作者简介&#xff1a;不知名白帽&#xff0c;网络安全学习者。 博客主页&#xff1a;不知名白帽_网络安全,CTF,内网渗透-CSDN博客 网络安全交流社区&#xff1a;https://bbs.csdn.net/forums/angluoanquan 目录 逻辑漏洞基础 概述 分类 URL跳转漏洞 概述 危害 漏洞…

Android:RecyclerView封装,打造列表极简加载

前言 mBinding.recycler.linear().divider().set<OrdinaryListBean> {addLayout(R.layout.layout_ordinary_item)}.setList(getList()) 如果我要说&#xff0c;除了数据和布局之外&#xff0c;以上的几行代码&#xff0c;就实现了一个列表加载&#xff0c;有老铁会相信…

Django学习笔记-表单(forms)的使用

在Django中提供了了form表单&#xff0c;可以更为简单的创建表单模板信息&#xff0c;简化html的表单。 一、网页应用程序中表单的应用 表单通常用来作为提交数据时候使用。 1.1 创建表单模板文件夹 在项目文件夹下创建一个template文件夹&#xff0c;用于存储所有的html模…

XCP详解「总目录」

目录 XCP详解「总目录」 1 概览 2 理论 3 实践 4 其他 XCP详解「总目录」 基础学习&#xff0c;慢慢补充 1 概览 2 理论 3 实践 XCP详解「3.1ASAP2新建A2L文件」 XCP详解「3.2CANape新建工程导入A2L」 XCP详解「3.3A2L信号添加和更新」 XCP详解「3.4CANape中新建A2L文…

学习 C语言第二天 :C语言数据类型和变量(下)

目录&#xff1a; 1.变量的介绍以及存储 2.算术操作符、赋值操作符、单目操作符 3.scanf和printf的介绍 1.变量的介绍以及存储 1.1.变量的创建 了解了什么是类型了&#xff0c;类型是用来创建变量的。 变量是什么呢&#xff1f;在C语言当中不经常变的量称为常量&#xff0c;经常…

Qt : day1

1.聊天界面 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {qDebug() << this->size(); //获取当前页面尺寸this->setFixedSize(500, 600); //设置固定尺寸this->setWindowTitle("聊天框"); //设置窗口…