我是来自越南FPT大学的龙Nguyen。我的谷歌夏季2019年夏季的项目是用Kubernetes的功能远程浏览Apache Kafka.这是我第一次为Jenkins做出贡献,我非常激动地宣布在第一阶段已经完成的功能。必威国际有限公司

项目介绍

当前版本远程转换Apache Kafka插件要求用户手动配置整个系统,包括Zookeeper,Kafka和Remoting代理。它还不支持动态代理配置,因此可扩展性更难实现。我的项目旨在解决两个问题:

  1. 提供Apache Kafka集群的开箱即用解决方案。

  2. Kubernetes集群中的动态代理供应。

当前状态

  • Kubernetes连接器支持凭据。

  • Kubernetes功能中的Apache Kafka Provisioning完全实现。

  • 掌舵图已有部分实施。

Kubernetes中的Apache Kafka供应

此功能是2.0版本的一部分,因此它尚未正式发布。您可以使用使用的尝试功能实验更新中心更新到2.0.0-alpha.直接来自Master Branch的版本或构建:

git clone https://github.com/必威国际有限公司jenkinsci/remoting-kafka-plugin.git CD Remoting-Kafka-Plugin / Plugin MVN HPI:运行

在“全局配置”页面上,用户可以输入Kubernetes服务器信息和凭据。然后他们只能使用一个按钮开始Apache Kafka。

Kafka在Kubernetes Ui提供

当用户点击在Kubernetes上开始Kafka按钮,Jenki必威国际有限公司ns将根据这些信息创建一个Kubernetes客户端,然后应用Zookeeper和Kafka YAML规范文件资源

Kafka在Kubernetes建筑中供应

掌舵图表

Helm chart for Remoting over Apache Kafka插件是基于稳定/詹金斯必威国际有限公司图表和孵化器/ kafka.图表。截至目前,图表仍然是一个进行中的工作因为它阶段仍在等待云API实现。但是,您可以使用单个独立的Remoting Kafka代理查看演示图表:

git clone -b demo-helm-phase-1 https://github.com/longngn/remoting-kafka-plugin.git cd remoting-kafka-plugin K8S_Node = <你的Kubernetes节点IP> ./helm/jenki必威国际有限公司ns-remoting-Kafka / Do.sh开始

命令do.sh开始将做以下步骤:

  • 安装图表(与Jenkins和Kafka)。必威国际有限公司

  • 通过应用以下jcasc,在Jenkins控制器上启动K必威国际有限公司afka计算机。

必威国际有限公司节点: -永恒的:名称:“测试”Remotefs:“/ home / jenk必威国际有限公司ins”启动器:Kafka:{}
  • 启动一个单一的remoting Kafka Agent Pod。

您可以通过运行来检查图表状态kubectl., 例如:

$ kubectl得到全部-n演示掌上掌上名称准备状态重启年龄pod / demo-jenkins-998bcdfd4-tjmjs 2/2运行必威国际有限公司0 6m30s pod / demo-jenkins-remoting-kafka-Agent 1/1运行0 4M10S Pod / Demo-KAFKA-0 1/1运行0 6M30S POD / DEMO-ZOOKEEPER-0 1/1运行0 6M30S名称类型Cluster-IP外部IP端口AGE服务/演示 -  0-EXTENCENT NODEPOR 10.106.254.187 <无> 19092:31090/TCP 6m30s service/demo-jenkins NodePort 10.101.84.33  8080:31465/TCP 6m31s service/demo-jenkins-agent ClusterIP 10.97.169.65  50000/TCP 6m31s service/demo-kafka ClusterIP 10.106.248.10  9092/TCP 6m30s service/demo-kafka-headless ClusterIP None  9092/TCP 6m30s service/demo-zookeeper ClusterIP 10.109.222.63  2181/TCP 6m30s service/demo-zookeeper-headless ClusterIP None  2181/TCP,3888/TCP,2888/TCP 6m31s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/demo-jenkins 1/1 1 1 6m30s NAME DESIRED CURRENT READY AGE replicaset.apps/demo-jenkins-998bcdfd4 1 1 1 6m30s NAME READY AGE statefulset.apps/demo-kafka 1/1 6m30s statefulset.apps/demo-zookeeper 1/1 6m30s

下一阶段计划

关于作者
长nguyen.

龙是FPT大学的软件工程学生,越南。他开始为项目的谷歌夏季为Jenkins提供贡献必威国际有限公司用Kubernetes的功能远程浏览Apache Kafka