Fabric8使用说明

fabric8(kubernetes java client) 自定义开发实战 前言 本文章主要针对需要对fabric8 java client 进行修改的读者,对fabric8进行自定义开发,调用SDK对k8s CRD(CustomResourceDefinition) 资源进行操作。本文章根据作者自己的实际开发内容为主线理清开发思路,并不会特别全面的去讲解所有知识点,需要详细了解还需要自行查阅官网,同时我也会在相应的内容里面贴出一些参考地址。如果存在说错的地方,还请指正!! github 下载相关代码以及工程简单解析 首先我们需要从fabric8 中去下载源代码. 阅读详情

Fabric8 UI

本平台基于openshift搭建 
平台信息! 
URL: http://fabric8.fabric8.ipaas.seanzhau.com 
账号: admin 
密码: 12345678 
*打开以上URL时,首先会跳到openshift登录页面。

登陆平台 
title

界面说明 
Fabric8默认项目区域,如果需要多个Team,使用右上角的“Create Team”来创建。

  • Current等同于fabric8下面的Runtime
  • Production表示生产环境
  • Staging表示预发布测试环境,用于发布正常的测试
  • Testing表示自动化集成测试环境,自定义的脚本自动化测试

title

Other Namespaces区域,主要是openshift默认的namespace,主要是openshift平台用来做日志采集、监控和cicd等应用的namespace,与fabric8使用无关,严禁删除。 
title

进入“Runtime” 
title

快捷连接 
Gogs:代码管理系统,默认账号:gogsadmin:RedHat$1 
Grafana:图像监控系统,默认账号:admin:admin 
Jenkins:持续集成系统 
Kibana:日志系统 
Nexus:二进制包管理系统,默认账号:admin:admin123 
Prometheus:监控数据存储 
title

Jenkins 
title

gogs 
title

Nexus 
title

Overview 
主要是服务运行管理。 
Run:运行一个fabric8提供的快捷服务(运行在容器中)。 
Pods:pod数量伸缩管理,修改副本的数量。 
title

Run 
title

Pods 
title

Services 
每一个应用对应为一个service,主要是fabric8系统服务,service也可以看作为负载均衡。 
title

Deployments 
用于创建服务的yaml配置,点击Name可以查看配置详细内容,点击Scale可以修改副本的数量。 
title 
配置内容 
title 
Config快捷连接 
title

Replicas 
每修改一次Deployments,pod都会重新构建,因此会有多个历史版本。Replicas用于管理管理这些版本,Name后面的数字表示这个服务pod构建的次数。默认新版本启动以后,老版本会自动停止。对于不用的pod我们可以删除。 
title

Pods 
Pods就是具体的服务实例 
Name:服务名称 
Status:服务状态,可以查看Pod Terminal(显示器图标)和服务日志(文本图标) 
Events:是pod运行的日志,注意区分服务日志 
Restarts:重启次数 
Age:启动时长 
Images:运行这个pod使用的镜像以及版本 
Host:pod所在的宿主机 
title

Pod Terminal 
title

服务日志 
title

Config 
应用关联配置,也可以说应用使用外部其他服务的配置(目前还未深入了解,慎用!)。有变量配置和yaml配置2种方式。 
title 
变量配置 
title 
YAML配置 
title

Events 
pod事件 
title

Secrets 
各服务之间认证证书、密钥、账号密码等 
title

Nodes 
宿主机节点,可以看到fabric8在每个节点上运行的pod数量 
title

Diagram 
Pod、Node和服务端口关联拓扑 
title

Dashboard 
自建App在各环境发布情况,各Environment中pod数量。 
title

Apps 
自建应用列表,包含应用名称、仓库连接和版本信息等。 
title

Builds 
所有App构建历史,Pipeline快捷连接 
title

Environments 
环境配置,和Team界面对应 
title

Create Apps

Creat App 
在Dashboard和Apps界面都可以创建新的应用,点击右上角的“Creat App” 
title

选择应用仓库 
Setup Gogs Secret:配置gogs账号,即使有fabric8自带的代码仓库,我们选择fabric8自带的gogs仓库。 
Import from Git:使用外部代码仓库。 
title

Setup Gogs Secret 
第一次使用如果有账号就选择默认账号,如果没有账号则需要手动创建。点击下面的“Create New Secret” 
title

Create New Secret 
这个账号一定要与gogs里面的账号一致,不熟悉fabric8的情况下,别随意修改gogs默认的账号和密码,一些列的账号密码问题会很头疼。 
新建账号可以使用账号密码,也可以使用ssh key。 
title

重新进入创建应用界面,选择“Creat New App” 
title

Creat Project 
可以选择Quickstart也可以根据自己的需求来选择,Quickstart提供了一些自带的模板,自定义选择需要自己手动选择。 
Name:App名称 
Top level package:包com.abc… 
Version:版本信息 
title

Creat Project选择模板 
title

Creat Project自定义模板 
title

Pipeline 
根据需求选择一个pipeline,勾选Copy pipeline to project,点Next完成创建。完成创建以后默认会自动执行一次构建。 
title

App demo 
项目界面,使用快捷连接查看jenkins和gogs确认项目创建的情况。 
title

Jenkins项目界面 
title

Gogs项目界面 
title

Apps 
Java类应用默认会生成一个类似于demo-s2i的app,用于构建镜像。s2i指source to images。 
title

Dashboard 
Environments:项目发布的情况 
Active Pipelines:pipeline执行详情,构建完成以后点Proceed完成生产发布,点Abort取消发布。 
Commits:gogs中该项目提交的历史 
title

Proceed发布 
title

Proceed发布完成 
title

Pipelines历史 
title

Builds历史 
title

Settings 
Core:代码gogs连接,主要配置默认不用修改 
Secrets:配置gogs账号密码,不用修改 
Pipeline:选择pipeline模板,不用修改 
title

Source 
源码目录和gogs项目文件一致,fabric8项目和普通我们本地项目的差别在于以下3个文件:

  • Jenkinsfile
  • Fabric8.yml
  • pom.xml

title

Fabric8.yml 
声明了这是一个fabric8项目,并且定义了fabric8对于该项目的使用哪一个jenkinsfile,以及定义项目的environments。

这个文件根据我们前面选择的pipeline模板自动生成。 
title

Jenkinsfile 
Jenkinsfile:是项目使用Jenkins pipeline的主要文件,里面定义了pipeline的主要流程,使用基础image名称和版本信息。 
title

pom.xml 
与本地项目对比,多定义了fabric8-maven-plugin、 maven-compiler-plugin、metric和log插件。

我们在实际的使用过程中,以我们现有app的pom.xml为母版,将我们刚刚创建的fabric8的pom.xml内容合并到现有的app中。 
title

fabric8-staging 
通过“Teams - fabric8 – Environments - fabric8-staging”进入,查看pod运行状况。(参考PPT Environments) 
title

fabric8-testing 
通过“Teams - fabric8 – Environments - fabric8-testing”进入,查看pod运行状况。(参考PPT Environments) 
title

fabric8-production 
通过“Teams - fabric8 – Environments - fabric8-production”进入,查看pod运行状况。(参考PPT Environments) 
title

遇到过的问题

  • 无法解析gogs域名,这个主要是dnsmasq解析的问题
  • 提示目录已存在,需要进入fabric8-forge所在的pod删除/tmp/fabric8-forge/user/gogsadmin/{app名称}
  • 提示gogs仓库已经存在该项目,登录gogs删除项目
  • 进入app dashboard加载慢,主要是因为fabric8-forge下的缓存目录加载慢,可能与磁盘的IOPS有关
  • unable to resolve class io.fabric8.Utils,删除jenkins pod
  • jenkins-workflow-library.git下载慢,把仓库迁移至本地gogs
  • Pod重建重新下载maven数据,使用外部pvc存储数据
  • 创建项目时选择pipeline一直在加载,需要进入fabric8-forge删除 /tmp/fabric8-forge/user/gogsadmin/{app名称}和/tmp/fabric8-forge/namespace/user-secrets-source-awadmin/gogs/fabric8/{app名称} 下的缓存文件,重新进入项目的secrets配置。

官方文档


版权所有,转载请注明出处:https://ipaas.com.cn/blog/post/seanzhau/aa95e6279f35。

io.fabric8:docker-maven-plugin 这个插件构建 Docker 镜像的原理 它充当了 Maven 和 Docker Daemon(Docker 守护进程)之间的“翻译官”和“协调员”。准备构建上下文 (Build Context):插件根据你的 pom.xml 配置,在内存中或临时目录中创建一个符合 Docker 要求的“构建上下文”。这个上下文本质上是一个包含了 Dockerfile 和所有需要被复制到镜像中的文件(比如你的 JAR 包)的压缩包(.tar.gz)。调用 Docker Remote API。 阅读详情

相关推荐

springboot调用k8s-api以io.fabric8方式创建容器删除命名空间

上一篇博客讲的是client-java方式来调用k8s客户端接口进行操作https://blog.csdn.net/dfBeautifulLive/article/details/103084362 这一篇就用io.fabric8方式来调用k8s客户端接口进行操作把! 1.初始化连接 public KubernetesClient fabric8Connection...

dfBeautifulLive的博客 3831

Fabric8使用文档

Fabric8 Kubernetes Java Client Cheat Sheet This document contains common usages of different resources using Fabric8 Kubernetes Client. Table of Contents Initializing Kubernetes Client Kubernetes Client DSL Usage Pods Service Deployment ReplicaSet Rep

whatzhang007的博客 6342

[Linux][Kubernetes][fabric8]安装fabric8全攻略

前言之前项目要求安装fabric8,在官网,各大博客中浏览无数,发现坑实在太多,特地写下这篇文章,希望对后来想尝试kubernetes和fabric8的同学们有所帮助。什么是dockerdocker是一个开源的容器平台,我们可以粗略的理解为虚拟机,用户使用image挂载一个docker之后,就可以像虚拟机一样访问一个资源,docker相对于虚拟机有很多优势,比如它更加轻量级,更加容易启动和管理等。当

tlytg的博客 6845

【Java】基于fabric8io库操作k8s集群实战(pod、deployment、service、volume)

基于fabric8io实现操作k8s集群(pod、deployment、service、volume)

小样yx的博客 5661

Hyperledger Fabric(三)- fabric-sdk-java

Fabric SDK目前最新的Hyperledger Fabric的官方文档(v1.1.0-preview)上,对于Fabric SDK的描述仍少的可怜,仅是简单的几句描述,再加上两个github链接。本文旨在运行fabric-sdk-java,方便对chaincode进行调试,同时也可以对多节点进行测试。

MyIgnorance的博客 1万+

Python 驱动 CAD 二次开发:从零搭建自动化绘图环境

本文详细介绍了如何利用Python进行CAD二次开发,实现自动化绘图。通过win32com库建立Python与CAD软件的通信,文章从环境搭建、连接CAD、操作文档到核心绘图与批量处理,提供了完整的实战指南。该方法能显著提升机械设计、建筑绘图等领域的重复性工作效率,将创造力从繁琐劳动中解放出来。

weixin_29093169的博客 1230

Fabric8 HTTP网关

最近,我整理了一个快速的Github项目,以展示Fabric8 HTTP网关的运行情况。 它显示了一个示例项目,可用于测试HTTP网关。 Fabric8附带的example / camel / cxf配置文件现在基本上执行相同的操作。 Fabric8网关 该Fabric8项目-明显的编造 -是一个实用的DevOps框架,为在JVM上运行的服务。 无论您使用的是JVM容器(或无容器-微服务...

danpob13624的博客 216

XGBoost详解(原理篇)

XGBoost全称为eXtreme Gradient Boosting,即极致梯度提升树。XGBoost是Boosting算法的其中一种,Boosting算法的思想是将许多弱分类器集成在一起,形成一个强分类器(个体学习器间存在强依赖关系,必须串行生成的序列化方法)。Note:关于Boosting算法详见博文集成学习详解_tt丫的博客-优快云博客XGBoost是一种提升树模型,即它将许多树模型集成在一起,形成一个很强的分类器。其中所用到的树模型则是CART回归树模型。

tt丫的博客 7万+

Fabric8 Pipeline Library 使用手册

Fabric8 Pipeline Library 使用手册 项目目录结构及介绍 Fabric8 Pipeline Library 是一个专为 Jenkins 设计的管道库,旨在简化和标准化持续集成(CI)和持续部署(CD)流程,特别是在与 Kubernetes 生态系统交互时。该仓库位于 GitHub 上。以下是其核心目录结构概述: src 目录包含了主要的代码资源。 io/fabric8 下...

gitblog_00357的博客 372

解锁RK3588视觉潜能:RGA硬件加速库实战指南

本文深入探讨了如何利用RK3588芯片内置的RGA硬件加速库,解决视觉应用中图像预处理的性能瓶颈。通过实战指南,详细介绍了RGA库在YUV转RGB、图像缩放等核心操作上的应用,相比CPU软处理可大幅降低延迟与CPU占用,从而充分释放RK3588的NPU算力,构建高效的AI视觉预处理流水线。

zeta9的博客 669

DEMATEL-ISM模型的Python实现——方法介绍以及代码复现

本文参考文献与网络资料,对DEMATEL-ISM方法做了介绍何步骤描述,并给出Python代码进行了计算和绘图。

cros1的博客 2万+

Fabric8 Kubernetes 客户端安装与使用指南

Fabric8 Kubernetes 客户端安装与使用指南 项目地址:https://gitcode.com/gh_mirrors/ku/kubernetes-client 一、项目介绍 Fabric8 Kubernetes客户端是用于Java环境下的Kubernetes操作工具包。它提供了一套丰富的接口集合,使得开发人员能够在Java应用程序中无缝地进行Kubernetes资源管理,包括Pods...

gitblog_00638的博客 1079

ZYNQ软件复位重启、程序跳转的实现方法(Multiboot)

目录一、增加FSBL的调试信息 一、增加FSBL的调试信息 启动过程的调试信息如下: Xilinx First Stage Boot Loader Release 2016.4 Jan 19 2020-10:35:00 Devcfg driver initialized Silicon Version 3.1 Boot mode is QSPI Single Flash Informat...

weixin_41922484的博客 2万+

kubernates的api访问java实现—Fabric8

2017年03月09日 14:04:14xiaomin_____阅读数:379 此文仅供了解kubernates的开发人员写api接口时参考。 一、前言 Java访问kubernates API的方式有很多,用java语言开发的有两种,一个是基于Jersey的,一个是基于Fabric8。因为Kubernates API Server就是RESRFul Web Service,而Je...

大JAVA解决方案 833

VMware VSAN 高级参数介绍(测试用)

VSAN 的策略驱动让我们看到了VSAN无穷的潜力,其设计思路相当新颖,在一个基础资源池上使用策略就能实现不同对象的区分服务,而目前没有其他厂家能到VMware这样的高度。 VSAN 呈现给用户配置很简单,但实际上设计及后台比较复杂。笔者无意间发现了VSAN的隐藏高级参数设置,有很多好玩的选项想分享出来。这些参数全部是针对每主机进行设置的。VSAN 中有很多默认设置,这些设置应该都是研发人员多次测试得出的最优值,修改可能导致环境异常,并不建议修改! 目录 参数1:全闪配置下 SSD 写缓存最大.

山水牧羊 2031

CC2340R5-OAD升级实战:从配置到调试的全流程解析

本文详细解析CC2340R5芯片的OAD(空中升级)全流程,涵盖环境配置、MCU-BOOT、OAD-BL和OAD-APP程序开发,以及内存布局和调试技巧。通过实战案例展示如何实现蓝牙设备的远程固件升级,提升开发效率和产品可维护性。

silver的专栏 1063

2、fabric node sdk1.4.8加入通道

文章目录声明使用的版本准备工作加入通道的思路开始用sdk实现参考网站 声明使用的版本 fabric版本如下:1.4.8 node-sdk版本:1.4.8 node版本:v8.11.1 ubuntu版本:16.04 准备工作 首先需要准备一个区块链的网络文件(保存为connect-sdk.json),我先贴一个下文用到的,可以参考我的来进行修改 { "name": "Network", "version": "1.0", "channels": { "mychannel": {

孤独的糖三角 286

Oracle EBS R12.2.X JSP部署、编译和配置相关操作。

系统环境 RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.6 背景 在某项目上,需要开发JSP相关程序,比如单点登陆、打印二维条码。当前把JSP部署编译以后,访问提示错误:Requested resource or page is not allowed in this site, 通过查SR发现Oracle EBS R12.2.X版本对客制化JSP进行权限控限,需要设置某些配置文件。 实例操作步骤 上传JSP文件 通常上传到$OA_HTML目录或其子目

陈显平的专栏-Oracle EBS 1911

K8S入门系列(10)-使用开源项目io.fabric8之docker-maven-plugin插件打包Docker镜像至私服

前言 随着容器化部署方式的流行,各IT公司大部分已经完成了云原生架构实现,如何将 项目工程打包成镜像并运行?国外已有众多基于Maven插件实现的打包方案,本文 已实测并实现了几种常见的打包方式,比如谷歌公司的jib、spotify等插件,实际 使用中,总出现与实际项目不太契合等各种问题,继续搜索实测后,发现了一个开源 打包插件,功能强大且使用简单,但国内相关资料甚少,所以鄙人记录之,望能帮助 到需要的小伙伴~ 插件介绍 基网地址:https://github.com/fabric8io/docker-

记录知识、锤炼自我 3026

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Fabric8使用和使用遇到的坑

使用 pom <dependency> <groupId>io.fabric8</groupId> <artifactId>kubernetes-client</artifactId> <version>4.12.0</version> </dependency> 配置加载KubernetesClient fabric8连接k8sMaster有多种方法,我使用的是证书连接 applic

whatzhang007的博客 3289

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

HyperLedger Fabric中Fabric-CA的使用

一、简介 在e2e_cli的例子中,所有用到的证书和私钥都是由cryptogen这个工具根据crypto-config.yaml而生成的。但是在实际的生产环境中,我们需要给每个org都建立自己的CA,用来管理本org的用户。本次是以e2e_cli为例子,然后手动的生成所有的证书和私钥,并进行手动的执行例子进行验证。本次实验只部署了一个Fabric-CA作为rootCA。 二、环境准备 1.Linu...

yuandeng1024的博客 3540

Fabric8 连接 kubernetes

Fabric8 client 连接 Kubernetes 示例 package io.fabric8.kubernetes.examples; import io.fabric8.kubernetes.api.model.Namespace; import io.fabric8.kubernetes.api.model.NamespaceBuilder; import io.fabric8.ku...

安心Smile的博客 3089

fabric8 java api_Fabric8浅析

我们通过Fabric8调用k8s的功能接口,从而实现k8s的控制台开发,虽然k8s以及提供了控制台,但是本身的控制台已经不怎么更新,为了使用更方便,我们决定自己搭建控制台并结合之前的项目完成一个叠加融合。展示一下官方的控制台:image.png废话少说,我们来看看如何使用Fabric8。要使用Fabric8我们就要调用其中的方法,找不到对应的方法在哪个类下是使用Fabric8的难题。这次我们就来解...

weixin_33740713的博客 891

Hyperledger Fabric 智能合约开发及 fabric-sdk-go/fabric-gateway 使用示例

在上个实验 Hyperledger Fabric 多组织多排序节点部署在多个主机上 中,我们已经实现了多组织多排序节点部署在多个主机上,但到目前为止,我们所有的实验都只是研究了联盟链的网络配置方法(尽管这确实是重难点),而没有考虑具体的应用开发。本文将在前面实验的基础上,首先尝试使用 Go 语言开发了一个工作室联盟链的项目信息智能合约,并成功将其部署至联盟链上;然后依据官方示例,使用 fabric-gateway 模块实现了一个能够管理项目信息智能合约的客户端;之后对比了 fabric-gateway 模块

风色幻想的博客 3万+

Fabric8 开发者平台使用教程

Fabric8 开发者平台使用教程 项目介绍 Fabric8 是一个基于 Kubernetes 和 OpenShift 的开发者平台,旨在简化微服务的开发、部署和管理。它提供了一系列的工具和服务,包括持续集成/持续部署(CI/CD)、单点登录(SSO)、开发者控制台等。Fabric8 的核心理念是通过自动化和简化流程,提高开发效率。 项目快速启动 安装 Minishift 首先,确保你已经安装了 ...

gitblog_00703的博客 486

基于Fabric8将SpringBoot工程快速构建镜像并发布到k8s详细教程

基于Fabric8将SpringBoot工程快速打包镜像并发布到k8s详细教程 dockerfile、deployment.yml...很难写?构建应用到k8s很麻烦? 本文教你一句命令实现springboot发布应用到k8s, 告别那些年的dockerfile\deployment.yml\service.yml...

富强说 4038
上一篇: 开源微服务管理平台fabric8简介
下一篇: Jenkins pipeline:pipeline 使用之语法详解
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值