前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >harbor源码分析之技术体系(一)

harbor源码分析之技术体系(一)

原创
作者头像
暮雨
修改2018-10-15 11:24:43
9520
修改2018-10-15 11:24:43
举报
文章被收录于专栏:云端漫步云端漫步

介绍

harbor作为一个中国人编写的项目,被CNCF组织接收,应该有着伟大的意义吧.简单的看了下harbor的源码,十分的庞大. 那么面对这个庞然大物,怎么办? 要么放弃,要么面对.

面对复杂的事物,我们首先要做的就是理出主要矛盾,然后解决了主要矛盾,次要矛盾要就不攻自破.这是哲学上的一个解决问题的思路.在此,就以此方法论作为指导思想.

技术分解

先来看下文件系统

···

.

├── AUTHORS

├── CHANGELOG.md

├── CONTRIBUTING.md

├── LICENSE

├── Makefile

├── NOTICE

├── README.md

├── ROADMAP.md

├── VERSION

├── contrib

│   ├── Configure_mirror.md

│   ├── README.md

│   ├── deploying_using_docker_machine.md

│   ├── prebuild-install

│   ├── registryapi

│   └── sdk

├── docs

│   ├── README.md

│   ├── compile_guide.md

│   ├── configure_https.md

│   ├── configure_swagger.md

│   ├── customize_token_service.md

│   ├── developer_guide_i18n.md

│   ├── img

│   ├── installation_guide.md

│   ├── kubernetes_deployment.md

│   ├── migration_guide.md

│   ├── prepare-swagger.sh

│   ├── swagger.yaml

│   ├── use_make.md

│   ├── use_notary.md

│   └── user_guide.md

├── make

│   ├── checkenv.sh

│   ├── common

│   ├── dev

│   ├── docker-compose.notary.yml

│   ├── docker-compose.tpl

│   ├── harbor.cfg

│   ├── install.sh

│   ├── kubernetes

│   ├── photon

│   ├── prepare

│   └── pushimage.sh

├── partners.md

├── src

│   ├── adminserver

│   ├── common

│   ├── favicon.ico

│   ├── jobservice

│   ├── ui

│   ├── ui_ng

│   └── vendor

├── tests

│   ├── apitests

│   ├── ca.crt

│   ├── coverage4gotest.sh

│   ├── docker-compose.test.yml

│   ├── generateCerts.sh

│   ├── hostcfg.sh

│   ├── ldap_test.ldif

│   ├── ldapprepare.sh

│   ├── notarytest.sh

│   ├── pushimage.sh

│   ├── startuptest.sh

│   ├── swaggerchecker.sh

│   ├── testcases

│   ├── testprepare.sh

│   └── userlogintest.sh

└── tools

代码语言:txt
复制
├── copyright
代码语言:txt
复制
├── migration
代码语言:txt
复制
└── ova

25 directories, 48 files

···

从这个目录系统中,可以看出,主要涉及三大部分.源码,构建打包,部署

从源码,到构建再到部署,这一过程模型,可以简单的总结为了一个聚合的过程.但在源码分析中,我们要结合功能,倒着展开,也就是由宏观到微观.

源码

这一板块是核心.开发语言主要是go和angular使用的typeScript.对于这两方面语言对于go语言,还会写一系列文章进行展开.angular技术只做简单的了解.后续的文章主要针对该内容进行展开.

构建/打包

这一块是进行代码展开的核心,主要对构建工具make进行展开.中间涉及到一些shell相关的内容.

部署

harhor的部署主要是将各个组件打包成容器,通过docker-compose做编排,在目录结构中,有通过kubernetes部署,后续也会对kubernetes作为一个专题进行展开.

对于以上技术,现在的技术能力和水平也许还不能完全驾驭了,主要的目的,也是想通过对harbor这个开源项目作为一个驱动,对这些技术能有一个全面的认识和学习.以求达到更高的技术水平.

总结

在这一篇文章中,主要对harbor这个项目进行一个大的分解以及今后写作方向的一个规划,在今后的系列中,将对各个模块做进一步的展开,遇到问题解决问题,理论不足,补理论.

最后,希望自己能够坚持下去,完成这一目标.加油!!!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 技术分解
  • 总结
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档