本平台基于openshift搭建
平台信息!
URL: http://fabric8.fabric8.ipaas.seanzhau.com
账号: admin
密码: 12345678
*打开以上URL时,首先会跳到openshift登录页面。
登陆平台
界面说明
Fabric8默认项目区域,如果需要多个Team,使用右上角的“Create Team”来创建。
Other Namespaces区域,主要是openshift默认的namespace,主要是openshift平台用来做日志采集、监控和cicd等应用的namespace,与fabric8使用无关,严禁删除。
进入“Runtime”
快捷连接
Gogs:代码管理系统,默认账号:gogsadmin:RedHat$1
Grafana:图像监控系统,默认账号:admin:admin
Jenkins:持续集成系统
Kibana:日志系统
Nexus:二进制包管理系统,默认账号:admin:admin123
Prometheus:监控数据存储
Jenkins
gogs
Nexus
Overview
主要是服务运行管理。
Run:运行一个fabric8提供的快捷服务(运行在容器中)。
Pods:pod数量伸缩管理,修改副本的数量。
Run
Pods
Services
每一个应用对应为一个service,主要是fabric8系统服务,service也可以看作为负载均衡。
Deployments
用于创建服务的yaml配置,点击Name可以查看配置详细内容,点击Scale可以修改副本的数量。
配置内容
Config快捷连接
Replicas
每修改一次Deployments,pod都会重新构建,因此会有多个历史版本。Replicas用于管理管理这些版本,Name后面的数字表示这个服务pod构建的次数。默认新版本启动以后,老版本会自动停止。对于不用的pod我们可以删除。
Pods
Pods就是具体的服务实例
Name:服务名称
Status:服务状态,可以查看Pod Terminal(显示器图标)和服务日志(文本图标)
Events:是pod运行的日志,注意区分服务日志
Restarts:重启次数
Age:启动时长
Images:运行这个pod使用的镜像以及版本
Host:pod所在的宿主机
Pod Terminal
服务日志
Config
应用关联配置,也可以说应用使用外部其他服务的配置(目前还未深入了解,慎用!)。有变量配置和yaml配置2种方式。
变量配置
YAML配置
Events
pod事件
Secrets
各服务之间认证证书、密钥、账号密码等
Nodes
宿主机节点,可以看到fabric8在每个节点上运行的pod数量
Diagram
Pod、Node和服务端口关联拓扑
Dashboard
自建App在各环境发布情况,各Environment中pod数量。
Apps
自建应用列表,包含应用名称、仓库连接和版本信息等。
Builds
所有App构建历史,Pipeline快捷连接
Environments
环境配置,和Team界面对应
Creat App
在Dashboard和Apps界面都可以创建新的应用,点击右上角的“Creat App”
选择应用仓库
Setup Gogs Secret:配置gogs账号,即使有fabric8自带的代码仓库,我们选择fabric8自带的gogs仓库。
Import from Git:使用外部代码仓库。
Setup Gogs Secret
第一次使用如果有账号就选择默认账号,如果没有账号则需要手动创建。点击下面的“Create New Secret”
Create New Secret
这个账号一定要与gogs里面的账号一致,不熟悉fabric8的情况下,别随意修改gogs默认的账号和密码,一些列的账号密码问题会很头疼。
新建账号可以使用账号密码,也可以使用ssh key。
重新进入创建应用界面,选择“Creat New App”
Creat Project
可以选择Quickstart也可以根据自己的需求来选择,Quickstart提供了一些自带的模板,自定义选择需要自己手动选择。
Name:App名称
Top level package:包com.abc…
Version:版本信息
Creat Project选择模板
Creat Project自定义模板
Pipeline
根据需求选择一个pipeline,勾选Copy pipeline to project,点Next完成创建。完成创建以后默认会自动执行一次构建。
App demo
项目界面,使用快捷连接查看jenkins和gogs确认项目创建的情况。
Jenkins项目界面
Gogs项目界面
Apps
Java类应用默认会生成一个类似于demo-s2i的app,用于构建镜像。s2i指source to images。
Dashboard
Environments:项目发布的情况
Active Pipelines:pipeline执行详情,构建完成以后点Proceed完成生产发布,点Abort取消发布。
Commits:gogs中该项目提交的历史
Proceed发布
Proceed发布完成
Pipelines历史
Builds历史
Settings
Core:代码gogs连接,主要配置默认不用修改
Secrets:配置gogs账号密码,不用修改
Pipeline:选择pipeline模板,不用修改
Source
源码目录和gogs项目文件一致,fabric8项目和普通我们本地项目的差别在于以下3个文件:
Fabric8.yml
声明了这是一个fabric8项目,并且定义了fabric8对于该项目的使用哪一个jenkinsfile,以及定义项目的environments。
这个文件根据我们前面选择的pipeline模板自动生成。
Jenkinsfile
Jenkinsfile:是项目使用Jenkins pipeline的主要文件,里面定义了pipeline的主要流程,使用基础image名称和版本信息。
pom.xml
与本地项目对比,多定义了fabric8-maven-plugin、 maven-compiler-plugin、metric和log插件。
我们在实际的使用过程中,以我们现有app的pom.xml为母版,将我们刚刚创建的fabric8的pom.xml内容合并到现有的app中。
fabric8-staging
通过“Teams - fabric8 – Environments - fabric8-staging”进入,查看pod运行状况。(参考PPT Environments)
fabric8-testing
通过“Teams - fabric8 – Environments - fabric8-testing”进入,查看pod运行状况。(参考PPT Environments)
fabric8-production
通过“Teams - fabric8 – Environments - fabric8-production”进入,查看pod运行状况。(参考PPT Environments)
遇到过的问题
官方文档
版权所有,转载请注明出处:https://ipaas.com.cn/blog/post/seanzhau/aa95e6279f35。