
OKD 与Harbor的集成
为什么需要安装Harbor呢?因为在我们安装时并没有存储库,所以环境镜像也无法安装到本地存储库中来。
安装docker-compose
我这里准备了一台okd和一台harbor环境
应用 | ip |
---|---|
harbor | 10.211.55.8 |
okd | 10.211.55.9 |
在10.211.55.8
需要进行关闭防火墙。
service iptables stop
chkconfig iptables off
systemctl stop firewalld.service
systemctl disable firewalld.service
在10.211.55.8
上我们已经安装好了docker。
接下来我们安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
安装harbor
这里我们使用的版本是1.6.2
的,大家下载的时候也可以下载高一点。
wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.2.tgz
tar -zxvf harbor-offline-installer-v1.6.2.tgz
cd harbor
修改配置harbor.cfg,我就修改了hostname,并且指定端口为8060
vim harbor.cfg
# hostname = 10.211.55.8:8060
在docker-compose.yml中修改,将端口映射修改为8060
,并且需要检查443
端口是否被占用的情况。
networks:
- harbor
ports:
- 8060:80
- 443:443
- 4443:4443
netstat -anp | grep 443
接着我们正式安装执行如下命令。
./prepare
./install.sh
最后验证是否安装成功。
docker-compose ps
登录10.211.55.8:8060, admin/Harbor12345
OKD登录harbor
我们在10.211.55.9
OKD上需要对docker做一些修改。
vim /etc/sysconfig/docker
# 就是设置一下不安全的存储库
OPTIONS=' --selinux-enabled -l warn --ipv6=false --insecure-registry=10.211.55.8:8060 --registry-mirror=https://r03u9tep.mirror.aliyuncs.com --log-opt max-size=1M --log-opt max-file=3 --live-restore=true --signature-verification=False'
ADD_REGISTRY='--add-registry 10.211.55.8:8060'
INSECURE_REGISTRY='--insecure-registry=10.211.55.8:8060'
# 修改好后重启
systemctl daemon-reload
systemctl restart docker.service
再在harbor界面上,我们进行创建一个用户aidasi
,以后上传镜像与下载镜像的时候我们需要用这个用户进行登录。密码为:Hmy123456789
然后我们通过该用户在10.211.55.9
OKD这台机子上通过docker进行登录。
docker login
设置/etc/origin/master/master-config.yaml设置镜像库,找到这一句,后面添加上我们自己的镜像库。
每个节点都要进行配置这个
imagePolicyConfig:
internalRegistryHostname: docker-registry.default.svc:5000
externalRegistryHostname: 10.211.55.8:8060
重新启动master与controllers
master-restart api
master-restart controllers
将 Harbor注册表Secret添加到OpenShift
第一种方式
.dockercfg $HOME/.docker/config.json
Docker 客户端的文件是一个 Docker 凭证文件,如果您之前已登录到安全或不安全的注册表,它会存储您的身份验证信息。
cat ~/.docker/config.json
# 复制该文件到当前目录下
cp ~/.docker/config.json k8s-docker.json
# 添加到全局secret
oc create secret generic harborkey --from-file=.dockerconfigjson=./k8s-docker.json --type=kubernetes.io/dockerconfigjson
第二种方式
直接以用户登录的方式进行存到secret中
# 邮箱是在harbor上创建aidasi时创建的那个邮箱地址
oc create secret docker-registry harborkey \
--docker-server=10.211.55.8:8060 \
--docker-username=aidasi \
--docker-password=Hmy123456789 \
--docker-email=86382516@qq.com
添加到服务账户
我们将harbor密钥添加到您的服务帐户,当我们需要进行生成项目时是需要将项目上传到harbor中的,所以我们这里就需要进行绑定builder。
# pull 有拉取权限,mount有上传权限
oc secrets link builder harborkey --for=pull,mount
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

