DHorse操作手册
在介绍DHorse的操作之前,我们先来看一下发布一个系统的流程是什么样的。
发布系统的流程
我们以一个Springboot系统为例,来说明一下发布流程。
1.首先从代码仓库下载代码,比如Gitlab;
2.接着是进行打包,比如使用Maven;
3.如果要使用k8s作为编排,还需要把步骤2产生的包制作成镜像,比如使用Docker;
4.上传步骤3的镜像到远程仓库,比如Harhor;
5.最后,下载镜像并编写Deployment文件部署到云集群,比如k8s;
从以上步骤可以看出,发布需要的工具和环境至少包括:代码仓库(Gitlab)、打包环境(Maven)、镜像制作(Docker)、镜像仓库(Harbor)、云集群(k8s)等;
在DHorse系统里,有些环境是对于用户来说是无需感知,因为已经做了集成,如:打包和镜像制作,可以参考文章:《DHorse系列文章之镜像制作》和《DHorse系列文章之maven打包》。其他的则需要配置,下面就一一介绍。
DHorse操作说明
代码仓库配置
如图1所示:
图1
镜像仓库配置
如图2所示:
图2
Maven配置
如图3所示:
图3
在这里,可以指定打包时的Java版本信息,如果不指定,则默认使用DHorse系统所在的环境。
集群配置
进入“集群管理”菜单,可以进行添加集群操作,假如已经部署好k8s集群,则可以添加到DHorse,如图4所示:
图4
我们可以通过如下方式生成k8s的认证令牌:
kubectl create serviceaccount "k8sadmin-dhorse" -n kube-system
kubectl create clusterrolebinding "k8sadmin-dhorse" --clusterrole=cluster-admin --serviceaccount=kube-system:k8sadmin-dhorse
secret=$(kubectl get -n kube-system serviceaccounts "k8sadmin-dhorse" -o jsonpath='{.secrets[0].name}')
kubectl get -n kube-system secrets $secret -o jsonpath='{.data.token}' | base64 -d
也可以开启日志收集功能,但是首先需要配置Dhorse安装目录下的conf/filebeat-k8s.yml文件,进行filebeat的配置。
在集群管理功能里,同时也提供了对命名空间管理的功能,如图5所示:
图5
可以进行创建和删除命名空间。
完成以上配置以后,接下来我们就可以创建项目、创建版本、创建环境,然后进行发布了。
创建项目
在“项目管理”菜单下,可以添加项目操作,这里以添加一个Springboot项目为例进行说明,如图6、图8所示:
图6
其中,代码仓库地址是对应代码仓库定义的项目路径或项目编号,比如GitLab项目编号如图7所示:
图7
图8
添加项目完成以后,就可以在“发布管理”菜单下看到分支信息,如图9所示:
图9
可以看出,在分支列表里可以分别对每个分支进行“构建版本”操作,我们以对master分支进行构建版本为例,如图10所示:
图10
然后进入“版本列表”菜单,可以看到产生了一条版本记录,同时也可以查看该版本的构建日志,如图11所示:
图11
接下来,我们就可以创建一个环境,然后使用刚才构建的版本发布该环境。
发布项目
进入“环境管理”菜单,然后进行添加环境操作,如图12所示:
图12
保存之后,“环境管理”列表里会出现一条环境记录,如果13所示:
图13
接着,我们可以在“操作”列点击“部署”按钮,如图14所示:
图14
选择刚才的版本,并点击“确认部署”。此时,进入到“部署历史”菜单下,可以看到产生了一条部署记录,同时可以查看该记录的日志,如图15所示:
图15
等待部署完成以后,进入“副本管理”菜单,可以看到Pod的相关信息,如果16所示:
图16
至此,一个完整的发布流程完成了。那么该如何访问hello项目的服务呢?
访问服务
集群内访问
假如hello项目里有一个/hello的api。
- 访问单个副本的服务
通过“副本IP:端口”进行访问,该方式在副本或Node节点都可以访问通,如图16所示的IP,访问示例:http://10.32.1.153:8080/hello - 通过负载均衡
DHorse在部署项目以后,会默认为项目启动一个ClusterIP的service服务,可以通过“项目名称.命名空间:服务端口”来访问服务,该访问只能在副本里进行,示例如:http://hello.default:8080/hello
集群内服务之间的调用,推荐该方式。
集群外访问
两种方式:
- 通过创建NodePort或LoadBalancer,目前DHorse不支持,如果需要可以手动在集群内创建;
- 打通集群内外的网络,该方式需要运维的支持,如:通过静态路由转发等。集群内外网络互通以后,在集群外部就可以直接访问副本的IP了。
如需更多了解,请访问DHorse。
DHorse操作手册的更多相关文章
- (47) odoo详细操作手册
odoo 8 详细操作手册, ERP(Odoo8.0)操作手册-v1.10(陈伟明).pdf 链接: http://pan.baidu.com/s/1hsp0bVQ 密码: r9tt 花了将近9个月时 ...
- SharePoint2010升级到SharePoint2013操作手册
SharePoint2010升级到SharePoint2013操作手册 目 录 第一章 前言 3 第二章 升级前准备 3 第三章 升级流程图 5 第四章 升级过程 5 4.1 ...
- Mysql 操作手册
mysql操作手册 版本:5.6.16mysql linux安装基本步骤:#rpm -e --nodeps mysql-lib-5.1.*#rpm -ivh mysql-server#rpm -ivh ...
- [转]SVN操作手册
[转]SVN操作手册 2012-04-28 11:26 by NewSea, 2495 阅读, 0 评论, 收藏, 编辑 原文: http://hi.baidu.com/caiqiupeng/blog ...
- SVN操作手册(part1&part2)——SVN安装
SVN操作手册 1.关于SVN 有一个简单但不十分精确比喻: SVN = 版本控制 + 备份服务器 简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容. ...
- svn 迁移至git操作手册
svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...
- jmeter接口入门操作手册
基础操作手册:Windows Mr丶菜鸟 1.下载jmeter ,jmeter是一款基于java的开源工具,可以测试接口和性能,需要jdk环境,下载jmeter地址:https://jmeter.a ...
- OpenDCIM-19.01操作手册
OpenDCIM-19.01操作手册 1. 界面标签解析 1.1 用户管理 用户管理 部门管理 用户管理被存在数据表fac_User中,包含以下字段: UserID:是管理员还是用户 Name:报表 ...
- ALLOT流控设备操作手册指引
ALLOT流控设备操作手册指引 1 简介 1.1 设备介绍 1.1.1 NetXploeer三层结构 Allot设备的管理如上图所示,采用三层结构. 1)NetEnforcer层,包括所有型号的Ne ...
- SAP Parallel Accounting(平行分类账)业务配置及操作手册
目录 SAP Parallel Accounting(平行分类账业务)配置及操作手册 SAP Parallel Accounting(平行分类账业务)配置及操作手册 Overview 业务说明 为了适 ...
随机推荐
- MinIO存储桶通知指南
官方文档地址:http://docs.minio.org.cn/docs/master/minio-bucket-notification-guide 存储桶(Bucket)如果发生改变,比如上传对象 ...
- Docker搭建自己的Gitlab CI Runner
转载自:https://cloud.tencent.com/developer/article/1010595 1.Gitlab CI介绍 CI:持续集成,我们通常使用CI来做一些自动化工作,比如程序 ...
- Ubuntu22.04 安装配置VNC Server
如果转载, 请注明出处 https://www.cnblogs.com/milton/p/16730512.html Ubuntu22.40下VNC和远程桌面的区别 使用远程桌面时, 用户必须在hos ...
- python及第三方库交叉编译
一.前言: 网上关于python的交叉编译的文章很多,但是关于python第三库的交叉编译的文章就比较少了,而且很多标题是第三方库的交叉编译,但是实际上用到的都是不需要交叉编译就能用的库,可参考性不强 ...
- 分布式存储系统之Ceph基础
Ceph基础概述 Ceph是一个对象式存储系统,所谓对象式存储是指它把每一个待管理的数据流(比如一个文件)切分成一到多个固定大小的对象数据,并以其为原子单元完成数据的存取:对象数据的底层存储服务由多个 ...
- PHP全栈开发(三):CentOS 7 中 PHP 环境搭建及检测
简单回顾一下我们在(一).(二)中所做的工作. 首先我们在(一)中设置了CentOS 7的网络. 其实这些工作在CentOS 6中都是很容易的,因为有鸟哥的Linux私房菜这样好的指导. 但是这些操作 ...
- Kafka 之 Streams
Kafka 之 Streams 一.概述 1.1 Kafka Streams Kafka Streams.Apache Kafka开源项目的一个组成部分.是一个功能强大,易于使用的库.用于在Kafka ...
- 齐博x1 二次开发的灵魂fun函数
X1最强大之处,体现在灵活,扩展性强,在使用过程中,你会发现灵活之处非常之多. 现在跟大家讲一下,灵魂函数 fun() X1的核心函数文件是 application/common.php 随着模块频道 ...
- golang的内存管理
0.1.索引 https://blog.waterflow.link/articles/1663406367769 1.内存管理 内存管理是管理计算机内存的过程,在主存和磁盘之间移动进程以提高系统的整 ...
- 故事 --- Linux和UNIX之间的那些爱恨与情仇
Linux和UNIX具体有哪些关系及区别? UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 ...