如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!

2022年05月12日 阅读数:3
这篇文章主要向大家介绍如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!_云计算


      hello 你们好,我是李大白。nginx

      本篇文章主要分享一个小白如何快速的维护好公司的Harbor服务器。redis


场景

公司的Harbor服务器忽然出现故障,服务异常!负责维护的人跟女友去酒店开房了,没法联系。docker

值班的人员对Harbor也不熟悉。那么,如何防止这种状况的发生呢?json

本篇文章总结Harbor经常使用的管理操做,就算小白不知道对Harbor不熟,也能够完成一些基础的管理操做。vim


一、链接到Harbor服务器的主机

虽然Harbor提供丰富的安装方式,但在企业的业务场景中,使用较多的仍是【离线安装】的,即在某台物理主机(服务器)上部署Harbor服务。tomcat

本文也主要分享这种部署方式的维护。服务器

要想维护,首先得知道Harbor服务器的IP地址,以及链接这台主机的用户名和密码。app


二、找到Harbor服务的服务目录

Harbor服务是使用docker-compose的方式启动的容器,须要进入到Harbor的部署的目录里面。运维

  • 查询Harbor部署目录在哪?
[root@Over ~]# sudo find  /  -name harbor.yml  -type  f
/app/harbor/harbor.yml

根据harbor的配置文件来查找harbor的部署目录。再cd进入到该目录里面。tcp

[root@Over ~]# cd /app/harbor
[root@Over harbor]# ls
common data harbor.yml install.sh
manifest.json muli.com.crt muli.com.key repositories
common.sh docker-compose.yml harbor.yml.tmpl
LICENSE metrics.txt muli.com.csr prepare


三、查看Harbor服务状态

[root@Over harbor]# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------------------------------------
chartmuseum ./docker-entrypoint.sh Up (healthy)
harbor-core /harbor/entrypoint.sh Up (healthy)
harbor-db /docker-entrypoint.sh 96 13 Up (healthy)
harbor-exporter /harbor/entrypoint.sh Up
harbor-jobservice /harbor/entrypoint.sh Up (healthy)
harbor-log /bin/sh -c /usr/local/bin/ ... Up (healthy) 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Up (healthy)
nginx nginx -g daemon off; Up (healthy) 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp,
0.0.0.0:9090->9090/tcp
notary-server /bin/sh -c migrate-patch - ... Up
notary-signer /bin/sh -c migrate-patch - ... Up
redis redis-server /etc/redis.conf Up (healthy)
registry /home/harbor/entrypoint.sh Up (healthy)
registryctl /home/harbor/start.sh Up (healthy)
trivy-adapter /home/scanner/entrypoint.sh Up (healthy)

如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!_运维_02

Name列:Harbor中每一个组件的名称;

Command列:启动组件的命令和参数;

State列:组件的服务状态,up表示正常,也主要是看该列。这里有问题就表示某个组件异常了。


四、如何将镜像上传到Harbor上?

  • 找台跟Harbor服务器能通的主机(或者Harbor主机亦可);
  • 主机安装有docker服务;
  • docker配置文件中指定harbor服务器地址;
  • docker login 登陆harbor服务器;
  • 将镜像经过docker load  -i 上传到本地;
  • 将镜像从新打tag为:harbor地址:端口/项目名称/镜像名称:镜像标签  的格式
  • docker push 推送刚tag好的镜像到Harbor中;


4.1 docker配置文件中添加harbor服务器信息

[root@Over harbor]# vim  /etc/docker/daemon.json 
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://registry.docker.cn.com"],
"insecure-registries": ["192.168.2.250:443"]
}

添加insecure-registries这一行,[]的内容为Harbor的地址和服务端口。

注意该行的前面一行的末尾处要有逗号。

4.2 从新加载docker服务的配置并重启docker服务

[root@Over harbor]# systemctl daemon-reload 
[root@Over harbor]# systemctl restart docker


4.3  命令行登陆Harbor

[root@Over harbor]# docker  login 192.168.2.250:443
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

4.4 导入镜像包到本地

将封装好的镜像包到本地,本处以nginx.tar.gz为例。

[root@Over harbor]# docker load  -i  tomcat.tar.gz
[root@Over harbor]# docker ps //查看本地的镜像
tomcat 8.5.34-jre8-alpine 4ac473a3dd92 3 years ago 108MB

4.5 给镜像打Tag

将刚才导入到本地主机的tomcat镜像tag成lidabai项目(Project)中,tag就须要打为:

# docker tag tomcat:8.5.34-jre8-alpine 192.168.2.250:443/lidabai/tomcat:8.5.34-jre8-alpine

如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!_云计算_03

若是要上传到哪一个项目中,就须要将lidabai改为对应的项目名称(前提是Harbor中已经存在该项目)


4.6 将Tag好的镜像Push到Harbor中

docker  push 192.168.2.250:443/lidabai/tomcat:8.5.34-jre8-alpine

如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!_云计算_04

镜像上传完成!


五、重启Harbor服务器

  • 先中止Harbor服务器
[root@Over harbor]# docker-compose down

如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!_云原生_05

  • 启动Harbor服务器
[root@Over harbor]# docker-compose  up  -d

如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!_云计算_06

  • 而后再检查Harbor服务状态
[root@Over harbor]# docker-compose ps

如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!_docker_07