日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

如何把Spring Cloud Data Flow部署在Kubernetes上

瀏覽:31日期:2023-08-23 16:54:59

1 前言

Spring Cloud Data Flow在本地跑得好好的,為什么要部署在Kubernetes上呢?主要是因為Kubernetes能提供更靈活的微服務管理;在集群上跑,會更安全穩定、更合理利用物理資源。

Spring Cloud Data Flow入門簡介請參考:Spring Cloud Data Flow初體驗,以Local模式運行

2 部署Data Flow到Kubernetes

以簡單為原則,我們依然是基于Batch任務,不部署與Stream相關的組件。

2.1 下載GitHub代碼

我們要基于官方提供的部署代碼進行修改,先把官方代碼clone下來:

$ git clone https://github.com/spring-cloud/spring-cloud-dataflow.git

我們切換到最新穩定版本的代碼版本:

$ git checkout v2.5.3.RELEASE

2.2 創建權限賬號

為了讓Data Flow Server有權限來跑任務,能在Kubernetes管理資源,如新建Pod等,所以要創建對應的權限賬號。這部分代碼與源碼一致,不需要修改:

(1)server-roles.yaml

kind: RoleapiVersion: rbac.authorization.k8s.io/v1metadata: name: scdf-rolerules: - apiGroups: [''] resources: ['services', 'pods', 'replicationcontrollers', 'persistentvolumeclaims'] verbs: ['get', 'list', 'watch', 'create', 'delete', 'update'] - apiGroups: [''] resources: ['configmaps', 'secrets', 'pods/log'] verbs: ['get', 'list', 'watch'] - apiGroups: ['apps'] resources: ['statefulsets', 'deployments', 'replicasets'] verbs: ['get', 'list', 'watch', 'create', 'delete', 'update', 'patch'] - apiGroups: ['extensions'] resources: ['deployments', 'replicasets'] verbs: ['get', 'list', 'watch', 'create', 'delete', 'update', 'patch'] - apiGroups: ['batch'] resources: ['cronjobs', 'jobs'] verbs: ['create', 'delete', 'get', 'list', 'watch', 'update', 'patch']

(2)server-rolebinding.yaml

kind: RoleBindingapiVersion: rbac.authorization.k8s.io/v1beta1metadata: name: scdf-rbsubjects:- kind: ServiceAccount name: scdf-saroleRef: kind: Role name: scdf-role apiGroup: rbac.authorization.k8s.io

(3)service-account.yaml

apiVersion: v1kind: ServiceAccountmetadata: name: scdf-sa

執行以下命令,創建對應賬號:

$ kubectl create -f src/kubernetes/server/server-roles.yaml $ kubectl create -f src/kubernetes/server/server-rolebinding.yaml $ kubectl create -f src/kubernetes/server/service-account.yaml

執行完成后,可以檢查一下:

$ kubectl get roleNAME AGEscdf-role 119m$ kubectl get rolebindingNAME AGEscdf-rb 117m$ kubectl get serviceAccountNAME SECRETS AGEdefault 1 27dscdf-sa 1 117m

2.3 部署MySQL

可以選擇其它數據庫,如果本來就有數據庫,可以不用部署,在部署Server的時候改一下配置就好了。這里跟著官方的Guide來。為了保證部署不會因為鏡像下載問題而失敗,我提前下載了鏡像:

$ docker pull mysql:5.7.25

MySQL的yaml文件也不需要修改,直接執行以下命令即可:

$ kubectl create -f src/kubernetes/mysql/

執行完后檢查一下:

$ kubectl get SecretNAME TYPE DATA AGEdefault-token-jhgfp kubernetes.io/service-account-token 3 27dmysql Opaque 2 98mscdf-sa-token-wmgk6 kubernetes.io/service-account-token 3 123m$ kubectl get PersistentVolumeClaimNAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGEmysql Bound pvc-e95b495a-bea5-40ee-9606-dab8d9b0d65c 8Gi RWO hostpath 98m$ kubectl get DeploymentNAME READY UP-TO-DATE AVAILABLE AGEmysql 1/1 1 1 98m$ kubectl get ServiceNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEmysql ClusterIP 10.98.243.130 <none> 3306/TCP 98m

2.4 部署Data Flow Server

2.4.1 修改配置文件server-config.yaml

刪除掉不用的配置,主要是Prometheus和Grafana的配置,結果如下:

apiVersion: v1kind: ConfigMapmetadata: name: scdf-server labels: app: scdf-serverdata: application.yaml: |- spring: cloud: dataflow: task: platform: kubernetes: accounts: default: limits: memory: 1024Mi datasource: url: jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT}/mysql username: root password: ${mysql-root-password} driverClassName: org.mariadb.jdbc.Driver testOnBorrow: true validationQuery: 'SELECT 1'

2.4.2 修改server-svc.yaml

因為我是本地運行的Kubernetes,所以把Service類型從LoadBalancer改為NodePort,并配置端口為30093。

kind: ServiceapiVersion: v1metadata: name: scdf-server labels: app: scdf-server spring-deployment-id: scdfspec: # If you are running k8s on a local dev box or using minikube, you can use type NodePort instead type: NodePort ports: - port: 80 name: scdf-server nodePort: 30093 selector: app: scdf-server

2.4.3 修改server-deployment.yaml

主要把Stream相關的去掉,如SPRING_CLOUD_SKIPPER_CLIENT_SERVER_URI配置項:

apiVersion: apps/v1kind: Deploymentmetadata: name: scdf-server labels: app: scdf-serverspec: selector: matchLabels: app: scdf-server replicas: 1 template: metadata: labels: app: scdf-server spec: containers: - name: scdf-server image: springcloud/spring-cloud-dataflow-server:2.5.3.RELEASE imagePullPolicy: IfNotPresent volumeMounts: - name: database mountPath: /etc/secrets/database readOnly: true ports: - containerPort: 80 livenessProbe: httpGet: path: /management/health port: 80 initialDelaySeconds: 45 readinessProbe: httpGet: path: /management/info port: 80 initialDelaySeconds: 45 resources: limits: cpu: 1.0 memory: 2048Mi requests: cpu: 0.5 memory: 1024Mi env: - name: KUBERNETES_NAMESPACE valueFrom: fieldRef: fieldPath: 'metadata.namespace' - name: SERVER_PORT value: ’80’ - name: SPRING_CLOUD_CONFIG_ENABLED value: ’false’ - name: SPRING_CLOUD_DATAFLOW_FEATURES_ANALYTICS_ENABLED value: ’true’ - name: SPRING_CLOUD_DATAFLOW_FEATURES_SCHEDULES_ENABLED value: ’true’ - name: SPRING_CLOUD_KUBERNETES_SECRETS_ENABLE_API value: ’true’ - name: SPRING_CLOUD_KUBERNETES_SECRETS_PATHS value: /etc/secrets - name: SPRING_CLOUD_KUBERNETES_CONFIG_NAME value: scdf-server - name: SPRING_CLOUD_DATAFLOW_SERVER_URI value: ’http://${SCDF_SERVER_SERVICE_HOST}:${SCDF_SERVER_SERVICE_PORT}’ # Add Maven repo for metadata artifact resolution for all stream apps - name: SPRING_APPLICATION_JSON value: '{ 'maven': { 'local-repository': null, 'remote-repositories': { 'repo1': { 'url': 'https://repo.spring.io/libs-snapshot'} } } }' initContainers: - name: init-mysql-wait image: busybox command: [’sh’, ’-c’, ’until nc -w3 -z mysql 3306; do echo waiting for mysql; sleep 3; done;’] serviceAccountName: scdf-sa volumes: - name: database secret: secretName: mysql

2.4.4 部署Server

完成文件修改后,就可以執行以下命令部署了:

# 提前下載鏡像$ docker pull springcloud/spring-cloud-dataflow-server:2.5.3.RELEASE# 部署Data Flow Server$ kubectl create -f src/kubernetes/server/server-config.yaml $ kubectl create -f src/kubernetes/server/server-svc.yaml $ kubectl create -f src/kubernetes/server/server-deployment.yaml

執行完成,沒有錯誤就可以訪問:http://localhost:30093/dashboard/

如何把Spring Cloud Data Flow部署在Kubernetes上

3 運行一個Task

檢驗是否部署成功最簡單的方式就是跑一個任務試試。還是按以前的步驟,先注冊應用,再定義Task,然后執行。

我們依舊使用官方已經準備好的應用,但要注意這次我們選擇是的Docker格式,而不是jar包了。

如何把Spring Cloud Data Flow部署在Kubernetes上

如何把Spring Cloud Data Flow部署在Kubernetes上

成功執行后,查看Kubernetes的Dashboard,能看到一個剛創建的Pod:

如何把Spring Cloud Data Flow部署在Kubernetes上

4 總結

本文通過一步步講解,把Spring Cloud Data Flow成功部署在了Kubernetes上,并成功在Kubenetes上跑了一個任務,再也不再是Local本地單機模式了。

到此這篇關于把Spring Cloud Data Flow部署在Kubernetes上,再跑個任務試試的文章就介紹到這了,更多相關把Spring Cloud Data Flow部署在Kubernetes上,再跑個任務試試內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
999国产精品999久久久久久| 国产精品调教| 国产毛片久久久| 97久久亚洲| 欧美自拍一区| 国产精品**亚洲精品| 蜜桃一区二区三区在线| 亚洲资源在线| 日韩va欧美va亚洲va久久| 欧美日韩午夜| 国产精品qvod| 久久久男人天堂| 久久视频国产| 久久亚洲风情| 日本不卡一区二区| 久久69成人| 91看片一区| 激情欧美一区| 午夜亚洲福利| 欧美极品中文字幕| 波多视频一区| 亚洲免费一区二区| 欧美一级二级三级视频| 精品三级久久久| 久久一级电影| 亚洲影院天堂中文av色| 欧美日韩视频免费看| 老牛国内精品亚洲成av人片| 欧美日韩在线观看首页| 亚洲激情二区| 欧美日韩午夜| 欧美日韩免费看片| 国产高清一区| 日日夜夜免费精品视频| 精品久久中文| 亚洲大全视频| 日韩国产欧美一区二区三区| 精品亚洲a∨一区二区三区18| 久久美女精品| 亚洲精品福利| 日韩av有码| 亚洲国产不卡| 国产日产精品_国产精品毛片 | 国产精品1luya在线播放| 中文字幕高清在线播放| 一区二区视频欧美| 国产九一精品| 亚洲国产日韩欧美在线| 欧美欧美黄在线二区| 天堂8中文在线最新版在线| 亚洲综合专区| 日韩在线观看| 日韩欧美2区| 中文字幕高清在线播放| 中文字幕免费精品| se01亚洲视频| 亚洲精品高潮| 日韩免费小视频| 欧美久久精品| 欧美不卡高清| 久久不卡国产精品一区二区| 欧美91精品| 久久久国产精品网站| 欧美在线综合| 新版的欧美在线视频| 日韩av中文在线观看| 精品国模一区二区三区| 日韩成人精品一区二区三区| 国产99久久| 久久精品亚洲| 五月亚洲婷婷 | 亚洲精品第一| 日韩精品欧美| 国产高清日韩| 在线免费观看亚洲| 成人看片网站| 国产精品一区二区三区av麻| 不卡在线一区二区| 国产网站在线| 国产精品视频首页| 欧美在线网站| 久久男人av资源站| 日韩不卡手机在线v区| 日韩毛片在线| 国产在线观看91一区二区三区| 天堂成人国产精品一区| 日韩免费福利视频| 国产精品99久久久久久董美香| 天堂成人免费av电影一区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 久久精品一区二区三区中文字幕| 男女精品网站| 久久青草久久| 成人免费一区| 国产精品一区二区精品| 老司机精品久久| 亚洲成av人片一区二区密柚| 国产一区二区三区四区| 国产精品白丝一区二区三区| 日韩一区二区三区免费视频| 91精品二区| 欧美日韩一二三四| 久久精品影视| 中文在线а√在线8| 精品中国亚洲| 国产精品久久亚洲不卡| 日本一区免费网站| 亚洲久久视频| 亚洲一区二区小说| 亚洲欧美日韩国产综合精品二区| 亚洲综合在线电影| 国内精品麻豆美女在线播放视频| 麻豆精品视频在线观看| 国产探花一区| 日本a口亚洲| 国产69精品久久| 久久精品国产在热久久| 国产精品一区二区三区av麻| 欧美视频二区| 欧美一区久久| 国产欧美日韩精品一区二区免费 | av不卡在线看| 欧美天堂亚洲电影院在线观看| 中文字幕高清在线播放| 福利一区和二区| 黄在线观看免费网站ktv| 精品高清久久| 欧美日韩国产观看视频| a日韩av网址| 亚洲国内欧美| 香蕉久久久久久久av网站| 999在线观看精品免费不卡网站| jiujiure精品视频播放| 99xxxx成人网| 亚洲精品日韩久久| 欧美精品影院| 国产精品观看| 久久精品九色| av在线资源| 国产一区亚洲| 亚洲欧美网站| 日韩动漫一区| 国产精品1区| 亚洲黄色网址| 日韩不卡视频在线观看| 欧美午夜不卡影院在线观看完整版免费| 亚洲在线免费| 日韩不卡一区二区| 精品三级av在线导航| 日韩亚洲一区在线| 亚洲精品网址| 综合激情五月婷婷| 国产精品片aa在线观看 | 欧美成人基地 | 999精品在线| 欧美 日韩 国产一区二区在线视频 | 欧美日韩a区| 美女久久久久久| 日本久久成人网| 久热re这里精品视频在线6| 国产探花在线精品一区二区| 日韩高清欧美| 国产精品色网| 欧美日韩1区| 精品一区二区男人吃奶| 欧美一区二区三区高清视频| 中文视频一区| 久久99久久久精品欧美| 国产超碰精品| 亚洲精品成人一区| 精品一区电影| 一区免费视频| 国产精品最新| 国产综合婷婷| 日韩av资源网| 久久久久久免费视频| 亚洲日产av中文字幕| 国产一区调教| 亚洲一区av| 韩日一区二区| 亚洲欧美久久久| 精品国产aⅴ| 美女精品网站| 欧美激情另类| 亚洲精品自拍| 日韩一区亚洲二区| 视频一区日韩| 久久精品二区三区| 欧美日韩亚洲国产精品| 在线视频观看日韩| 国产精品多人| 亚洲在线电影| 福利一区二区三区视频在线观看| 每日更新成人在线视频| 老牛国内精品亚洲成av人片| 国产精品色网| 色在线视频观看| 69堂免费精品视频在线播放| 不卡视频在线| 久久久久久色|