tnblog
首页
视频
资源
登录

OKD与Harbor的集成

7656人阅读 2021/8/8 10:39 总访问:3467637 评论:0 收藏:0 手机
分类: 云产品

OKD 与Harbor的集成

为什么需要安装Harbor呢?因为在我们安装时并没有存储库,所以环境镜像也无法安装到本地存储库中来。

安装docker-compose


我这里准备了一台okd和一台harbor环境

应用 ip
harbor 10.211.55.8
okd 10.211.55.9


10.211.55.8需要进行关闭防火墙。

  1. service iptables stop
  2. chkconfig iptables off
  3. systemctl stop firewalld.service
  4. systemctl disable firewalld.service


10.211.55.8上我们已经安装好了docker。


接下来我们安装docker-compose

  1. 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
  2. chmod +x /usr/local/bin/docker-compose
  3. docker-compose --version

安装harbor


这里我们使用的版本是1.6.2的,大家下载的时候也可以下载高一点。

  1. wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.2.tgz
  2. tar -zxvf harbor-offline-installer-v1.6.2.tgz
  3. cd harbor


修改配置harbor.cfg,我就修改了hostname,并且指定端口为8060

  1. vim harbor.cfg
  2. # hostname = 10.211.55.8:8060


在docker-compose.yml中修改,将端口映射修改为8060,并且需要检查443端口是否被占用的情况。

  1. networks:
  2. - harbor
  3. ports:
  4. - 8060:80
  5. - 443:443
  6. - 4443:4443

  1. netstat -anp | grep 443


接着我们正式安装执行如下命令。

  1. ./prepare
  2. ./install.sh


最后验证是否安装成功。

  1. docker-compose ps


登录10.211.55.8:8060, admin/Harbor12345

OKD登录harbor


我们在10.211.55.9OKD上需要对docker做一些修改。

  1. vim /etc/sysconfig/docker
  1. # 就是设置一下不安全的存储库
  2. 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'
  3. ADD_REGISTRY='--add-registry 10.211.55.8:8060'
  4. INSECURE_REGISTRY='--insecure-registry=10.211.55.8:8060'

  1. # 修改好后重启
  2. systemctl daemon-reload
  3. systemctl restart docker.service


再在harbor界面上,我们进行创建一个用户aidasi,以后上传镜像与下载镜像的时候我们需要用这个用户进行登录。密码为:Hmy123456789


然后我们通过该用户在10.211.55.9OKD这台机子上通过docker进行登录。

  1. docker login


设置/etc/origin/master/master-config.yaml设置镜像库,找到这一句,后面添加上我们自己的镜像库。

每个节点都要进行配置这个

  1. imagePolicyConfig:
  2. internalRegistryHostname: docker-registry.default.svc:5000
  3. externalRegistryHostname: 10.211.55.8:8060


重新启动master与controllers

  1. master-restart api
  2. master-restart controllers

将 Harbor注册表Secret添加到OpenShift

第一种方式


.dockercfg $HOME/.docker/config.json Docker 客户端的文件是一个 Docker 凭证文件,如果您之前已登录到安全或不安全的注册表,它会存储您的身份验证信息。

  1. cat ~/.docker/config.json

  1. # 复制该文件到当前目录下
  2. cp ~/.docker/config.json k8s-docker.json
  3. # 添加到全局secret
  4. oc create secret generic harborkey --from-file=.dockerconfigjson=./k8s-docker.json --type=kubernetes.io/dockerconfigjson

第二种方式


直接以用户登录的方式进行存到secret中

  1. # 邮箱是在harbor上创建aidasi时创建的那个邮箱地址
  2. oc create secret docker-registry harborkey \
  3. --docker-server=10.211.55.8:8060 \
  4. --docker-username=aidasi \
  5. --docker-password=Hmy123456789 \
  6. --docker-email=86382516@qq.com

添加到服务账户


我们将harbor密钥添加到您的服务帐户,当我们需要进行生成项目时是需要将项目上传到harbor中的,所以我们这里就需要进行绑定builder。

  1. # pull 有拉取权限,mount有上传权限
  2. oc secrets link builder harborkey --for=pull,mount

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

OKD一键部署

OKD一键部署[TOC] OKD简介OKD 是Kubernetes 的一个发行版,针对持续应用程序开发和多租户部署进行了优化。OKD在 Kubernete...

简单学习OKD

简单学习OKD[TOC] Web登录来到OKD的登录界面,输入账号与密码进行登录(admin)。 我们这里可以创建一个自己的项目myproj...

OKD 部署.netcore项目

OKD 部署.netcore项目[TOC] 创建.netcore测试项目(Webapp)dotnet --version dotnet new webApp -o myWebApp --no-https ...

OKD 权限认证

OKD 权限认证[TOC] Openshift API Server 利用管理员配置的认证模块来认证每个达到的请求。认证过程及用户、API认证方式、...

OKD ImageStream

OKD ImageStream[TOC] ImageStreamImageStream是OpenShift独有的一种对象,在Kubernetes中没有对应的对象。它主要目标是简...

分布式服务架构微服务架构概念的区别联系

分布式:分散压力。微服务:分散能力。当下理解分布式:不同模块部署在不同服务器上作用:分布式解决网站高并发带来问题集...

jsController中分割字符串的方法

js: varstr=OpenRule; varstrs=newArray(); strs=str.split(","); for(vari=0;i<strs.length;i++){ $(&q...

Service-stack.redis配置连接池读写分离(处理并发相关等)

配置连接池与读写分类 //写节点(主节点) List<string>writes=newList<string>(); writes.Add("123456a...

CSS相对定位绝对定位

一般相对定位和绝对定位可以配合起来使用 例如实现如下的效果 只需要在外层div设置为相对定位,在内部设置为绝对定位就...

C委托事件

1.什么是委托?  委托在C#里的意义和在现实里差不多,从字面意思理解即可。举个例子:领导委托小张去传递个文件,这就是...

asp.net core2.0 依赖注入 AddTransientAddScoped的区别

asp.net core主要提供了三种依赖注入的方式其中AddTransient与AddSingleton比较好区别AddTransient瞬时模式:每次都获取一...

Vue.js+Layer实现表格数据绑定更新

一:使用Vue.js绑定好数据与更新事件 使用v-on绑定好事件,在事件里边直接把该行数据传递进去,在更新方法里边就可以直接...

下划线、换行、回车、空格ASCII码值对照表

下划线,ASCII码95换行 , ASCII码10回车 , ASCII码13空格 , ASCII码32ASCII码表:Bin(二进制)Oct(八进制)Dec(十进制)Hex(...

数据读取器指定的"xx"不兼容。某个类型为"xx"的成员在同名的数据读取器中没有对应的列

报错的地方var result= _db.Database.SqlQuery<SMachine>(sql).FirstOrDefault();经过分析,是因为SqlQuery方法查询...

git 下载提交命令

一.先使用git clone下载一个项目 git clone '项目地址' 这里要注意: clone的项目里边会自带git的一些信息,...
这一世以无限游戏为使命!
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术