k8s搭建安装 Harbor 私有镜像仓库(详细) wangzy

一、设置主机名(可忽略)

# 设置 Harbor 服务器主机名
hostnamectl set-hostname harbor.wangzy.com

二、安装docker 服务

安装 Docker 服务并配置阿里云加速器

1、安装基础软件包

yum -y install yum-utils device-mapper-persistent-data lvm2 

2、配置 YUM 镜像仓库

yum-config-manager --add-repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装 Docker 服务

yum list docker-ce --showduplicates|sort -r   # 查询docker版本
yum -y install docker-ce-18.09.8   # 安装指定版本,根据生产环境自行选择

4、修改 deamon.json 配置阿里云镜像加速器

# 配置方式:
# 登入https://www.aliyun.com 在阿里云控制台的容器镜像服务-->镜像加速器菜单中找到你的镜像加速地址。
# 在 /etc/docker/daemon.json 中写入如下内容(文件不存在则创建改文件),镜像地址改为你的实际地址。

mkdir -p /etc/docker
cat << EOF > /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://k1ktap5m.mirror.aliyuncs.com"]
}
EOF
mkdir -p /etc/systemd/system/docker.service.d
systemctl daemon-reload 
systemctl restart docker && systemctl enable docker

三、安装docker-compose服务

官方地址:https://github.com/docker/compose/releases

# 1、登入 GitHub ,找到对应版本下载
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# 2、将下载后的文件放到 /usr/local/bin 目录下,并添加执行权限
chmod +x /usr/local/bin/docker-compose

# 3、查看版本
docker-compose -version

四、安装harbor服务

1、下载harbor软件包

方式一:登入官方地址下载对应版本: https://github.com/goharbor/harbor/releases 

方式二:直接下载:wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-offline-installer-v2.1.1.tgz

 

2、解压

将 harbor 服务加压到 /home 目录下,以下所有操作均以解压后目录为当前目录

tar xvf harbor-offline-installer-v2.1.1.tgz  -C /home/ && cd /home/harbor/

3、修改harbor.yml配置文件

3.1 修改配置文件并创建对应目录

[root@localhost harbor]# cat harbor.yml 
.....
.....
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: harbor.wangzy.com  ##########修改域名

########### 关闭http访问方式
#http:         ##########该行注释掉
  # port for http, default is 80. If https enabled, this port will redirect to https port
  #port: 80   ##########改行注释掉

########### 打开https访问方式
# https related config
https:#########取消注释
#   # https port for harbor, default is 443
   port: 443  #########取消注释
#   # The path of cert and key files for nginx
   certificate: /home/harbor/certs/harbor.crt        #########取消注释,填写实际路径
   private_key: /home/harbor/certs/harbor.key        #########取消注释,填写实际路径

.....
.....
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: Harbor12345  ######### admin用户登入密码

# Harbor DB configuration
database:
  # The password for the root user of Harbor DB. Change this before any production use.
  password: root123       ######### 数据库密码

# The default data volume
data_volume: /home/harbor/data   #########目录自己创建,根据实际情况填写

3.2 创建对应目录(根据配置文件修改)

mkdir -p /home/harbor/certs /home/harbor/data

4、OpenSSL生成自签证书

使用 OpenSSL 创建自签证书

# 1、生成证书,并保存到 /home/harbor/certs 目录下
openssl req -newkey rsa:4096 -nodes -sha256 -keyout /home/harbor/certs/harbor.key -x509 -out /home/harbor/certs/harbor.crt -subj /C=CN/ST=BJ/L=BJ/O=DEVOPS/CN=harbor.wangzy.com -days 3650

req     产生证书签发申请命令
-newkey  生成新私钥
rsa:4096  生成秘钥位数
-nodes   表示私钥不加密
-sha256  使用SHA-2哈希算法
-keyout  将新创建的私钥写入的文件名
-x509   签发X.509格式证书命令。X.509是最通用的一种签名证书格式。
-out 指定要写入的输出文件名
-subj    指定用户信息
-days    有效期(3650表示十年)

# 2、查看证书
[root@harbor harbor]# ls certs/
harbor.crt  harbor.key

5、启动 harbor 服务

# 运行启动脚本
./install.sh 

四、页面访问测试

1、添加本地域名配置

修改本地配置文件或者用 SwitchHosts 软件配置虚拟域名(访问IP可跳过该步骤)

# 进入 C:\Windows\System32\drivers\etc 对应目录,用 notpad 编辑器打开 hosts 文件,添加对应域名
C:\Windows\System32\drivers\etc
192.168.101.28 https://harbor.wangzy.com   

2、访问页面测试

# 方式一:直接访问域名(需本地配置对应域名)
https://harbor.wangzy.com

# 方式二:访问 Harbor 服务器(IP+端口)
https://192.168.101.28:80

3、输入用户名,密码

# # 页面访问地址  https://harbor.wangzy.com
# 默认管理员用户名:admin    密码:Harbor12345,具体查看 harbor.yml 配置

4、创建项目(可忽略)

 

5、创建角色(可忽略)

6、添加项目访问成员(可忽略)

五、上传镜像到私有仓库

1、添加私有镜像信任仓库

# 1、添加仓库地址
vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://k1ktap5m.mirror.aliyuncs.com"],
  "insecure-registries": ["https://harbor.wangzy.com"]
}

# 2、重启 docker 服务
systemctl daemon-reload 
systemctl restart docker

2、登入私有仓库

# 其他服务器登入镜像仓库,默认管理员用户名:admin    密码:Harbor12345

# 1、配置host配置文件
vi /etc/hosts
...追加
192.168.101.28 harbor.wangzy.com

# 2、登入地址
# 详细登入方式:docker login -u 用户 -p 密码 服务器IP:端口 
docker login https://harbor.wangzy.com

输出如下:
# 默认管理员用户名:admin    密码:Harbor12345
Username: admin
Password: 
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
[root@localhost ~]# 

3、上传本地镜像到 Harbor 仓库

本实例以nginx为例

前提:本地已有nginx镜像

# 1、将本地镜像打上私有仓库
    # 格式:docker tag 本地镜像名:版本 Harbor服务器访问ip+端口/test/仓库镜像名:版本
docker tag nginx:latest harbor.wangzy.com/wangzy/mynginx:v1

# 2、上传镜像
docker push harbor.wangzy.com/wangzy/mynginx:v1

# 3、查看 Harbor 页面是否新增镜像

4、在 Harbor 上查看镜像信息

5、下载镜像

# 删除本地镜像并重新下载
docker pull harbor.wangzy.com/wangzy/mynginx:v1

 下载后到 Harbor 仓库查看,发现下载数增加

结束

原文地址:https://www.cnblogs.com/wangzy-Zj/p/14011228.html