Kubernetes集群上的Apache Ignite和Spring第2部分:Kubernetes部署

以前,我们已经成功创建了第一个由Apache Ignite支持的Spring boot Application。

在此博客上,我们将重点介绍Kubernetes方面需要做的事情,以便能够启动我们的应用程序。

如先前博客所述,我们需要制定我们的Kubernetes RBAC策略。

我们需要一个角色,一个服务帐户和绑定。

 apiVersion: rbac.authorization.k8s.io / v1  kind: ClusterRole  metadata: name: job - cache  rules: - apiGroups: - "" resources: - pods - endpoints verbs: - get - list - watch  - - -  apiVersion: v1  kind: ServiceAccount  metadata: name: job - cache  - - -  apiVersion: rbac.authorization.k8s.io / v1  kind: ClusterRoleBinding  metadata: creationTimestamp: 2020 - 03 - 07T22 : 23 : 50Z name: job - cache  roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: job - cache  subjects: - kind: ServiceAccount name: job - cache namespace: "default" 

我们的服务帐户将是作业缓存。 这意味着我们应该将作业缓存服务帐户用于基于Ignite的工作负载。

下一步是创建部署。 如前一篇文章所述,该配置与statefulset不会有很大不同。

 apiVersion: apps / v1  kind: Deployment  metadata: name: job - api - deployment labels: app: job - api  spec: replicas: 2 selector: matchLabels: app: job - api template: metadata: labels: app: job - api spec: containers: - name: job - api image: job - api: 1.0 env: - name: IGNITE_QUIET value: "false" - name: IGNITE_CACHE_CLIENT value: "false" ports: - containerPort: 11211 protocol: TCP - containerPort: 47100 protocol: TCP - containerPort: 47500 protocol: TCP - containerPort: 49112 protocol: TCP - containerPort: 10800 protocol: TCP - containerPort: 8080 protocol: TCP - containerPort: 10900 protocol: TCP serviceAccount: job - cache serviceAccountName: job - cache 

由于Ignite配置已通过Java代码完成,因此这更简单。
您看到的图像应该是我们之前使用的dockerized Java应用程序。
下一步是定义服务。 我不会全部使用一项服务。 相反,我将为缓存创建一个服务,并为我们的api创建一个服务,以便用作api。

 apiVersion: v1  kind: Service  metadata: labels: app: job - cache name: job - cache  spec: ports: - name: jdbc port: 11211 protocol: TCP targetPort: 11211 - name: spi - communication port: 47100 protocol: TCP targetPort: 47100 - name: spi - discovery port: 47500 protocol: TCP targetPort: 47500 - name: jmx port: 49112 protocol: TCP targetPort: 49112 - name: sql port: 10800 protocol: TCP targetPort: 10800 - name: rest port: 8080 protocol: TCP targetPort: 8080 - name: thin - clients port: 10900 protocol: TCP targetPort: 10900 selector: app: job - api type : ClusterIP 

在不涉及kubernetes详细信息的情况下,Ignite节点应使用作业缓存内部dns进行同步。 因此,我们将使用kubernetes内部dns功能与Ignite群集进行通信。

下一步是为实际的作业api应用程序创建服务。

 apiVersion: v1  kind: Service  metadata: labels: app: job - api name: job - api  spec: ports: - name: rest - api port: 80 protocol: TCP targetPort: 8080 selector: app: job - api sessionAffinity: None type : ClusterIP 

在以下博客中,我们将我们的配置应用于kubernetes并测试我们的代码库。

翻译自: https://www.javacodegeeks.com/2020/04/apache-ignite-and-spring-on-your-kubernetes-cluster-part-2-kubernetes-deployment.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos6.5 安装多个mysql_在centos6,5(64位)系统安装多实例mysql5.6

首先你安装个单实例的mysql试一试一 检查你电脑之前是否装了mysqlrpm -qa | grep mysql这条命令只是查看你系统是否使用过yum或者rpm包安装mysql,对用源码包安装的mysql是查不到的,所以基本用不到二 安装编译所需的包yum -y install make gcc-c cmake bi…

hibernate jpa_JPAHibernate替代方案。 如果JPA或Hibernate对于我的项目而言不够好,该怎么办?...

hibernate jpa你好!你好吗? 今天我们将讨论不建议使用JPA / Hibernate的情况。 在JPA领域之外,我们还有哪些选择? 我们将谈论的是: JPA /Hibernate问题 解决一些JPA /Hibernate问题的方法 选择此处描述的框架的标准…

mysql中常见查询表_MySQL中常见查询

1 --1、查询“001”课程比“002”课程成绩高的所有学生的学号;2 SELECT a.s FROM sc a,sc b WHERE a.sb.s AND a.c1 AND b.c2 AND a.score >b.score;3 --2、查询平均成绩大于60分的同学的学号和平均成绩;4 SELECT student.s,avg(score) FROM student,…

约束流–没有Drools规则语言的现代Java约束

传统上,要使用OptaPlanner进行扩展,您必须学习DRL。 不再。 借助受Java 8 Streams和SQL启发的新Constraints Streams API,您现在可以用Java (或Kotlin或Scala) 编写约束,并且仍然可以从增量计算中受益。 在…

mysql数据库杀掉堵塞_Mysql解决USE DB堵塞详解

遇到故障,我们往往想的是如何解决这个故障,而不是从故障的根本去思考出现这个故障的原因?这样的结果,只能使我们得到了鱼,失去了渔。今天,我们就来分享一个由USE DB堵塞故障引发的思考案例。故障描述今天一…

java拦截器项目应用_使用拦截器分析Java EE应用程序的性能下降/提高

java拦截器项目应用在开发具有某些性能要求的Java EE应用程序时,必须在每个发行版之前验证是否满足这些要求。 您可能会想到,哈德森的一项工作每天晚上在某些特定的硬件平台上执行一系列测试测量。 您可以检查已实现的时间并将它们与给定的要求进行比较…

iis web.config 配置 经典模式_django部署在iis下,webconfig错误

django部署在iis下,webconfig错误错误原因:iis7以后,web.config管理机制更安全了默认情况下,会锁住配置项,不许修改怎么办?如何求解以上问题呢?D:django_websiteshello>%windir%C:Windows 不…

如何在Java中验证电话号码(正则表达式+ Google libphonenumber)

关于如何在不同国家(例如美国,美国)使用Java验证电话号码的快速指南。 带有正则表达式和Google libphonenumber API的示例程序。 1.简介 在本教程中,我们将学习如何在java中验证电话号码 。 这主要是为了验证美国和印度的国家/地…

mysql该账户已存在_mysql 查看函数的所属用户和已存在的函数

复现方式:Delete FROM user Where Usertest and Host%;flush privileges;修复流程:1.用root用户删除两个函数,语句分别为DROP FUNCTION IF EXISTS currval;DROP FUNCTION IF EXISTS nextval;2.然后用程序用户(sharding_slave)创建函数&#x…

joo工作流_不要错过使用jOOλ或jOOQ编写Java 8 SQL单行代码的机会

joo工作流越来越多的人通过为他们的业务采用功能性编程来赶上我们平台的最新更新。 在Data Geekery ,我们将Java 8用于jOOQ集成测试,因为将新的Streams API与lambda表达式一起使用使生成临时测试数据变得非常容易。 但是, 我们并不认为JDK提…

session mysql登录实现_PHP+MYSQL+MYSQL+SESSION实现用户登录的实例

这是我写的用户登录界面。session_start();include(menu2.php);require(configywcl.php);//加载配置文件require(functions.php);?>请登录系统if ($username){$passwordmd5($password);$sql"select * from user where username$username and password$password";…

使用OpenSSL加密,使用Java解密,使​​用OpenSSL RSA公钥

抽象 在2017年,我撰写了一个由三部分组成的系列文章,内容涉及选择最佳的哈希和加密算法。 在对该系列进行研究时,我学到了很多有关哈希和加密的知识。 我学到的最重要的事情是,尽管我必须对如何使用最安全的算法进行自我教育&…

axture动画原型制作_Axure制作原型-基础操作

产品原型从类型可以分为手稿、线框图、低保真、高保真几种效果,在制作的时候分为不同场景来决定我们的输出物类型。比如在会议中为了快速的确定产品规划方向,迅速的记录及表达出当前灵感的碰撞,这个时候通常使用手稿的形式快速绘制&#xff0…

有效Java第三版的源代码已更新为使用较新的功能

那些已经阅读了有效Java 第三版的人可能知道与该书相关的源代码可以在GitHub上获得 。 jbloch / efficiency-java-3e-source-code项目拥有1700多个星星,截至撰写本文时,它已被分叉了近800次。 在有效Java的第三版中, Java的版本主要是JDK 8&a…

mysql 远程连接取消权限_MYSQL远程登录权限设置

Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录:1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY WITH GRANT OPTION;IDENTIFIED BY后跟的是密码,可设为空。2. FLUSH privileges; 更新Mysql为了安…

spring和spring_Spring WebApplicationInitializer和ApplicationContextInitializer的混淆

spring和spring我偶尔会混淆这两个概念-WebApplicationInitializer和ApplicationContextInitializer,并希望描述它们中的每一个,以便为我自己澄清它们。 我以前曾在这里写过有关WebApplicationInitializer的博客。 它仅在符合Servlet 3.0规范的Servlet容…

mybatis mysql demo_SpringBoot(入门Demo,整合mybatis,连接mysql)

1.简介SpringBoot提供一种固定的、约定优于配置风格的框架,使开发者更快地创建基于spring的应用和程序。可以高效的创建基于Spring的应用服务(SpringBoot不是对spring功能的增强,而是可以更快速使用spring)。为微服务spring cloud铺路,可整合…

HttpClient 4 API –获取状态码-getStatusLine()。getStatusCode()示例

在HttpClient API中获取状态代码的快速指南。 getStatusLine()。getStatusCode()示例和相关的错误。 1.简介 在这个非常快速的教程中,我将展示如何使用HttpClient 4获取和验证HTTP响应的StatusCode。 2. Maven依赖 要…

css table嵌套内部table不受外部影响_HTML+CSS网页一揽子(4)

CSS重要属性之浮动基本属性:float:left;左浮动float:right;右浮动float:none;不浮动(一般应用于覆盖既有浮动属性时使用)clear:both;清除浮动对其他元素带来的影响应用场景:(1)网站大的结构布局&#xff1a…

ejb构建_如何使用单例EJB和MBean构建和清除参考数据缓存

ejb构建在我的一个项目中,我需要使用EclipseLink作为ORM框架从Java EE 6 WebLogic环境中的多个源中加载参考数据。 由于我在Java EE世界中找不到与Spring YET的Cacheable相当的注释,因此我不得不编写自己的缓存解决方案。 尽管参考数据几乎不会随时间变化…