Harbor是一个用于存储和分发Docker镜像的企业级registry服务器
镜像在docker distribution(registry v2版本)基础上增加了安全、访问控制、管理的功能,以满足企业对于镜像仓库的需求
基本配置 参考k8s集群安装,一直执行到docker安装完毕即可
docker配置 1 2 3 4 # 所有节点操作(4个节点) # 在/etc/docker/daemon.json中添加 "insecure-registries": ["https://hub.test.com"] systemctl restart docker
安装docker-compose 1 2 curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
导入harbor包,并解压 http://harbor.orientsoft.cn/
harbor-offline-installer-v1.2.0.tgz
我自己安装的是1.5.0版本
配置harbor.cfg 1 2 3 4 必选参数 hostname:主机名 hub.test.com ui_url_protocol:http或https(配置为https) db_password:密码
创建ssl目录文件 1 2 3 4 5 6 7 8 9 10 11 12 13 mkdir -p /data/cert cd /data/cert # 生成私钥 openssl genrsa -des3 -out server.key 2048 # 创建证书请求csr openssl req -new -key server.key -out server.csr # 备份私钥 cp server.key server.key.org # 转换成证书(私钥取消密码) openssl rsa -in server.key.org -out server.key # 证书请求签名 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt chmod -R 777 /data/cert
运行脚本安装
配置hosts文件 1 echo "192.168.128.xx hub.test.com" >> /etc/hosts
web访问测试 1 2 https://hub.test.com 用户名密码 admin/Harbor12345
其他节点登录测试 1 2 3 4 docker login https://hub.test.com docker pull wangyanglinux/myapp:v1 docker tag wangyanglinux/myapp:v1 hub.test.com/library/myapp:v1 docker push xxx
创建一个pod 1 2 3 4 5 6 7 8 9 10 # 查看帮助 kubectl run --help kubectl run nginx-deployment --image=hub.test.com/library/myapp:v1 --port=80 --replicas=1 kubectl get deployment kubectl get rs kubectl get pod [-o wide] # 在线扩容 kubectl scale --replicas=3 deployment/nginx-deployment kubectl get pod kubectl delete pod xxx
创建svc 1 2 3 4 5 6 7 8 # 查看帮助 kubectl expose --help kubectl expose deployment nginx-deployment --port=8000 --target-port=80 kubectl get svc curl xxx:8000/hostname.html ## 可以看到正在轮询 ipvsadm -Ln
修改ClusterIP为NodePort 1 2 3 kubectl edit svc nginx-deployment 将ClusterIP改为NodePort kubectl get svc ## 查看