k8s上部署harbor并暴露访问

所需积分/C币:50 2019-03-14 09:56:42 209KB PDF
292
收藏 收藏
举报

使用cfssl工具配置证书并在kubernetes上部署harbor并暴露访问。
scheme: HTIP perIo successThreshold: 1 imeoutseconds: 1 注意:域名配置完后要修改对应的网络环境的dns记录,在dhs中指向任意一个kBs节点(因为果用了 aeron Set 若无dns服务器,可以修改本机的hos文件指向任意一个k3s节点 部署 harbor 什 么是 harbor 官方约说法是: Harbor.是一个用于存储和分发 Docker镜像的企业级 Registry服务器 proxy registry adminserver 主要组件包括pro刈y,他是↑ngnx前端代理,主要是分发前端页面u访问和镜像二传和下载流量~部署在k8s上的 proxy由 Ingress提供,上图中通过 深藍色先标识:ui摒供了一个web管理頁面,当然还包括了一个前端页面和后端AP,底层使用mysq数据库: registry/是镜傻库,负啬存储镜像文件,当镜 像上传完毕后通过hok通知u创建 repostory,上图通过红色线标识,当然 registry的tken认证也是通过山组件完成; ad minseryer是系统的配置管理中心附 带检查存储用量,ui和 jobserve启动时候回需要加栽 adminserver的配置,通过灰色线标识; jobsevice是负责镜像复制工作的,他和 registry通信,从一个 registry pu镜像然后push到另一个 registry,并记录 ob log,上图通过紫色线标识:oq是日志汇总组件,通过 docker的og- driver把日志汇总到一起,通过 浅蓝色线条标识 下载 harbor cithub中 harbo1.2.2的 release中使用k8部署会出现成功push了镜像后不在ui上显示kue#3637,1.3.0修正后,还存在使用ngnx作为poy转发的情 。使用证书访问还得修改ngnx。由于在写这篇文章时,1.4.0还处于 pre-release的状杰,所以直接从 git clone下最新的文件 gitclonehttps://github.com/vmware/harbor.git 配置 harbor harbor的配置文件位于 harbor/make harbor. cfg下,修改以下配置 #t he IP address or hostname to access admin UI anc registry service. #DO NOT use localhost or 127.0.0.1, because Harbor needs to be acces sed by external clients hos:nm=harbor,deer-oe.com#主机名,填写对应的域名 he rotocol tor accessing the UI and token/notification service, by default it is htp. #tcanbesettohttpsifsslisenabledonngi u:urlrotocol-https必须改成https否则registry日志报authorizationtokenrequired错误 *De-e smine ficate for the registry's token #-t the value is on, the prepare script creates new root cert and private key #for geerating token to access the registry. If the value is off the de fault key/cert will be used # his flag also controls the creation of the notary signer's cent. cus: mize crt=off右一定要改成cff使用自定义证书,否则 Harbor会使用自定义证书来配置 registry #"he ath of cert and key files for nginx, they are applied only the protocol is set to htt ssl cert =/certs/app. ss1 cart key=/ certs/app-key.pen#填入刚才配置证书的地址 使用脚本生成对应yam文件 将证书作为 secret导入到k8s中 kubectl create secret tls harbor-ingress-secret --key=/certs/ap-key pem --cert=/certs/app. pem -n kube-system 注意 namespace,要与 harbor所在的 namespace相同 harbor ingress使用ts访问(htps) 重点!确保Ingress配置的域名、证书内的域名一致,否则暴露https失败 apiversion: extensions/ vibetal tls:#增加t1s配置,要与下面的not一致 harbordeerjce.com sacnetName: harbor- Ingress- secret##用刚才创建的 secret host: harbor. gdphdc con serviceName: ul servicepcrt: 88 部署 harbor 将 harbor部署至k8s上,这旦 namespaces选择 kubesystem 生息:关于dru数据的持久化问题,请提前部署好k8s的后端存储,mls或ch,habo默认果用seh,pu漂移时数据不能同步 kubectl apply -n kube-system nake/kubernetes/pv/storage. pv. yaml hert annly -n kuhe- system - make/kuhe rnetes/pv/log nvr.yam kubecLl apply -nl kube-sys Lem - nake/kuterrieLes/pv/regisTry. pvL yaml kubectl apply -n kube-system -- nake/kubernetes /pv/storage pvr yaml create config map kubectl apply -n kube-system nake/kubernetes /jobservice/joservice cm yaml etLl apply -n kube-sysLein /kuberntLes/mysql kubectl apply -n kube-system- nake/kube rnetes/registry/registry. cm. yaml kubectl apply -n kube-system - nake/kubernetes/ui/ui. cn yanl kubectl apply -n kube-system-- nake/kubernetes/acminserver adminserver cm yaml servie kubectl apply n kube-system - nake/kubernetes/jobservice/joosarvice svc yaml kubectl apply -n kube-system-- nake/kubernetes/mysql/mysql svc. y: tl apply -n kube-system-- nake/kubernetes/registry/registry. svc yaml t1 annly nake/kubernetes/ui/ni, svr yaml 1 apply ake/kubermieLesauminserver admits t create k8s deployment kubectl apply -n: kube-system- nake/kubernetes/registry/registry. deploy yaml kubectl apply -n kube-system -- nake/kubernetes /mysql/mysql deploy yaml kubetLlapply-n kubt-sys Leim-+ make/kuberneLes/jubservite/ju3servite, deplcyy dm. kubectl apply -n kube-system-- nake/kubernetes/ui/ui deploy. yaml kubectl apply -n kube-system - nake/kubernetes/acminserver'adminser deric kubectl apply -n kube-system - nake/kubernetes/ingress yaml 部署成功后,此时通过htps/ har bor. deerjue. corn/能够访问 harbor 导入证书到 Docker客户端 什在客户端上安装ca- certificate yum install ca-certificate #将之前主机生成的! certs/ca.pem改为crt后缆,拷贝到/t:/pki/ca- trust/ source/ anchors/ cp /carts/ca pem /etc/pki/ca trust/source/anchors/ca cr 书 updata-ca-trust extract sys.emmtLI restarT tucker.servile 使用 docker命令登录验证 [rootanode4 ]# docker login harbor. deerjoecam Username 提示 Succeeded证明成功 常见错误 1.Errorresporisefrorndaelturl:Gethttps://harbor.gdphidc.cor/v1/users/:x509:cerLificatesignedbyunknownauthority 不信任证书,请检查证书配置,导入ca证书到lnux后重启 docker服务 1. registry日志报 authorization token required错误 registry未配置htps访间,检 harbor. cfg配置 1. docker push时直在 retry中。 查看 registry日志,是否报文件夹无权限 mkdir,检查后端存储权限 1.push时镜像大时报htp413错误 镜像过大,需要修改 nginx ingress的 configmap proxy- body-size参数,示例 name: nginx-configuration namespace: ingress-nginx proxybody-size:2048n"#

...展开详情
试读 5P k8s上部署harbor并暴露访问
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚钱or赚积分
最新推荐
k8s上部署harbor并暴露访问 50积分/C币 立即下载
1/5
k8s上部署harbor并暴露访问第1页

试读结束, 可继续读1页

50积分/C币 立即下载 >