kubernetes学习—harbor仓库的部署

在运维主机(192.168.100.50)上搭建harbor仓库

mkdir -p /opt/src/harbor && cd /opt/src/harbor
mkdir -p /data/harbor/logs

下载二进制安装包并解压

wget https://github.com/goharbor/harbor/releases/download/v1.10.6/harbor-offline-installer-v1.10.6.tgz
tar xf harbor-XXXXX -C /opt/
mv /opt/harbor /opt/harbor-v1.10.6
ln -s /opt/harbor-v1.10.6 /opt/harbor  # 创建harbor的软链接

编辑harbor.yml文件。修改登录域名和端口还有密码等基础信息

cd /opt/harbor
vim harbor.yaml

harbor.yaml的内容如下:

hostname: harbor.xuexi.com
### 中间省略 ###
http:  # 这里是局域网内部部署k8s,所以使用http请求即可
	port: 9265
		
harbor_admin_passwd: ******  # 这里的密码每个人不一样

data_volume: /data/harbor  # harbor数据的挂载目录
### 中间省略 ###
log:
	level: info
	rotate_count: 50
	rotate_size: 200M
	location: /data/harbor/logs  # harbor的日志存放地址

这里因为用docker-compose会比较方便,所以在运维主机(192.168.100.50)上安装docker-compose

yum install docker-compose -y
rpm -qa docker-compose
# 安装harbor
cd /opt/harbor
./install.sh

harbor服务安装后,使用nginx做个代理,同样使用80端口,不同域名来代码到不同服务

配置nginx的服务

# 配置nginx的配置文件   harbor.xuexi.com.conf
vim /etc/nginx/conf.d/harbor.xuexi.com.conf

/etc/nginx/conf.d/harbor.xuexi.com.conf配置文件内容如下:

server {
    listen                80;                # 监听80端口 
    server_name           harbor.xuexi.com;  # 域名
    client_max_body_size  1000m;
    
    location / {
        proxy_pass http://127.0.0.1:9265;    # 访问为harbor.xuexi.com 转到 9265 端口
    }
}

nginx更新加载配置文件

nginx -s reload

在DNS服务器(192.168.100.51)上添加对应的域名解析

vim /var/named/chroot/var/named/xuexi.com.zone

# 最后添加 并 修改dns配置文件对应的时间
harbor     A   192.168.100.50

systemctl restart named-chroot
# 检验dns配置成功没
dig -t A harbor.xuexi.com @192.168.3.20 +short

在运维主机(192.168.100.50)上检查harbor能否正常使用

# 登录harbor
docker login harbor.xuexi.com

# docker 拉取nginx镜像
docker pull nginx

# docker 打标   这里的  XXXXXXX 是nginx镜像的id
docker tag XXXXXXX harbor.xuexi.com/public/nginx:latest

# docker 推送镜像
docker push harbor.xuexi.com/public/nginx:latest
Logo

开源、云原生的融合云平台

更多推荐