前言
无意中发现 Fabric8 这个 对于Java友好的开源微服务管理平台 。
其实这在这里发现的 Achieving CI/CD with Kubernetes (by Ramit Surana,on February 17, 2017),其实是先在 slideshare 上看到的,pdf可以 在此下载 ,大小2.04M。
大家可能以前听过一个叫做 fabric 的工具,那是一个 Python (2.5-2.7) 库和命令行工具,用来流水线化执行 SSH 以部署应用或系统管理任务。所以大家不要把fabric8跟fabric搞混,虽然它们之间有一些共同点,但两者完全不是同一个东西, fabric8不是fabric的一个版本 。Fabric是用python开发的,fabric8是java开发的。
如果你想了解简化Fabric可以看它的 中文官方文档 。
Fabric8简介
fabric8是一个开源 集成开发平台 ,为基于 Kubernetes 和 Jenkins 的微服务提供 持续发布 。
使用fabric可以很方便的通过 Continuous Delivery pipelines 创建、编译、部署和测试微服务,然后通过Continuous Improvement和 ChatOps 运行和管理他们。
Fabric8微服务平台 提供:
- Developer Console ,是一个 富web应用 ,提供一个单页面来创建、编辑、编译、部署和测试微服务。
- Continuous Integration and Continous Delivery ,使用 Jenkins with a Jenkins Workflow Library 更快和更可靠的交付软件。
- Management ,集中式管理 Logging 、 Metrics , ChatOps 、 Chaos Monkey ,使用 Hawtio 和 Jolokia 管理Java Containers。
- Integration Integration Platform As A Service with deep visualisation of your Apache Camel integration services, an API Registry to view of all your RESTful and SOAP APIs and Fabric8 MQ provides Messaging As A Service based on Apache ActiveMQ 。
-
Java Tools 帮助Java应用使用 Kubernetes :
- Maven Plugin for working with Kubernetes ,这真是极好的
- Integration and System Testing of Kubernetes resources easily inside JUnit with Arquillian
- Java Libraries and support for CDI extensions for working with Kubernetes .
Fabric8微服务平台
Fabric8提供了一个完全集成的开源微服务平台,可在任何的 Kubernetes 和 OpenShift 环境中开箱即用。
整个平台是基于微服务而且是模块化的,你可以按照微服务的方式来使用它。
微服务平台提供的服务有:
- 开发者控制台,这是一个富Web应用程序,它提供了一个单一的页面来创建、编辑、编译、部署和测试微服务。
- 持续集成和持续交付,帮助团队以更快更可靠的方式交付软件,可以使用以下开源软件:
- Jenkins :CI/CD pipeline
- Nexus : 组件库
- Gogs :git代码库
- SonarQube :代码质量维护平台
- Jenkins Workflow Library :在不同的项目中复用 Jenkins Workflow scripts
- Fabric8.yml :为每个项目、存储库、聊天室、工作流脚本和问题跟踪器提供一个配置文件
- ChatOps :通过使用 hubot 来开发和管理,能够让你的团队拥抱DevOps,通过聊天和系统通知的方式来 approval of release promotion
- Chaos Monkey :通过干掉 pods 来测试系统健壮性和可靠性
- 管理
参考
Kubernetes部署微服务速成指南—— 2017-03-09 徐薛彪 容器时代微信公众号
上面那篇文章是翻译的,英文原文地址: Quick Guide to Developing Microservices on Kubernetes and Docker
后记
我在自己笔记本上装了个minikube,试玩感受将在后续发表。
试玩时需要科学上网。
$gofabric8 startusing the executable /usr/local/bin/minikube
minikube already running
using the executable /usr/local/bin/kubectl
Switched tocontext"minikube".
Deploying fabric8 to your Kubernetes installation at https://192.168.99.100:8443fordomainin namespace default
Loading fabric8 releases from maven repository:https://repo1.maven.org/maven2/
Deploying package: platform version: 2.4.24Now about toinstallpackage https://repo1.maven.org/maven2/io/fabric8/platform/packages/fabric8-platform/2.4.24/fabric8-platform-2.4.24-kubernetes.yml
Processing resource kind: Namespace in namespace defaultnameuser-secrets-source-adminFound namespace on kind Secret ofuser-secrets-source-adminProcessing resource kind: Secret in namespace user-secrets-source-adminnamedefault-gogs-git
Processing resource kind: Secret in namespace defaultname jenkins-docker-cfg
Processing resource kind: Secret in namespace defaultname jenkins-git-ssh
Processing resource kind: Secret in namespace defaultname jenkins-hub-api-token
Processing resource kind: Secret in namespace defaultname jenkins-master-ssh
Processing resource kind: Secret in namespace defaultname jenkins-maven-settings
Processing resource kind: Secret in namespace defaultname jenkins-release-gpg
Processing resource kind: Secret in namespace defaultname jenkins-ssh-config
Processing resource kind: ServiceAccount in namespace defaultname configmapcontroller
Processing resource kind: ServiceAccount in namespace defaultname exposecontroller
Processing resource kind: ServiceAccount in namespace defaultname fabric8
Processing resource kind: ServiceAccount in namespace defaultname gogs
Processing resource kind: ServiceAccount in namespace defaultname jenkins
Processing resource kind: Service in namespace defaultname fabric8
Processing resource kind: Service in namespace defaultname fabric8-docker-registry
Processing resource kind: Service in namespace defaultname fabric8-forge
Processing resource kind: Service in namespace defaultname gogs
...
-------------------------Default GOGS admin username/password = gogsadmin/RedHat$1
Checking if PersistentVolumeClaims bind to a PersistentVolume ....
Downloading images and waiting toopen the fabric8 console...
-------------------------
.....................................................
http://www.tuicool.com/articles/RfQvua3
相关推荐
fabric8-maven-plugin, 关于Kubernetes和 OpenShift,用于获取你的Java应用程序的Maven 插件 fabric8-maven-plugin 简介这个 Maven 插件是用于构建和部署 Docker 。Kubernetes和OpenShift的Java应用程序的one-stop-...
保险丝 JBoss Fuse是一个开源ESB,在单个集成发行版中具有基于Apache Camel,Apache CXF,Apache ActiveMQ,Apache Karaf和Fabric8的功能。
功能简介: 报名内容{用户名,密码,确认密码,EMail,QQ号码 ,真实姓名 ,性别,年龄,家庭住址,电话,手机,身份证号码,密码提示问题,安全回答} 所有报名内容都要经过验证,互联网上细节做的到位的25175报名类软件 通过...
31.1应用执行过程及ARMv8简介3.1应用执行过程,zip 3.2.1ARMv8基础指令集3.2基于ARMv8的汇编语言简介zip 3.2.2ARMv8高级指令集3.2基于ARMv8的汇编语言简介,zip 3.3.1基于编译型语离的鹏应用开发3.3鹏应用开发zip ...
第一篇 协议简介 产生背景 应用场景 协议构成 传输速率 电气接口 路由机制 与其他协议区别 第二篇 信息交换过程 Initiator Fabric responser 第三篇 RAPIDIO数据包的构成 Rapidio数据包的构成 Rapidio事务类型 IO...
第2季 第8集 CR16000-X产品介绍 第2季 第9集 IPRAN基站回传业务介绍 第2季 第10集 APM添加tomcat应用故障排查 第2季 第11集 虚拟机之乾坤大挪移 第2季 第12集 物联网解决方案简介 第2季 第13集 微信认证典型...
8、研发运营(DevOps)解决方案标准简介 9、云网切片+—+连通算力时代的过去、现在和未来 10、云原生产业联盟成果及未来工作展望 11、云原生微服务架构设计方法与实践 12、中国云原生用户调查报告 13、众安云原生之...
第8章 其他开源云计算系统 241 8.1 简介 241 8.1.1 Cassandra 241 8.1.2 Hive 242 8.1.3 VoltDB 242 8.1.4 Enomaly ECP 243 8.1.5 Nimbus 244 8.1.6 Sector and Sphere 245 8.1.7 abiquo 247 8.1.8 MongoDB 247 8.2 ...
简介................................................................................................................................................................1 BROCADE SAN 架构设备.................
6.1.2、Fabric-Wide Long-Distance 参数 ...................................................................... 16 6.2、Diagnostics 及 Troubleshooting ......................................................
13.1 Intel True Scale Fabric介绍............................ 73 13.2 Intel True Scale InfiniBand产品........................ 74 13.3 Intel Omni-Path产品.................................... 76 第14章 ...
8 HP9000 服务器................ 9 服务器产品分类........... 9 CPU........................ 9 配置相关信息............... 10 维护相关信息........... 10 Model String、SWID 和ssconfig.......................