第五章 配置私有仓库Harbor
一、Harbor 安装(尚硅谷资料)
安装:Harbor 官方地址:官方地址:https://github.com/vmware/harbor/releases
1、解压软件包
tar xvf harbor-offline-installer-<version>.tgz https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz
2、配置harbor.cfga
必选参数
- hostname:目标的主机名或者完全限定域名:目标的主机名或者完全限定域名
- ui_url_protocol::http或或https。默认为。默认为http
- db_password:用于db_auth的的MySQL数据库的根密码。更改此密码进行任何生产用途数据库的根密码。更改此密码进行任何生产用途
- max_job_workers:(默认值为:(默认值为3)作业服务中的复制工作人员的最大数量。对于每个映像复制作业,)作业服务中的复制工作人员的最大数量。对于每个映像复制作业,工作人员将存储库的所有标签同步到远程目标。增加此数字允许系统中更多的并发复制作业。但是,由于每个工工作人员将存储库的所有标签同步到远程目标。增加此数字允许系统中更多的并发复制作业。但是,由于每个工作人员都会消耗一定数量的网络作人员都会消耗一定数量的网络/ CPU / IO资源,请根据主机的硬件资源,仔细选择该属性的值资源,请根据主机的硬件资源,仔细选择该属性的值
- customize_crt:(:(on或或off。默认为。默认为on)当此属性打开时,)当此属性打开时,prepare脚本将为注册表的令牌的生成脚本将为注册表的令牌的生成/验证创验证创建私钥和根证书建私钥和根证书
- ssl_cert::SSL证书的路径,仅当协议设置为证书的路径,仅当协议设置为https时才应用时才应用
- ssl_cert_key:SSL密钥的路径,仅当协议设置为密钥的路径,仅当协议设置为https时才应用时才应用
- secretkey_path:用于在复制策略中加密或解密远程注册表的密码的密钥路径:用于在复制策略中加密或解密远程注册表的密码的密钥路径
3、创建 https 证书以及配置相关目录权限
openssl genrsa -des3 -out server.key
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
ope nssl rsa -in server.key.org -out server.key
ope nssl x509 -req -days -in server.csr -signkey server.key -out server.crt
mkdir /data/cert
chmod -R /data/cert
4、运行脚本进行安装
./install.sh
5、访问测试
https://reg.yourdomain.com 的管理员门户(将的管理员门户(将reg.yourdomain.com更改为您的主机名更改为您的主机名harbor.cfg)
请注意,默认管理员用户名认管理员用户名/密码为密码为admin / Harbor12345
6、上传镜像进行上传测试、上传镜像进行上传测试
a、指定镜像仓库地址、指定镜像仓库地址
vim /etc/docker/daemon.json { "insecure-registries": ["serverip"] }
b、下载测试镜像
docker pull hello-world
c、给镜像重新打标签
docker tag hello-world serverip/hello-world:latest
d、登录进行上传
docker login serverip
7、其它 Docker 客户端下载测试
a、指定镜像仓库地址(serverip指自身设置的地址,如我的:hub.lqz.com)
vim /etc/docker/daemon.json { "insecure-registries": ["serverip"] }
b、下载测试镜像
docker pull serverip/hello-world:latest
二、自身安装过程
1、编辑daemon.json文件
vim /etc/docker/daemon.json
添加字符串:"insecure-registries":["https://hub.lqz.com"]
开启docker:
systemctl restart docker
2、创建harbor文件夹,将docker.compose放入并授权
3、创建证书
vim harbor.cfg
创建证书
① 生成私钥: openssl genrsa -des3 -out server.key 2048
密码:root123
② 创建证书的请求csr:
openssl req -new -key server.key -out server.csr
③ 备份私钥
cp server.key server.key.org
④ 转换成自己的证书(退出密码)
openssl rsa -in server.key.org -out server.key
⑤ 拿证书请求去签名
openssl x509 -req -days -in server.csr -signkey server.key -out server.crt echo "192.168.100.168 hub.lqz.com" >> /etc/hosts
⑥ 在计算机里修改hosts文件
C:\Windows\System32\drivers\etc hosts文件
用管理员权限向文件添加 192.168.100.168 hub.lqz.com
⑦ 用浏览器访问 hub.lqz.com
默认账号:admin;密码:Harbor12345
可在vim harbor.cfg 文件中查看
三、使用镜像仓库harbor上传下载自定义镜像
1、重新启动harbor
cd /usr/local/harbor/
./install.sh
2、通过外网,使用docker pull 命令下载一个外部服务器中的镜像文件用与测试
docker pull nginx
3、登录harbor镜像仓库服务器
docker login hub.lqz.com
其中hub.lqz.com为自己企业镜像仓库的域名
4、查看镜像docker images
5、对下载的镜像打标签,用于后面的上传操作
docker tag docker.io/nginx:latest hub.lqz.com/library/nginx:latest
6、上传至镜像仓库,其中library为镜像仓库中默认的项目名称,如需要上传到其他项目文件中,请自行修改为对应的项目文件名
docker push hub.lqz.com/library/nginx:latest
7、登录harbor镜像仓库的UI界面,查看上传的镜像
8、使用镜像仓库下载镜像文件,命令为:
docker pull hub.lqz.com/library/nginx:latest
9、删除镜像
docker rmi -f hub.lqz.com/library/nginx:latest
参照链接:https://jingyan.baidu.com/article/4b52d702e62167fc5c774b3b.html
四、遇到问题:
1、ssh登录错误ECDSA host key for ip has changed解决方案
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ The ECDSA host key for k8s-node01 has changed, and the key for the corresponding IP address 192.168.100.85 is unknown. This could either mean that DNS SPOOFING is happening or the IP address for the host and its host key have changed at the same time. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:HJ7t/uY0mjFJng9mYzqw7LBxVDQftfHgBJsAlGBOPjM. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /root/.ssh/known_hosts:1 ECDSA host key for k8s-node01 has changed and you have requested strict checking. Host key verification failed. lost connection |
问题产生原因:
设置node节点为同一台主机(系统重装)IP地址不一样,master连接时再次访问此ip服务器时,因为ssh会自动匹配之前ssh保存的信息,由于我们的服务器做了更改,会导致本地保存的ssh信息失效,于是再次连接时就会出现上述错误。
解决方案:
删除本地known_hosts里面的缓存信息即可。命令:ssh-keygen -R "你的远程服务器ip地址"
注意:R是大写!
链接:https://blog.csdn.net/yunweifun/article/details/78763026
2、出现端口不能连接问题
ssh: connect to host k8s-node01 port 22: No route to host
lost connection
vim修改/etc/hosts下对应的IP地址就恢复了
这篇随笔有很多重复的东西,但我没选择删除,因为我觉得知识就是一个不短重复积累的过程,加油啦!
链接:https://www.bilibili.com/video/av66617940/?p=14
第五章 配置私有仓库Harbor的更多相关文章
- 菜鸟系列docker——搭建私有仓库harbor(6)
docker 搭建私有仓库harbor 1. 准备条件 安装docker sudo yum update sudo yum install -y yum-utils device-mapper-per ...
- Kubernetes-5:搭建企业级私有仓库Harbor
搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...
- Kubernets二进制安装(5)之私有仓库harbor搭建
在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/ha ...
- 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像
❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...
- 物联网架构成长之路(44)-Docker私有仓库Harbor
0. 前言 安装docker.docker-compose,这些在我以前的博客讲过,这里就不继续说明了,有需要的可以参考我之前的博客. https://www.cnblogs.com/wunaozai ...
- docker私有仓库-harbor
简单说一下Harbor的部署,踩了几个坑,参考同事大神的配置文件,一脸懵逼的部署出来了,其中部分内容参考了网上一些大神的文档,本篇文章仅供参考学习,如有雷同,万分荣幸. 这篇文档仅限于centos7参 ...
- 企业级Docker私有仓库Harbor
一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docke ...
- 配置私有仓库(使用registry镜像搭建一个私有仓库)
在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便:另外有时候只是希望在内部用户之间进行分享,不希望暴露出去.这种情况下,就有必要搭建一个本地 ...
- docker 私有仓库 harbor docker-compose
c创建docker私有仓库 docker pull registry:2.1.1 mkdir /opt/registry#mkdir /var/lib/registry docker run -d - ...
随机推荐
- HTML转成Excel设置单元格格式(文本)
1) 文本:vnd.ms-excel.numberformat:@ 2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd 3) 数字:vnd.ms-excel.numb ...
- python问答
1)什么是Python?使用Python有什么好处? Python是一种编程语言,包含对象,模块,线程,异常和自动内存管理.Python的好处在于它简单易用,可移植,可扩展,内置数据结构,并且它是一个 ...
- go语言从例子开始之Example4.常量
Go 支持字符.字符串.布尔和数值 常量 . package main import "fmt" import "math" const 用于声明一个常量. c ...
- c++网络库之 poco
java 不好吗?java面向对象很好啊. poco 做的像 java 用起来更面向对象,这是优势.开发速度提升很多.boost 那种是给大牛看的.我觉得 poco 用起来方便,不清楚的地方随时看源码 ...
- C#中using语句是什么意思
使用using语句最终生成的其实是一个try, finally代码块,在finally代码块里释放资源.要求是:为 using 语句提供的对象必须实现 IDisposable 接口.此接口提供了 Di ...
- c++11 继承构造函数
若基类拥有数量众多的不同版本的构造函数,而派生类中只有一些成员函数,则对于派生类而言,其构造函数就等同于构造基类. struct A { A(int i) {} A(double d, int i) ...
- Druid数据源配置入门
Druid是什么 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBos ...
- bzoj 2013
http://www.lydsy.com/JudgeOnline/problem.php?id=2013 最初看这个题的时候,以为神题不可做,然后去找yzjc..然后做法过于简单了(' ' ...
- hdu 4826 Labyrinth(简单dp)
Description 度度熊是一只喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一格,且只能向上向下向 ...
- prototype、proto和constructor 关系
记录: 1.构造函数:如下,Foo()就是一个构造函数 function Foo(){} 2.prototype:每一个构造函数都有一个属性叫prototype,相当于一个指针,指向它的原型对象 Fo ...