通过docker来搭建Harbor仓库的基本方法

在完成 harbor 搭建前,需安装好 docker 与 docker-compose。docker 的安装命令比较简 单,直接 yum install -y docker。随后启动 docker。然后执行 systemctl start docker 与 systemct enable docker,而 docker-compose 的安装则需要几步。 安装 pip 工具 1.首先检查 linux 有没有安装 python-pip 包,直接执行 yum install python-pip 2.没有 python-pip 包就执行命令 yum -y install epel-release 3.执行成功之后,再次执行 yum install python-pip 4.对安装好的 pip 进行升级 pip install --upgrade pip,如果没必要也可以不升级 至此,pip 工具就安装好了。 接下来执行 pip install -U docker-compose,等待安装成功。查看是否安装成功可输入 docker-compose version 查看版本。


image.png

另一种方式更简单

Github源

Sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-una</u><u>m</u>](https://github.com/docker/compose/releases/download/1.22.0/docker-compose-unam)

e -s-uname -m` -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

这次使用的Harbor仓库镜像来自于Harbor官方,可以选择离线下载或者是在线下载,当下载到物理机后再拖入虚拟机中进行安装。

image.png

点击Download Now,可以发现有许多版本可以下载,我选择的是v1.5.2版本的在线下载(版本1.5的网上教程多,比较新版的配置文件与之有些不同,在对harbor配置文件不熟悉的情况下不建议自己花太多功夫去研究)。


image.png

或者直接敲命令

w****get <u>https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-o</u><u>n</u><u>line-installe-v1.5.</u><u>2</u><u>.tgz</u>

离线下载的指令与之相似,但或许是离线下载的目标更大,我在尝试的时候迟迟拉不下来,因此选择了在线下载。

接下来,tar -****xvf harbor-o****n****line-installer-v1.5.****2****.tgz 解压文件。解压缩后,harbor目录里会生成harbor.cfg配置文件,我们可以在里面更改相应的配置,而相关配置的介绍可以浏览https://www.cnblogs.com/guyeshanrenshiwoshifu/p/9166195.html

image.png

输入命令vi /root/harbor/harbor.cfg,在里面可以设置访问地址,可以是主机名,ip,但不能是127.0.0.1和localhost。注意,我在这里设置的是主机名
image.png

此外,还可以对访问协议进行设置,默认是http,如果设为https,则nginx ssl设置on。登录密码等默认参数也能此进行修改。当改完参数后,在harbor.cfg的目录下执行./install.sh,Harbor服务就会根据当期目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动各服务。
输入等待下载成功后,我们就访问之前设置的ip,即登录http://192.168.3.24。
image.png

登录成功后我们便可以尽情发挥了。
image.png

首先是创建项目,可以设置公有的或者是私有的用于存放上传的镜像。在每个项目中,可以设置成员访问权限,一般可以添加成员角色,设为管理员,开发人员和访客。权限级别从高到低,访客只能拉取镜像而不能上传。
image.png

当选择用户管理的时候,我们可以创建用户。
image.png

若需要推送镜像,则可以根据每个项目里的提示进行相应操作。首先给本地的镜像打上tag,如右下图的格式。然后docker login 192.168.3.24,即使用docker登录harbor,输入你的用户名和密码。在登录成功后才能进行push操作。
image.png

至于如何pull镜像就更简单了,点击library/test就可以查看镜像的pull命令,即下图红框里的那个小方框,点击即可复制pull命令。直接在要下载镜像的机器上输入就OK了,我想这一定难不倒聪明的你。
image.png

接下来,我们将尝试在rancher上使用harbor仓库进行应用的部署。部署方法和之前的发过的文档一样。如下图,点击启动即可,容器端口要视被部署的应用而定。

在从harbor仓库中拉取镜像部署遇到过的问题:
这是我在部署集群时曾出现的问题,以下是尝试解决的方法之一,在跟rancher大牛的的沟通中逐渐排查问题,最终成功地从harbor仓库中拉取了镜像。


image.png

image.png

首先看pod 的event,表示节点的内存不足,调度不下去了。


image.png

但是,这样也算内存不足吗?虽然内存占用了许多,但还是有空间是可以部署负载的。
image.png

然后在集群的全局中,执行kubectl命令行。
image.png

输入kubectl top no,查看集群CPU和内存的使用率,发现也不是内存不足的问题。

image.png

这就让人感到奇怪了,直接部署一个标准的nginx是完全没问题的,但将标准nginx推送到私有仓库再部署却不行。
在跟rancher大牛确认仓库权限是公开的之后,接下来执行命令
kubectl run nginx-test --image=xxxx/public/nginx-test:1
然后执行这条kubectl get po | grep nginx-test,如下图,显示拉取失败。
image.png

再执行kubectl describe po nginx-test-xxx-xxx,查看event,发现不能拉取该指定镜像。
image.png

image.png

直接去node节点中docker pull xxxx,连接被拒绝。
image.png

尝试修改docker daemon配置文件,我曾疑惑是否需要将 ["0.0.0.0/0"]改成本机ip,但对方说不需要,这是通配符,将下面这段命令在k8s里面的worker节点挨个走一遍。
cat << EOF > /etc/docker/daemon.json
{
"insecure-registries" : ["0.0.0.0/0"],
"registry-mirrors": ["https://4wmjwi37.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker

输入sudo docker info,被大牛告知下图这个参数需要打开,但不是拉取不了镜像的主要问题,打开方式在官方文档里有教程。

image.png

image.png

最后输入kubectl get po | grep nginx-test,发现镜像已经处于Running的状态。
image.png

回到rancher ui,惊喜地发现负载已经部署成功了。
image.png

总结:这些奇怪的问题是集群创建及使用过程中的一些最佳实践以及参数调优等等做的不完备导致的。一般来说,社区用户难免会会遇到这样或那样的问题,所以文档要多读读。
当然,很多问题如果是订阅用户就可以避免掉,最开始集群创建的时候,一些主机参数调优集群配置等,都会结合我们诸多生产经验去优化,尽量从源头避免问题的发生节约我们宝贵的时间和精力。
https://www.cnblogs.com/huangjc/p/6420355.html(harbor使用:修改80端口)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容