Fabric8简介

Fabric8简介_第1张图片

前言

无意中发现 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 来测试系统健壮性和可靠性
  • 管理
    • 日志 统一集群日志和可视化查看状态
    • metris 可查看历史metrics和可视化

参考

fabric8:容器集成平台——伯乐在线

Kubernetes部署微服务速成指南—— 2017-03-09 徐薛彪 容器时代微信公众号

上面那篇文章是翻译的,英文原文地址: Quick Guide to Developing Microservices on Kubernetes and Docker

fabric8官网

fabric8 get started

后记

我在自己笔记本上装了个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

你可能感兴趣的:(架构)