前言
无意中发现 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
相关推荐
1. **Fabric Go SDK简介** Fabric Go SDK是Hyperledger Fabric项目提供的官方开发工具,用于用Go语言编写应用,与Fabric网络进行交互。它包括了与Orderer、Peers、Channels和Chaincode通信所需的模块和接口。 2. *...
fabric8-maven-plugin, 关于Kubernetes和 OpenShift,用于获取你的Java应用程序的Maven 插件 fabric8-maven-plugin 简介这个 Maven 插件是用于构建和部署 Docker 。Kubernetes和OpenShift的Java应用程序的one-stop-...
### 超级账本 Fabric 简介 Hyperledger Fabric 是一个模块化的区块链框架,允许开发者选择不同的组件来构建适合其特定业务需求的区块链网络。其核心特性包括通道(Channels)、智能合约(Chaincode)以及权限控制,...
8. **备份与恢复**:BOFM可以对配置进行备份,防止意外修改导致的问题。在需要时,可以快速恢复到之前的配置状态。 9. **集成其他管理工具**:BOFM与其他IBM管理工具如Tivoli、System Director等兼容,提供更全面的...
#### 一、Hyperledger Fabric简介 Hyperledger Fabric是Linux基金会下Hyperledger项目中的一个子项目,它是一个模块化、可扩展的企业级区块链框架。Fabric的设计允许开发者构建高性能的分布式账本应用程序,并且...
1. Brocade Fabric OS 简介: Brocade Fabric OS (FOS) 是由Brocade Communications Systems LLC(现为Broadcom Inc.的一部分)提供的网络操作系统,专用于其光纤通道交换机产品。FOS 8.2.1版本是该系列操作系统的一...
【Laravel 开发 - Fabric 框架简介】 在 Laravel 的世界中,Fabric 是一个专为构建内容管理系统(CMS)而设计的结构框架。Laravel 是一个基于 PHP 的开源 Web 应用程序框架,以其优雅的语法和强大的功能受到开发者...
Fabric3简介** Fabric3是一个分布式应用程序平台,提供了服务发现、服务编排、负载均衡、容错、安全和监控等功能。它的设计目标是为现代云环境提供灵活的微服务架构支持。 **3. 整合Fabric3与Spring Boot** 将...
3. `README`: 项目简介,包括使用方法、依赖、贡献指南等。 4. `requirements.txt`: 项目所依赖的Python库列表。 5. `fabfile.py`: Fabric的主配置文件,包含了各种任务定义。 6. `scripts/`: 可能包含一些辅助脚本...
#### 一、Fabric简介 Fabric是一款强大的自动化部署工具,由Python编写而成。它的核心特点在于能够简化复杂的部署过程,通过编写简单的Python脚本来实现远程服务器上的各种任务自动化,例如文件传输、命令执行等。...
该产品源自Red Hat公司,其核心特点在于结合了多个Apache项目的优秀特性,包括Apache Camel、Apache CXF、Apache ActiveMQ、Apache Karaf以及Fabric8。 Apache Camel是Fuse中的关键组件,它是一个流行的Java集成...
#### 二、Fabric简介 Fabric是一个用Python编写的开源库和命令行工具,用于简化远程服务器的管理和部署过程。它通过提供一系列高级接口来封装复杂的SSH会话管理,使得开发者或运维人员能够更加高效地执行常见的远程...
功能简介: 报名内容{用户名,密码,确认密码,EMail,QQ号码 ,真实姓名 ,性别,年龄,家庭住址,电话,手机,身份证号码,密码提示问题,安全回答} 所有报名内容都要经过验证,互联网上细节做的到位的25175报名类软件 通过...
【Kubernetes简介】 Kubernetes(K8s)是Google开源的容器编排系统,它自动化了容器化应用的部署、扩展和管理,致力于优化资源使用,提供容器即服务(CaaS)平台,介于平台即服务(PaaS)和基础设施即服务(IaaS)...
8. 基于标准技术:Brocade 6505交换机遵循NPIV(N端口ID虚拟化)标准,这允许交换机将物理服务器和虚拟服务器直接展示给SAN Fabric架构的核心。 Brocade 6505还具备Brocade Access Gateway模式,这是一种将服务器...
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...