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

apache ignite

以前,我们已经成功创建了第一个由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

apache ignite

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值