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