部署专属算力服务
配置专属算力服务器
加入到 kubernetes 集群
-
提前在专属算力服务器部署好 kubernetes node 环境
-
在 kubernetes 主节点获取新节点加入集群的命令
kubeadm token create --print-join-command -
在专属算力服务器执行加入集群的命令
kubeadm join 192.168.1.100:6443 --token 3nwjzw.pdod3r27lnqqhi0x --discovery-token-ca-cert-hash sha256:a84445303xxxxxxxxxxxxxxxxxxx175a2
下载镜像
-
下载 computinginstance 镜像(仅需在专属算力服务器上操作)
- 服务器支持访问互联网
- 服务器不支持访问互联网
crictl pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-computinginstance:7.2.4# 镜像文件下载链接,下载完成后上传到部署服务器https://pdpublic.mingdao.com/private-deployment/offline/mingdaoyun-computinginstance-linux-amd64-7.2.4.tar.gz# 解压镜像gunzip -d mingdaoyun-computinginstance-linux-amd64-7.2.4.tar.gz# 导入镜像ctr -n k8s.io image import mingdaoyun-computinginstance-linux-amd64-7.2.4.tar
添加污点及标签
-
获取专属算力节点 node 名称
kubectl get node -
给专属算力节点添加污点与标签
kubectl taint node $your_node_name md=workflowcompute:NoSchedulekubectl label node $your_node_name md=workflowcompute- 注意,需要将
$your_node_name替换为实际的 node 名称
- 注意,需要将
-
给专属算力节点添加标签
部署专属算力服务
-
专属算力是从 v5.1.0 版本开始支持的,在安装管理器版本>=5.1.0时,首次部署会生成默认的
computinginstance.yaml文件,在配置专属算力服务时通常修改现有配置文件即可 -
如首次部署时安装管理器版本<5.1.0,需要新增
computinginstance.yaml文件并修改相关脚本
- 首次部署时安装管理器版本>=5.1.0
- 首次部署时安装管理器版本<5.1.0
-
执行
cat $KUBECONFIG获取 $KUBECONFIG 内容(对应 kubernetes 的/etc/kubernetes/admin.conf文件)cat $KUBECONFIG输出样例:
apiVersion: v1clusters:- cluster:certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJME1ERXlPVEE1TXpRMU5Wb1hEVE0wTURFeU5qQTVNelExTlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTjR3CklsY3RBNzhlTlRPZWJOK1RoUXdDL29SamtKMlJMeUlVZ2dncU1MSWlxWWpEbytqczNKbkdpNVU4cUIrZ3RlV1AKRDhTUEVlVUd0ZmNOOHoxTzlqK0Q1aFB3dkRPRDFyV2k3OEpnZWI3SURtdkU4L1VMdWdIYldkajlTckcrWTVEYwpDakQrcFduWHAzQUkzdjhwbm45a1ZJZ2Z3RldFcFVGQWI4Y2h0WSt3MU11ZjVhNVlhSTJ3NWtwOXhVS1lmV0g0CkFWUnlCUUFFVU5TUjE1Y3EyZ3Z2WDVTT1ZXUU0xcFJYNG1jcHovZ0toZ1pCYTBoSHZJaGRIRFBxQ0o0bUNYak4KbzgrWDYzNWZ4S3JPYTV4NTFhemVJMTljeE5lOXh0V25JdDUzLzJtWVlkYjIzWVI5UDRCK3U5NWVheWZWU2JwZQo4amhvdW1qVXFoSmNHMFdiY1pNQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZHMW1zZ01jVDBoOVpZbVlJU2pZK2wyNFRERFJNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSHFXUDhnVDFJbXBpL1M4NVIzQwpzU0Y2V0NISFFscU5uOTh3UHdhR0dEcmFZQnUwbnhSeFk5Q243cHk3TytzZ2hLeDRpLzR5N3ZKYi84MXZWTEx2CklORGhxL2N2enp1WWtHQ0J1QStXcFVMZmhneHFsb0F4MjF3eWNScCtUTlZ5UnphNXpmUkt6RUZiZml0WU1LQk0KNkVhZmk3d3lma2twNDBDYzFoKzJMM3N4WG1sSDUyaXA4REx3WDJGVEVXRjE3VnE5WTBRdXZDcGpBSUlnY09aSgpGQjNCMHhiK0ZsUGsxZC9vakNHSzVOdDd6Z2VWQmN1VkhGSUhITSs5eWQ0dHJCVVViR05vVCszWVJXU0hxTGJECml3LzdQVDU2SFpheHA1VmUvN2p1cTZEbkRIYXQ5ZW9Idk5acEcvNUJMUW1SWUUyOFNaU3lvUnd5V3pUMkpTb24KOE8wPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==server: https://192.168.0.150:6443name: kubernetescontexts:- context:cluster: kubernetesuser: kubernetes-adminname: kubernetes-admin@kubernetescurrent-context: kubernetes-admin@kuberneteskind: Configpreferences: {}users:- name: kubernetes-adminuser:client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJWnJObmsyZ1RLRmd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBeE1qa3dPVE0wTlRWYUZ3MHlOVEF4TWpnd09UTTBOVGRhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXBhMk1zT1JkNHJ5djFhdEsKbkcrZzZiUkhJZ28rbEVkL09qSThTVU9BVlppV0tNY2pFaU81TXpkSXhaZW8yNFIxYzBweTNyei9WQ1FkNkZTdQpmSkFydDJodkZEczFvWGN2UEZ6d2xKRWZpblRNZkdqVndhZTkyNGZrak15MDU4d0pFbjVEVDJYa294QmhyOGhFClhSZ2dBbFpDL0R3dVA3ZjhBcmtyTC8wOG9TbmFhWm5sVkpKTU9qWnN5VFBCMnFTTXZselh1Z25vSW14Qlhkc0oKZkVScm5qQ3R2RDdxOU5MRmx5QVV0OWRsMVNUMDRocDh0L1hBVVAyazZMcjQyUXZCdEVnN1RaR1pBTEp5NEdpUwozLyswTU9NcmVMYjVnRGRIOTExRTV2d3JteU4zdUNDSkxjbWVoUEh2UWJuYVVUNGtod2lkMHdBcDNJNnhCYkNpCjRNaFNGd0lEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JSdFpySURIRTlJZldXSm1DRW8yUHBkdUV3dwowVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBUVVkeEVxUkFzZ1ZmWFAzS0tuaG4veTRmcUpVdXk4ZzRPU2N0CmtOWmRkdFhNZ0xYK3RMekVIZnlxTXZ4cFlzMGhLQWNHZWlaRHkwajkrSFZ4L00zZWVmNUdGOWVTRHhvYy9Gd3QKQ2NxUGV2R1lKOVpaTGhacERENEN0L1dURjJ3eXRjdGo4UkdBVGsxcXl5Vkh5Vi82NGNSc2phYTIyQTNGVUFDNAovS2x5MHlBc25Ib0IyWS9SelJPTTJWLzhIdFFqRUg3RExzZHFpQVdIU2xOUGphdDM1NWg0ek10cW9jTWY0bzljCm0yd1RuaVp3QktBQmZVc3BNUFRlc2FITGw4Y1AzWklXbjF5QnJmcVFjenVWRnVtRjhqLy9QMTJ0YkxrVXAwSzEKbTNRclNDVnZDdnhOL1VjNGlmUFB1YkdRZDdudUc2RUdkdHVSeFB2RzdDem1sTjQ1amc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBcGEyTXNPUmQ0cnl2MWF0S25HK2c2YlJISWdvK2xFZC9Pakk4U1VPQVZaaVdLTWNqCkVpTzVNemRJeFplbzI0UjFjMHB5M3J6L1ZDUWQ2RlN1ZkpBcnQyaHZGRHMxb1hjdlBGendsSkVmaW5UTWZHalYKd2FlOTI0ZmtqTXkwNTh3SkVuNURUMlhrb3hCaHI4aEVYUmdnQWxaQy9Ed3VQN2Y4QXJrckwvMDhvU25hYVpubApWSkpNT2pac3lUUEIycVNNdmx6WHVnbm9JbXhCWGRzSmZFUnJuakN0dkQ3cTlOTEZseUFVdDlkbDFTVDA0aHA4CnQvWEFVUDJrNkxyNDJRdkJ0RWc3VFpHWkFMSnk0R2lTMy8rME1PTXJlTGI1Z0RkSDkxMUU1dndybXlOM3VDQ0oKTGNtZWhQSHZRYm5hVVQ0a2h3aWQwd0FwM0k2eEJiQ2k0TWhTRndJREFRQUJBb0lCQUN0dzloTHJ6akpGaDFWZgpOSkVRTkFFVFpCTm8zRC9FLzNjaTlPdkE1MFdLWE5VVVlmMi9vQy90cndjZ1hRWXlGUm5GeTVqYnRaYzZZUjBxCkZ4WlNOeVJBSGVBUUpsL1FBSEt6YStHSXE5eUNBNXdiWVBFR0txSUZYOGdMWk9QaWUvNTlYT2pVcnI2UzdRcEsKV0tLUVVOUk1DZ1JaUTBjeDFzSmdDeExxTTV1T0VkVDVLcGNiaE9BR042TGNVNkduRWEvcjlnUitUL2tIenA4QgpEdVZsNmREcHNGUjFyTmNsbGVXMkJLNmlMd2x6LzR0TmhROUxMY3lkSEswdHI0VWtKZVp2YTFEWFM1RWNUeTRQCkY5MzVJLzhqNTQvYlZ0ZjJQMFdpSUJ2ZFRaWnp5cjVPWG5nMDlPZUN3bTdwd2JjSVlhRDV4YXROdjRxYVR1ci8KY0I1R3RBRUNnWUVBeTZwekptQWZNZkxmOWUrSHZnTDRBK0M1cndFQVJhcllnUFlsTjJER0hrVFZNK2c1eW5YaQpUVHJEdlRZbUhqTmtiUUorOE14U09pRHZjK2Z1VHJWRzRUamE1Slk3YlJ1eFVVdHRRa2MzWk9UWFdzWXlzUWJICmRxbDBLU0RrcGdCdmZSMndxblp2V2JSR09rQ05sdmRpYUZKT0t4cUduWjc3NU9PTnVmNzRRUWNDZ1lFQTBFQXQKNXp2ZDhzYnZJOFBzQ1pmZlFYM1o1TWgzYytDVUhVTzQ4Mkc5QUx1L2tiRWhPL1JxVVJuck5DanJlWU9zWDliVQovSGwxelZkMStvRGlLcE1IZEJ2RDFubFM0MDY0TURTMW9BUEtxZjFFN0EySEN5cVZJZTZMbGRnKzh2VElkYzRHCmovV0RqR0JKMUs2RXI0NGx2SXNWWnpRaUpXSGxYZTV2dkJxdDhuRUNnWUF2OEVUK2FXMnVVaDdKUXNKT3hXQWYKZVl2N1YxNzdCd1hEQlMwcFpjdjhYL05YTG5nNzRaZU0yaUlzclV3M201MHQwNEtScDJaTGJHa3dmUTBvMVo2RApjT0NGSVorSFJSZHRyVFZnZm1iWmhzdngvK2o2cGovWS9IWHRJR0x4ZC9UR0hIRHpEc0dTK2MzMTlDL2Zzd2NrCnl3cS9OcFV0RUxqMTNXSUV2N0VyalFLQmdRQ014alhCa0ZpeTJ3T2hPN245cWlxRFRSM1VhQ2RIcjlLd0RhMmkKNkxrcEc4R2VMUXo0U0hydUpBVTVGMGhHdGxuNTEzSFcwZ3h1S09kWjFYSU5zYUppUExxZjZ4ZTdET1c1d0lmZQppWEdnZzlMcGR5T0l5dHBSTzc0a0p6QTJjSDVxRkVHZll5bnY1TTlEOUUxQmwyZXZFcDMvUytDaFFKSWFjeW9aCkVEZnlJUUtCZ0JXUGRELzhSTFhVWm9oV2FnTy9uMHRBUnlLMnladTA4RWFjcENXV2ZFNUdUZzF1cnVTNTdhT0IKMU1KeTFQNElnODJhVml4T291bkR3d2xzSHBjNXlHdVNBTERvYklkRnJoMHJVYVZLTTJZMDN1VzFBRnhzcnFFQQpWc0t0aUQ3WjMrRzM1cmFwRTkrcDhoR0EzaVF6eHl3YWdtRUI0Sm9WU0MxbHZJekc1ME1XCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==- 下一步会将
cat $KUBECONFIG输出内容复制到computinginstance.yaml文件中,注意复制前需要在每行前添加四个空格
- 下一步会将
-
修改
/data/mingdao/script/kubernetes/computinginstance.yaml文件首次部署时,computinginstance.yaml 文件中以下几点务必修改
- kafka.brokers:修改为微服务连接的 kafka 地址
- syncStatus.mongoUri:# 修改为实际的 mongodb 连接信息
- image:修改为与微服务相同的 computinginstance 版本号
- kubeconfig.yaml:修改为 $KUBECONFIG 实际的内容,务必注意需要在 $KUBECONFIG 原始内容每行前添加四个空格
修改样例:
apiVersion: v1kind: ConfigMapmetadata:name: computinginstancenamespace: defaultdata:config.yaml: |-server:listen:host: "0.0.0.0"port: "9157"common:kubernetes:configFile: "/usr/local/computinginstance/kubeconfig.yaml"namespace: "default"configmapTemplate: "/usr/local/computinginstance/configmap-workflowcompute.yaml"deploymentTemplate: "/usr/local/computinginstance/deployment-workflowcompute.yaml"kafka:brokers: "192.168.0.144:9092" # 修改为微服务连接的 kafka 地址workflowTopicPrefix: "WorkFlow-"workSheetTopicPrefix: "WorkSheet-"workflowConsumerIdPrefix: "md-workflow-consumer-"replicationFactor: 1deleteTopic: truecallback:url: "http://computingschedule:9158"createInterval: 120000 #msdeleteInterval: 120000 #mssyncStatus:mongoUri: "mongodb://mingdao:123456@192.168.0.144:27017/mdIdentification" # 修改为实际的 mongodb 连接信息interval: 30000 # msmodel:10:replicas: 1 # 实例数量thread: 2 # 表示单个种类线程数量,总数=5*thread*replicas=10cpu: 2 # 单个实例最大CPU核,总数=cpu*replicas=2memory: 4 # 单个实例最大内存GB,,总数=memory*replicas=420:replicas: 1thread: 4cpu: 4memory: 850:replicas: 1thread: 10cpu: 8memory: 16100:replicas: 1thread: 20cpu: 16memory: 32configmap-workflowcompute.yaml: |-apiVersion: v1kind: ConfigMapmetadata:name: workflowcomputedata:application-www-computing.properties: |-md.resource.consumer.config.maps={\'resourceId': 'CONFIGMAP_INSTANCEID', \'wfTopic': 'WorkFlow-CONFIGMAP_INSTANCEID', \'wsTopic': 'WorkSheet-CONFIGMAP_INSTANCEID', \'partition': 'CONFIGMAP_WORKFLOW_PARTITION' \}md.kafka.consumer.topic=WorkSheet-CONFIGMAP_INSTANCEIDmd.kafka.consumer.group.id=md-workflow-consumer-CONFIGMAP_INSTANCEIDmd.kafka.consumer.concurrency=CONFIGMAP_WORKFLOW_THREADmd.kafka.batch.topic=WorkSheet-CONFIGMAP_INSTANCEIDmd.kafka.batch.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.batch.topic=WorkFlow-CONFIGMAP_INSTANCEIDspring.kafka.batch.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.button.topic=WorkFlow-CONFIGMAP_INSTANCEIDspring.kafka.button.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.process.topic=WorkFlow-CONFIGMAP_INSTANCEIDspring.kafka.process.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.consumer.topic=WorkFlow-CONFIGMAP_INSTANCEIDspring.kafka.consumer.group.id=md-workflow-consumer-CONFIGMAP_INSTANCEIDspring.kafka.consumer.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.properties.partition=CONFIGMAP_WORKFLOW_PARTITIONgrpc.client.MDWorksheetService.address=static://127.0.0.1:9422spring.kafka.router.topic=WorkFlow-CONFIGMAP_INSTANCEIDdeployment-workflowcompute.yaml: |-apiVersion: apps/v1kind: Deploymentmetadata:name: workflowcompute-DEPLOYMENT_INSTANCEIDlabels:app: workflowcompute-DEPLOYMENT_INSTANCEIDmd-service: workflowcomputespec:replicas: DEPLOYMENT_REPLICASselector:matchLabels:app: workflowcompute-DEPLOYMENT_INSTANCEIDtemplate:metadata:labels:app: workflowcompute-DEPLOYMENT_INSTANCEIDmd-service: workflowcomputeannotations:md-update: '20231228184263'spec:imagePullSecrets:- name: hub.mingdao.comtolerations:- key: "md"operator: "Equal"value: "workflowcompute"effect: "NoSchedule"nodeSelector:md: workflowcomputecontainers:- name: workflow-consumerimage: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-computinginstance:7.2.4 # computinginstance 镜像版本号env:- name: ENV_SERVERIDvalue: "single:workflowconsumer"command:- sh- -c- |cp /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.properties.template /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiessed -i s/CONFIGMAP_INSTANCEID/DEPLOYMENT_INSTANCEID/g /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiessed -i s/CONFIGMAP_WORKFLOW_THREAD/DEPLOYMENT_WORKFLOW_THREAD/g /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiessed -i s/CONFIGMAP_WORKFLOW_PARTITION/DEPLOYMENT_WORKFLOW_PARTITION/g /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiescat /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiessleep 20exec /Housekeeper/main -config /Housekeeper/config.yamlresources:limits:memory: DEPLOYMENT_MEMORYGicpu: DEPLOYMENT_CPUrequests:memory: 1Gicpu: 0.25volumeMounts:- name: tz-configmountPath: /etc/localtime- name: workflowcomputemountPath: /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.properties.templatesubPath: application-www-computing.properties- name: worksheetserviceimage: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-computinginstance:7.2.4 # computinginstance 镜像版本号env:- name: ENV_SERVERIDvalue: "single:worksheet"command:- sh- -c- |cat /usr/local/MDPrivateDeployment/worksheet/Config/appsettingsMain.jsonexec /Housekeeper/main -config /Housekeeper/config.yamlresources:limits:memory: DEPLOYMENT_MEMORYGicpu: DEPLOYMENT_CPUrequests:memory: 1Gicpu: 0.25readinessProbe:tcpSocket:port: 9422initialDelaySeconds: 10periodSeconds: 10livenessProbe:tcpSocket:port: 9422initialDelaySeconds: 60periodSeconds: 10volumeMounts:- name: tz-configmountPath: /etc/localtimevolumes:- name: tz-confighostPath:path: /usr/share/zoneinfo/Etc/GMT-8- name: workflowcomputeconfigMap:name: workflowcomputeitems:- key: application-www-computing.propertiespath: application-www-computing.propertieskubeconfig.yaml: |- # 将下方修改为 $KUBECONFIG 实际的内容,注意需要在 $KUBECONFIG 原始内容每行前添加四个空格apiVersion: v1clusters:- cluster:certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJME1ERXlPVEE1TXpRMU5Wb1hEVE0wTURFeU5qQTVNelExTlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTjR3CklsY3RBNzhlTlRPZWJOK1RoUXdDL29SamtKMlJMeUlVZ2dncU1MSWlxWWpEbytqczNKbkdpNVU4cUIrZ3RlV1AKRDhTUEVlVUd0ZmNOOHoxTzlqK0Q1aFB3dkRPRDFyV2k3OEpnZWI3SURtdkU4L1VMdWdIYldkajlTckcrWTVEYwpDakQrcFduWHAzQUkzdjhwbm45a1ZJZ2Z3RldFcFVGQWI4Y2h0WSt3MU11ZjVhNVlhSTJ3NWtwOXhVS1lmV0g0CkFWUnlCUUFFVU5TUjE1Y3EyZ3Z2WDVTT1ZXUU0xcFJYNG1jcHovZ0toZ1pCYTBoSHZJaGRIRFBxQ0o0bUNYak4KbzgrWDYzNWZ4S3JPYTV4NTFhemVJMTljeE5lOXh0V25JdDUzLzJtWVlkYjIzWVI5UDRCK3U5NWVheWZWU2JwZQo4amhvdW1qVXFoSmNHMFdiY1pNQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZHMW1zZ01jVDBoOVpZbVlJU2pZK2wyNFRERFJNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSHFXUDhnVDFJbXBpL1M4NVIzQwpzU0Y2V0NISFFscU5uOTh3UHdhR0dEcmFZQnUwbnhSeFk5Q243cHk3TytzZ2hLeDRpLzR5N3ZKYi84MXZWTEx2CklORGhxL2N2enp1WWtHQ0J1QStXcFVMZmhneHFsb0F4MjF3eWNScCtUTlZ5UnphNXpmUkt6RUZiZml0WU1LQk0KNkVhZmk3d3lma2twNDBDYzFoKzJMM3N4WG1sSDUyaXA4REx3WDJGVEVXRjE3VnE5WTBRdXZDcGpBSUlnY09aSgpGQjNCMHhiK0ZsUGsxZC9vakNHSzVOdDd6Z2VWQmN1VkhGSUhITSs5eWQ0dHJCVVViR05vVCszWVJXU0hxTGJECml3LzdQVDU2SFpheHA1VmUvN2p1cTZEbkRIYXQ5ZW9Idk5acEcvNUJMUW1SWUUyOFNaU3lvUnd5V3pUMkpTb24KOE8wPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==server: https://192.168.0.150:6443name: kubernetescontexts:- context:cluster: kubernetesuser: kubernetes-adminname: kubernetes-admin@kubernetescurrent-context: kubernetes-admin@kuberneteskind: Configpreferences: {}users:- name: kubernetes-adminuser:client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJWnJObmsyZ1RLRmd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBeE1qa3dPVE0wTlRWYUZ3MHlOVEF4TWpnd09UTTBOVGRhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXBhMk1zT1JkNHJ5djFhdEsKbkcrZzZiUkhJZ28rbEVkL09qSThTVU9BVlppV0tNY2pFaU81TXpkSXhaZW8yNFIxYzBweTNyei9WQ1FkNkZTdQpmSkFydDJodkZEczFvWGN2UEZ6d2xKRWZpblRNZkdqVndhZTkyNGZrak15MDU4d0pFbjVEVDJYa294QmhyOGhFClhSZ2dBbFpDL0R3dVA3ZjhBcmtyTC8wOG9TbmFhWm5sVkpKTU9qWnN5VFBCMnFTTXZselh1Z25vSW14Qlhkc0oKZkVScm5qQ3R2RDdxOU5MRmx5QVV0OWRsMVNUMDRocDh0L1hBVVAyazZMcjQyUXZCdEVnN1RaR1pBTEp5NEdpUwozLyswTU9NcmVMYjVnRGRIOTExRTV2d3JteU4zdUNDSkxjbWVoUEh2UWJuYVVUNGtod2lkMHdBcDNJNnhCYkNpCjRNaFNGd0lEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JSdFpySURIRTlJZldXSm1DRW8yUHBkdUV3dwowVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBUVVkeEVxUkFzZ1ZmWFAzS0tuaG4veTRmcUpVdXk4ZzRPU2N0CmtOWmRkdFhNZ0xYK3RMekVIZnlxTXZ4cFlzMGhLQWNHZWlaRHkwajkrSFZ4L00zZWVmNUdGOWVTRHhvYy9Gd3QKQ2NxUGV2R1lKOVpaTGhacERENEN0L1dURjJ3eXRjdGo4UkdBVGsxcXl5Vkh5Vi82NGNSc2phYTIyQTNGVUFDNAovS2x5MHlBc25Ib0IyWS9SelJPTTJWLzhIdFFqRUg3RExzZHFpQVdIU2xOUGphdDM1NWg0ek10cW9jTWY0bzljCm0yd1RuaVp3QktBQmZVc3BNUFRlc2FITGw4Y1AzWklXbjF5QnJmcVFjenVWRnVtRjhqLy9QMTJ0YkxrVXAwSzEKbTNRclNDVnZDdnhOL1VjNGlmUFB1YkdRZDdudUc2RUdkdHVSeFB2RzdDem1sTjQ1amc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBcGEyTXNPUmQ0cnl2MWF0S25HK2c2YlJISWdvK2xFZC9Pakk4U1VPQVZaaVdLTWNqCkVpTzVNemRJeFplbzI0UjFjMHB5M3J6L1ZDUWQ2RlN1ZkpBcnQyaHZGRHMxb1hjdlBGendsSkVmaW5UTWZHalYKd2FlOTI0ZmtqTXkwNTh3SkVuNURUMlhrb3hCaHI4aEVYUmdnQWxaQy9Ed3VQN2Y4QXJrckwvMDhvU25hYVpubApWSkpNT2pac3lUUEIycVNNdmx6WHVnbm9JbXhCWGRzSmZFUnJuakN0dkQ3cTlOTEZseUFVdDlkbDFTVDA0aHA4CnQvWEFVUDJrNkxyNDJRdkJ0RWc3VFpHWkFMSnk0R2lTMy8rME1PTXJlTGI1Z0RkSDkxMUU1dndybXlOM3VDQ0oKTGNtZWhQSHZRYm5hVVQ0a2h3aWQwd0FwM0k2eEJiQ2k0TWhTRndJREFRQUJBb0lCQUN0dzloTHJ6akpGaDFWZgpOSkVRTkFFVFpCTm8zRC9FLzNjaTlPdkE1MFdLWE5VVVlmMi9vQy90cndjZ1hRWXlGUm5GeTVqYnRaYzZZUjBxCkZ4WlNOeVJBSGVBUUpsL1FBSEt6YStHSXE5eUNBNXdiWVBFR0txSUZYOGdMWk9QaWUvNTlYT2pVcnI2UzdRcEsKV0tLUVVOUk1DZ1JaUTBjeDFzSmdDeExxTTV1T0VkVDVLcGNiaE9BR042TGNVNkduRWEvcjlnUitUL2tIenA4QgpEdVZsNmREcHNGUjFyTmNsbGVXMkJLNmlMd2x6LzR0TmhROUxMY3lkSEswdHI0VWtKZVp2YTFEWFM1RWNUeTRQCkY5MzVJLzhqNTQvYlZ0ZjJQMFdpSUJ2ZFRaWnp5cjVPWG5nMDlPZUN3bTdwd2JjSVlhRDV4YXROdjRxYVR1ci8KY0I1R3RBRUNnWUVBeTZwekptQWZNZkxmOWUrSHZnTDRBK0M1cndFQVJhcllnUFlsTjJER0hrVFZNK2c1eW5YaQpUVHJEdlRZbUhqTmtiUUorOE14U09pRHZjK2Z1VHJWRzRUamE1Slk3YlJ1eFVVdHRRa2MzWk9UWFdzWXlzUWJICmRxbDBLU0RrcGdCdmZSMndxblp2V2JSR09rQ05sdmRpYUZKT0t4cUduWjc3NU9PTnVmNzRRUWNDZ1lFQTBFQXQKNXp2ZDhzYnZJOFBzQ1pmZlFYM1o1TWgzYytDVUhVTzQ4Mkc5QUx1L2tiRWhPL1JxVVJuck5DanJlWU9zWDliVQovSGwxelZkMStvRGlLcE1IZEJ2RDFubFM0MDY0TURTMW9BUEtxZjFFN0EySEN5cVZJZTZMbGRnKzh2VElkYzRHCmovV0RqR0JKMUs2RXI0NGx2SXNWWnpRaUpXSGxYZTV2dkJxdDhuRUNnWUF2OEVUK2FXMnVVaDdKUXNKT3hXQWYKZVl2N1YxNzdCd1hEQlMwcFpjdjhYL05YTG5nNzRaZU0yaUlzclV3M201MHQwNEtScDJaTGJHa3dmUTBvMVo2RApjT0NGSVorSFJSZHRyVFZnZm1iWmhzdngvK2o2cGovWS9IWHRJR0x4ZC9UR0hIRHpEc0dTK2MzMTlDL2Zzd2NrCnl3cS9OcFV0RUxqMTNXSUV2N0VyalFLQmdRQ014alhCa0ZpeTJ3T2hPN245cWlxRFRSM1VhQ2RIcjlLd0RhMmkKNkxrcEc4R2VMUXo0U0hydUpBVTVGMGhHdGxuNTEzSFcwZ3h1S09kWjFYSU5zYUppUExxZjZ4ZTdET1c1d0lmZQppWEdnZzlMcGR5T0l5dHBSTzc0a0p6QTJjSDVxRkVHZll5bnY1TTlEOUUxQmwyZXZFcDMvUytDaFFKSWFjeW9aCkVEZnlJUUtCZ0JXUGRELzhSTFhVWm9oV2FnTy9uMHRBUnlLMnladTA4RWFjcENXV2ZFNUdUZzF1cnVTNTdhT0IKMU1KeTFQNElnODJhVml4T291bkR3d2xzSHBjNXlHdVNBTERvYklkRnJoMHJVYVZLTTJZMDN1VzFBRnhzcnFFQQpWc0t0aUQ3WjMrRzM1cmFwRTkrcDhoR0EzaVF6eHl3YWdtRUI0Sm9WU0MxbHZJekc1ME1XCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==---apiVersion: apps/v1kind: Deploymentmetadata:name: computinginstancenamespace: defaultspec:replicas: 1selector:matchLabels:app: computinginstancetemplate:metadata:labels:app: computinginstancedir: grpcannotations:md-update: "20231228184309"spec:imagePullSecrets:- name: hub.mingdao.comcontainers:- name: computinginstanceimage: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-computinginstance:7.2.4 # computinginstance 镜像版本号resources:limits:cpu: "2"memory: 2Grequests:cpu: "0.01"memory: 128MreadinessProbe:tcpSocket:port: 9157initialDelaySeconds: 3periodSeconds: 3livenessProbe:tcpSocket:port: 9157initialDelaySeconds: 20periodSeconds: 10volumeMounts:- name: configfilemountPath: /usr/local/computinginstance/config.yamlsubPath: config.yaml- name: configfilemountPath: /usr/local/computinginstance/configmap-workflowcompute.yamlsubPath: configmap-workflowcompute.yaml- name: configfilemountPath: /usr/local/computinginstance/deployment-workflowcompute.yamlsubPath: deployment-workflowcompute.yaml- name: configfilemountPath: /usr/local/computinginstance/kubeconfig.yamlsubPath: kubeconfig.yaml- name: tz-configmountPath: /etc/localtimevolumes:- name: tz-confighostPath:path: /usr/share/zoneinfo/Asia/Shanghai- name: configfileconfigMap:name: computinginstanceitems:- key: config.yamlpath: config.yaml- key: configmap-workflowcompute.yamlpath: configmap-workflowcompute.yaml- key: deployment-workflowcompute.yamlpath: deployment-workflowcompute.yaml- key: kubeconfig.yamlpath: kubeconfig.yaml---apiVersion: v1kind: Servicemetadata:name: computinginstancenamespace: defaultspec:selector:app: computinginstanceports:- name: http-computinginstanceport: 9157targetPort: 9157nodePort: 9157type: NodePort -
重启服务
cd /data/mingdao/script/kubernetes/bash restart.sh
-
修改
/data/mingdao/script/kubernetes/start.shbaseDir=$(dirname $0)kubectl apply -f $baseDir/config.yamlsleep 30kubectl apply -f $baseDir/service.yamlkubectl apply -f $baseDir/datapipeline.yamlkubectl apply -f $baseDir/wps.yamlkubectl apply -f $baseDir/computinginstance.yaml # 新增这行sleep 180kubectl apply -f $baseDir/www.yaml -
修改
/data/mingdao/script/kubernetes/stop.shbaseDir=$(dirname $0)kubectl delete -f $baseDir/www.yamlkubectl delete -f $baseDir/service.yamlkubectl delete -f $baseDir/datapipeline.yamlkubectl delete -f $baseDir/wps.yamlkubectl delete -f $baseDir/computinginstance.yaml # 新增这行kubectl delete -f $baseDir/config.yaml -
修改
/data/mingdao/script/kubernetes/update.shbaseDir=$(dirname $0)imagePrefix="registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-"function replaceEnv() {local key=$1local value=$2local file=$3sed -i "/$key/ s#\".*\"#\"$value\"#" $file}function replaceAppVersion() {local version=$1replaceEnv ENV_APP_VERSION $version $baseDir/config.yaml}function update() {local service=$1local version=$2sed -r -i "/$(echo -n "${imagePrefix}$service" | sed -n 's#/#\\/#g;p')/ s/$service:.*$/$service:$version/" $baseDir/config.yamlsed -r -i "/$(echo -n "${imagePrefix}$service" | sed -n 's#/#\\/#g;p')/ s/$service:.*$/$service:$version/" $baseDir/service.yamlsed -r -i "/$(echo -n "${imagePrefix}$service" | sed -n 's#/#\\/#g;p')/ s/$service:.*$/$service:$version/" $baseDir/datapipeline.yamlsed -r -i "/$(echo -n "${imagePrefix}$service" | sed -n 's#/#\\/#g;p')/ s/$service:.*$/$service:$version/" $baseDir/wps.yaml# 下面一行新增sed -r -i "/$(echo -n "${imagePrefix}computinginstance" | sed -n 's#/#\\/#g;p')/ s/computinginstance:.*$/computinginstance:$version/" $baseDir/computinginstance.yaml # 本行属于新增sed -r -i "/$(echo -n "${imagePrefix}$service" | sed -n 's#/#\\/#g;p')/ s/$service:.*$/$service:$version/" $baseDir/www.yamlecho "Note: The version number of the ${service} service has been changed to ${version}, it will take effect after restart"}case $1 inupdate)if [[ $# -ne 3 ]];thenecho "Update the specific service version number, format example: $baseDir/$scriptName update hap 3.1.0"exit 1fiupdate $2 $3replaceAppVersion $3echo "Restarting services..."/bin/bash $baseDir/restart.sh# 下面四行属于新增echo "Updating workflowcompute instance...: $3" # 本行属于新增curl -XPOST '127.0.0.1:9157/instance/update' -d '{"ContainerName": "workflow-consumer", "Image": "'${imagePrefix}computinginstance:$3'"}' -H 'Content-Type: application/json' # 本行属于新增sleep 5 # 本行属于新增curl -XPOST '127.0.0.1:9157/instance/update' -d '{"ContainerName": "worksheetservice", "Image": "'${imagePrefix}computinginstance:$3'"}}' -H 'Content-Type: application/json' # 本行属于新增;;*)echo "Usage:$0 <$(sed -n '/case \$1/,/esac/p' $0 | grep -oP '\b\w+\)$' | tr -d ')' | paste -s -d '|')>";;esac -
执行
cat $KUBECONFIG获取 $KUBECONFIG 内容(对应 kubernetes 的/etc/kubernetes/admin.conf文件)cat $KUBECONFIG输出样例:
apiVersion: v1clusters:- cluster:certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJME1ERXlPVEE1TXpRMU5Wb1hEVE0wTURFeU5qQTVNelExTlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTjR3CklsY3RBNzhlTlRPZWJOK1RoUXdDL29SamtKMlJMeUlVZ2dncU1MSWlxWWpEbytqczNKbkdpNVU4cUIrZ3RlV1AKRDhTUEVlVUd0ZmNOOHoxTzlqK0Q1aFB3dkRPRDFyV2k3OEpnZWI3SURtdkU4L1VMdWdIYldkajlTckcrWTVEYwpDakQrcFduWHAzQUkzdjhwbm45a1ZJZ2Z3RldFcFVGQWI4Y2h0WSt3MU11ZjVhNVlhSTJ3NWtwOXhVS1lmV0g0CkFWUnlCUUFFVU5TUjE1Y3EyZ3Z2WDVTT1ZXUU0xcFJYNG1jcHovZ0toZ1pCYTBoSHZJaGRIRFBxQ0o0bUNYak4KbzgrWDYzNWZ4S3JPYTV4NTFhemVJMTljeE5lOXh0V25JdDUzLzJtWVlkYjIzWVI5UDRCK3U5NWVheWZWU2JwZQo4amhvdW1qVXFoSmNHMFdiY1pNQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZHMW1zZ01jVDBoOVpZbVlJU2pZK2wyNFRERFJNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSHFXUDhnVDFJbXBpL1M4NVIzQwpzU0Y2V0NISFFscU5uOTh3UHdhR0dEcmFZQnUwbnhSeFk5Q243cHk3TytzZ2hLeDRpLzR5N3ZKYi84MXZWTEx2CklORGhxL2N2enp1WWtHQ0J1QStXcFVMZmhneHFsb0F4MjF3eWNScCtUTlZ5UnphNXpmUkt6RUZiZml0WU1LQk0KNkVhZmk3d3lma2twNDBDYzFoKzJMM3N4WG1sSDUyaXA4REx3WDJGVEVXRjE3VnE5WTBRdXZDcGpBSUlnY09aSgpGQjNCMHhiK0ZsUGsxZC9vakNHSzVOdDd6Z2VWQmN1VkhGSUhITSs5eWQ0dHJCVVViR05vVCszWVJXU0hxTGJECml3LzdQVDU2SFpheHA1VmUvN2p1cTZEbkRIYXQ5ZW9Idk5acEcvNUJMUW1SWUUyOFNaU3lvUnd5V3pUMkpTb24KOE8wPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==server: https://192.168.0.150:6443name: kubernetescontexts:- context:cluster: kubernetesuser: kubernetes-adminname: kubernetes-admin@kubernetescurrent-context: kubernetes-admin@kuberneteskind: Configpreferences: {}users:- name: kubernetes-adminuser:client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJWnJObmsyZ1RLRmd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBeE1qa3dPVE0wTlRWYUZ3MHlOVEF4TWpnd09UTTBOVGRhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXBhMk1zT1JkNHJ5djFhdEsKbkcrZzZiUkhJZ28rbEVkL09qSThTVU9BVlppV0tNY2pFaU81TXpkSXhaZW8yNFIxYzBweTNyei9WQ1FkNkZTdQpmSkFydDJodkZEczFvWGN2UEZ6d2xKRWZpblRNZkdqVndhZTkyNGZrak15MDU4d0pFbjVEVDJYa294QmhyOGhFClhSZ2dBbFpDL0R3dVA3ZjhBcmtyTC8wOG9TbmFhWm5sVkpKTU9qWnN5VFBCMnFTTXZselh1Z25vSW14Qlhkc0oKZkVScm5qQ3R2RDdxOU5MRmx5QVV0OWRsMVNUMDRocDh0L1hBVVAyazZMcjQyUXZCdEVnN1RaR1pBTEp5NEdpUwozLyswTU9NcmVMYjVnRGRIOTExRTV2d3JteU4zdUNDSkxjbWVoUEh2UWJuYVVUNGtod2lkMHdBcDNJNnhCYkNpCjRNaFNGd0lEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JSdFpySURIRTlJZldXSm1DRW8yUHBkdUV3dwowVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBUVVkeEVxUkFzZ1ZmWFAzS0tuaG4veTRmcUpVdXk4ZzRPU2N0CmtOWmRkdFhNZ0xYK3RMekVIZnlxTXZ4cFlzMGhLQWNHZWlaRHkwajkrSFZ4L00zZWVmNUdGOWVTRHhvYy9Gd3QKQ2NxUGV2R1lKOVpaTGhacERENEN0L1dURjJ3eXRjdGo4UkdBVGsxcXl5Vkh5Vi82NGNSc2phYTIyQTNGVUFDNAovS2x5MHlBc25Ib0IyWS9SelJPTTJWLzhIdFFqRUg3RExzZHFpQVdIU2xOUGphdDM1NWg0ek10cW9jTWY0bzljCm0yd1RuaVp3QktBQmZVc3BNUFRlc2FITGw4Y1AzWklXbjF5QnJmcVFjenVWRnVtRjhqLy9QMTJ0YkxrVXAwSzEKbTNRclNDVnZDdnhOL1VjNGlmUFB1YkdRZDdudUc2RUdkdHVSeFB2RzdDem1sTjQ1amc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBcGEyTXNPUmQ0cnl2MWF0S25HK2c2YlJISWdvK2xFZC9Pakk4U1VPQVZaaVdLTWNqCkVpTzVNemRJeFplbzI0UjFjMHB5M3J6L1ZDUWQ2RlN1ZkpBcnQyaHZGRHMxb1hjdlBGendsSkVmaW5UTWZHalYKd2FlOTI0ZmtqTXkwNTh3SkVuNURUMlhrb3hCaHI4aEVYUmdnQWxaQy9Ed3VQN2Y4QXJrckwvMDhvU25hYVpubApWSkpNT2pac3lUUEIycVNNdmx6WHVnbm9JbXhCWGRzSmZFUnJuakN0dkQ3cTlOTEZseUFVdDlkbDFTVDA0aHA4CnQvWEFVUDJrNkxyNDJRdkJ0RWc3VFpHWkFMSnk0R2lTMy8rME1PTXJlTGI1Z0RkSDkxMUU1dndybXlOM3VDQ0oKTGNtZWhQSHZRYm5hVVQ0a2h3aWQwd0FwM0k2eEJiQ2k0TWhTRndJREFRQUJBb0lCQUN0dzloTHJ6akpGaDFWZgpOSkVRTkFFVFpCTm8zRC9FLzNjaTlPdkE1MFdLWE5VVVlmMi9vQy90cndjZ1hRWXlGUm5GeTVqYnRaYzZZUjBxCkZ4WlNOeVJBSGVBUUpsL1FBSEt6YStHSXE5eUNBNXdiWVBFR0txSUZYOGdMWk9QaWUvNTlYT2pVcnI2UzdRcEsKV0tLUVVOUk1DZ1JaUTBjeDFzSmdDeExxTTV1T0VkVDVLcGNiaE9BR042TGNVNkduRWEvcjlnUitUL2tIenA4QgpEdVZsNmREcHNGUjFyTmNsbGVXMkJLNmlMd2x6LzR0TmhROUxMY3lkSEswdHI0VWtKZVp2YTFEWFM1RWNUeTRQCkY5MzVJLzhqNTQvYlZ0ZjJQMFdpSUJ2ZFRaWnp5cjVPWG5nMDlPZUN3bTdwd2JjSVlhRDV4YXROdjRxYVR1ci8KY0I1R3RBRUNnWUVBeTZwekptQWZNZkxmOWUrSHZnTDRBK0M1cndFQVJhcllnUFlsTjJER0hrVFZNK2c1eW5YaQpUVHJEdlRZbUhqTmtiUUorOE14U09pRHZjK2Z1VHJWRzRUamE1Slk3YlJ1eFVVdHRRa2MzWk9UWFdzWXlzUWJICmRxbDBLU0RrcGdCdmZSMndxblp2V2JSR09rQ05sdmRpYUZKT0t4cUduWjc3NU9PTnVmNzRRUWNDZ1lFQTBFQXQKNXp2ZDhzYnZJOFBzQ1pmZlFYM1o1TWgzYytDVUhVTzQ4Mkc5QUx1L2tiRWhPL1JxVVJuck5DanJlWU9zWDliVQovSGwxelZkMStvRGlLcE1IZEJ2RDFubFM0MDY0TURTMW9BUEtxZjFFN0EySEN5cVZJZTZMbGRnKzh2VElkYzRHCmovV0RqR0JKMUs2RXI0NGx2SXNWWnpRaUpXSGxYZTV2dkJxdDhuRUNnWUF2OEVUK2FXMnVVaDdKUXNKT3hXQWYKZVl2N1YxNzdCd1hEQlMwcFpjdjhYL05YTG5nNzRaZU0yaUlzclV3M201MHQwNEtScDJaTGJHa3dmUTBvMVo2RApjT0NGSVorSFJSZHRyVFZnZm1iWmhzdngvK2o2cGovWS9IWHRJR0x4ZC9UR0hIRHpEc0dTK2MzMTlDL2Zzd2NrCnl3cS9OcFV0RUxqMTNXSUV2N0VyalFLQmdRQ014alhCa0ZpeTJ3T2hPN245cWlxRFRSM1VhQ2RIcjlLd0RhMmkKNkxrcEc4R2VMUXo0U0hydUpBVTVGMGhHdGxuNTEzSFcwZ3h1S09kWjFYSU5zYUppUExxZjZ4ZTdET1c1d0lmZQppWEdnZzlMcGR5T0l5dHBSTzc0a0p6QTJjSDVxRkVHZll5bnY1TTlEOUUxQmwyZXZFcDMvUytDaFFKSWFjeW9aCkVEZnlJUUtCZ0JXUGRELzhSTFhVWm9oV2FnTy9uMHRBUnlLMnladTA4RWFjcENXV2ZFNUdUZzF1cnVTNTdhT0IKMU1KeTFQNElnODJhVml4T291bkR3d2xzSHBjNXlHdVNBTERvYklkRnJoMHJVYVZLTTJZMDN1VzFBRnhzcnFFQQpWc0t0aUQ3WjMrRzM1cmFwRTkrcDhoR0EzaVF6eHl3YWdtRUI0Sm9WU0MxbHZJekc1ME1XCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==- 下一步会将
cat $KUBECONFIG输出内容复制到computinginstance.yaml文件中,注意复制前需要在每行前添加四个空格
- 下一步会将
-
新增
/data/mingdao/script/kubernetes/computinginstance.yaml文件首次部署时,computinginstance.yaml 文件中以下几点务必修改
- kafka.brokers:修改为微服务连接的 kafka 地址
- syncStatus.mongoUri:# 修改为实际的 mongodb 连接信息
- image:修改为与微服务相同的 computinginstance 版本号
- kubeconfig.yaml:修改为 $KUBECONFIG 实际的内容,务必注意需要在 $KUBECONFIG 原始内容每行前添加四个空格
computinginstance.yaml文件样例:apiVersion: v1kind: ConfigMapmetadata:name: computinginstancenamespace: defaultdata:config.yaml: |-server:listen:host: "0.0.0.0"port: "9157"common:kubernetes:configFile: "/usr/local/computinginstance/kubeconfig.yaml"namespace: "default"configmapTemplate: "/usr/local/computinginstance/configmap-workflowcompute.yaml"deploymentTemplate: "/usr/local/computinginstance/deployment-workflowcompute.yaml"kafka:brokers: "192.168.0.144:9092" # 修改为微服务连接的 kafka 地址workflowTopicPrefix: "WorkFlow-"workSheetTopicPrefix: "WorkSheet-"workflowConsumerIdPrefix: "md-workflow-consumer-"replicationFactor: 1deleteTopic: truecallback:url: "http://computingschedule:9158"createInterval: 120000 #msdeleteInterval: 120000 #mssyncStatus:mongoUri: "mongodb://mingdao:123456@192.168.0.144:27017/mdIdentification" # 修改为实际的 mongodb 连接信息interval: 30000 # msmodel:10:replicas: 1 # 实例数量thread: 2 # 表示单个种类线程数量,总数=5*thread*replicas=10cpu: 2 # 单个实例最大CPU核,总数=cpu*replicas=2memory: 4 # 单个实例最大内存GB,,总数=memory*replicas=420:replicas: 1thread: 4cpu: 4memory: 850:replicas: 1thread: 10cpu: 8memory: 16100:replicas: 1thread: 20cpu: 16memory: 32configmap-workflowcompute.yaml: |-apiVersion: v1kind: ConfigMapmetadata:name: workflowcomputedata:application-www-computing.properties: |-md.resource.consumer.config.maps={\'resourceId': 'CONFIGMAP_INSTANCEID', \'wfTopic': 'WorkFlow-CONFIGMAP_INSTANCEID', \'wsTopic': 'WorkSheet-CONFIGMAP_INSTANCEID', \'partition': 'CONFIGMAP_WORKFLOW_PARTITION' \}md.kafka.consumer.topic=WorkSheet-CONFIGMAP_INSTANCEIDmd.kafka.consumer.group.id=md-workflow-consumer-CONFIGMAP_INSTANCEIDmd.kafka.consumer.concurrency=CONFIGMAP_WORKFLOW_THREADmd.kafka.batch.topic=WorkSheet-CONFIGMAP_INSTANCEIDmd.kafka.batch.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.batch.topic=WorkFlow-CONFIGMAP_INSTANCEIDspring.kafka.batch.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.button.topic=WorkFlow-CONFIGMAP_INSTANCEIDspring.kafka.button.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.process.topic=WorkFlow-CONFIGMAP_INSTANCEIDspring.kafka.process.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.consumer.topic=WorkFlow-CONFIGMAP_INSTANCEIDspring.kafka.consumer.group.id=md-workflow-consumer-CONFIGMAP_INSTANCEIDspring.kafka.consumer.concurrency=CONFIGMAP_WORKFLOW_THREADspring.kafka.properties.partition=CONFIGMAP_WORKFLOW_PARTITIONgrpc.client.MDWorksheetService.address=static://127.0.0.1:9422spring.kafka.router.topic=WorkFlow-CONFIGMAP_INSTANCEIDdeployment-workflowcompute.yaml: |-apiVersion: apps/v1kind: Deploymentmetadata:name: workflowcompute-DEPLOYMENT_INSTANCEIDlabels:app: workflowcompute-DEPLOYMENT_INSTANCEIDmd-service: workflowcomputespec:replicas: DEPLOYMENT_REPLICASselector:matchLabels:app: workflowcompute-DEPLOYMENT_INSTANCEIDtemplate:metadata:labels:app: workflowcompute-DEPLOYMENT_INSTANCEIDmd-service: workflowcomputeannotations:md-update: '20231228184263'spec:imagePullSecrets:- name: hub.mingdao.comtolerations:- key: "md"operator: "Equal"value: "workflowcompute"effect: "NoSchedule"nodeSelector:md: workflowcomputecontainers:- name: workflow-consumerimage: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-computinginstance:7.2.4 # computinginstance 镜像版本号env:- name: ENV_SERVERIDvalue: "single:workflowconsumer"command:- sh- -c- |cp /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.properties.template /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiessed -i s/CONFIGMAP_INSTANCEID/DEPLOYMENT_INSTANCEID/g /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiessed -i s/CONFIGMAP_WORKFLOW_THREAD/DEPLOYMENT_WORKFLOW_THREAD/g /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiessed -i s/CONFIGMAP_WORKFLOW_PARTITION/DEPLOYMENT_WORKFLOW_PARTITION/g /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiescat /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.propertiessleep 20exec /Housekeeper/main -config /Housekeeper/config.yamlresources:limits:memory: DEPLOYMENT_MEMORYGicpu: DEPLOYMENT_CPUrequests:memory: 1Gicpu: 0.25volumeMounts:- name: tz-configmountPath: /etc/localtime- name: workflowcomputemountPath: /usr/local/MDPrivateDeployment/workflowconsumer/application-www-computing.properties.templatesubPath: application-www-computing.properties- name: worksheetserviceimage: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-computinginstance:7.2.4 # computinginstance 镜像版本号env:- name: ENV_SERVERIDvalue: "single:worksheet"command:- sh- -c- |cat /usr/local/MDPrivateDeployment/worksheet/Config/appsettingsMain.jsonexec /Housekeeper/main -config /Housekeeper/config.yamlresources:limits:memory: DEPLOYMENT_MEMORYGicpu: DEPLOYMENT_CPUrequests:memory: 1Gicpu: 0.25readinessProbe:tcpSocket:port: 9422initialDelaySeconds: 10periodSeconds: 10livenessProbe:tcpSocket:port: 9422initialDelaySeconds: 60periodSeconds: 10volumeMounts:- name: tz-configmountPath: /etc/localtimevolumes:- name: tz-confighostPath:path: /usr/share/zoneinfo/Etc/GMT-8- name: workflowcomputeconfigMap:name: workflowcomputeitems:- key: application-www-computing.propertiespath: application-www-computing.propertieskubeconfig.yaml: |- # 将下方修改为 $KUBECONFIG 实际的内容,注意需要在 $KUBECONFIG 原始内容每行前添加四个空格apiVersion: v1clusters:- cluster:certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJME1ERXlPVEE1TXpRMU5Wb1hEVE0wTURFeU5qQTVNelExTlZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTjR3CklsY3RBNzhlTlRPZWJOK1RoUXdDL29SamtKMlJMeUlVZ2dncU1MSWlxWWpEbytqczNKbkdpNVU4cUIrZ3RlV1AKRDhTUEVlVUd0ZmNOOHoxTzlqK0Q1aFB3dkRPRDFyV2k3OEpnZWI3SURtdkU4L1VMdWdIYldkajlTckcrWTVEYwpDakQrcFduWHAzQUkzdjhwbm45a1ZJZ2Z3RldFcFVGQWI4Y2h0WSt3MU11ZjVhNVlhSTJ3NWtwOXhVS1lmV0g0CkFWUnlCUUFFVU5TUjE1Y3EyZ3Z2WDVTT1ZXUU0xcFJYNG1jcHovZ0toZ1pCYTBoSHZJaGRIRFBxQ0o0bUNYak4KbzgrWDYzNWZ4S3JPYTV4NTFhemVJMTljeE5lOXh0V25JdDUzLzJtWVlkYjIzWVI5UDRCK3U5NWVheWZWU2JwZQo4amhvdW1qVXFoSmNHMFdiY1pNQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZHMW1zZ01jVDBoOVpZbVlJU2pZK2wyNFRERFJNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSHFXUDhnVDFJbXBpL1M4NVIzQwpzU0Y2V0NISFFscU5uOTh3UHdhR0dEcmFZQnUwbnhSeFk5Q243cHk3TytzZ2hLeDRpLzR5N3ZKYi84MXZWTEx2CklORGhxL2N2enp1WWtHQ0J1QStXcFVMZmhneHFsb0F4MjF3eWNScCtUTlZ5UnphNXpmUkt6RUZiZml0WU1LQk0KNkVhZmk3d3lma2twNDBDYzFoKzJMM3N4WG1sSDUyaXA4REx3WDJGVEVXRjE3VnE5WTBRdXZDcGpBSUlnY09aSgpGQjNCMHhiK0ZsUGsxZC9vakNHSzVOdDd6Z2VWQmN1VkhGSUhITSs5eWQ0dHJCVVViR05vVCszWVJXU0hxTGJECml3LzdQVDU2SFpheHA1VmUvN2p1cTZEbkRIYXQ5ZW9Idk5acEcvNUJMUW1SWUUyOFNaU3lvUnd5V3pUMkpTb24KOE8wPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==server: https://192.168.0.150:6443name: kubernetescontexts:- context:cluster: kubernetesuser: kubernetes-adminname: kubernetes-admin@kubernetescurrent-context: kubernetes-admin@kuberneteskind: Configpreferences: {}users:- name: kubernetes-adminuser:client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJWnJObmsyZ1RLRmd3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBeE1qa3dPVE0wTlRWYUZ3MHlOVEF4TWpnd09UTTBOVGRhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXBhMk1zT1JkNHJ5djFhdEsKbkcrZzZiUkhJZ28rbEVkL09qSThTVU9BVlppV0tNY2pFaU81TXpkSXhaZW8yNFIxYzBweTNyei9WQ1FkNkZTdQpmSkFydDJodkZEczFvWGN2UEZ6d2xKRWZpblRNZkdqVndhZTkyNGZrak15MDU4d0pFbjVEVDJYa294QmhyOGhFClhSZ2dBbFpDL0R3dVA3ZjhBcmtyTC8wOG9TbmFhWm5sVkpKTU9qWnN5VFBCMnFTTXZselh1Z25vSW14Qlhkc0oKZkVScm5qQ3R2RDdxOU5MRmx5QVV0OWRsMVNUMDRocDh0L1hBVVAyazZMcjQyUXZCdEVnN1RaR1pBTEp5NEdpUwozLyswTU9NcmVMYjVnRGRIOTExRTV2d3JteU4zdUNDSkxjbWVoUEh2UWJuYVVUNGtod2lkMHdBcDNJNnhCYkNpCjRNaFNGd0lEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JSdFpySURIRTlJZldXSm1DRW8yUHBkdUV3dwowVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBUVVkeEVxUkFzZ1ZmWFAzS0tuaG4veTRmcUpVdXk4ZzRPU2N0CmtOWmRkdFhNZ0xYK3RMekVIZnlxTXZ4cFlzMGhLQWNHZWlaRHkwajkrSFZ4L00zZWVmNUdGOWVTRHhvYy9Gd3QKQ2NxUGV2R1lKOVpaTGhacERENEN0L1dURjJ3eXRjdGo4UkdBVGsxcXl5Vkh5Vi82NGNSc2phYTIyQTNGVUFDNAovS2x5MHlBc25Ib0IyWS9SelJPTTJWLzhIdFFqRUg3RExzZHFpQVdIU2xOUGphdDM1NWg0ek10cW9jTWY0bzljCm0yd1RuaVp3QktBQmZVc3BNUFRlc2FITGw4Y1AzWklXbjF5QnJmcVFjenVWRnVtRjhqLy9QMTJ0YkxrVXAwSzEKbTNRclNDVnZDdnhOL1VjNGlmUFB1YkdRZDdudUc2RUdkdHVSeFB2RzdDem1sTjQ1amc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBcGEyTXNPUmQ0cnl2MWF0S25HK2c2YlJISWdvK2xFZC9Pakk4U1VPQVZaaVdLTWNqCkVpTzVNemRJeFplbzI0UjFjMHB5M3J6L1ZDUWQ2RlN1ZkpBcnQyaHZGRHMxb1hjdlBGendsSkVmaW5UTWZHalYKd2FlOTI0ZmtqTXkwNTh3SkVuNURUMlhrb3hCaHI4aEVYUmdnQWxaQy9Ed3VQN2Y4QXJrckwvMDhvU25hYVpubApWSkpNT2pac3lUUEIycVNNdmx6WHVnbm9JbXhCWGRzSmZFUnJuakN0dkQ3cTlOTEZseUFVdDlkbDFTVDA0aHA4CnQvWEFVUDJrNkxyNDJRdkJ0RWc3VFpHWkFMSnk0R2lTMy8rME1PTXJlTGI1Z0RkSDkxMUU1dndybXlOM3VDQ0oKTGNtZWhQSHZRYm5hVVQ0a2h3aWQwd0FwM0k2eEJiQ2k0TWhTRndJREFRQUJBb0lCQUN0dzloTHJ6akpGaDFWZgpOSkVRTkFFVFpCTm8zRC9FLzNjaTlPdkE1MFdLWE5VVVlmMi9vQy90cndjZ1hRWXlGUm5GeTVqYnRaYzZZUjBxCkZ4WlNOeVJBSGVBUUpsL1FBSEt6YStHSXE5eUNBNXdiWVBFR0txSUZYOGdMWk9QaWUvNTlYT2pVcnI2UzdRcEsKV0tLUVVOUk1DZ1JaUTBjeDFzSmdDeExxTTV1T0VkVDVLcGNiaE9BR042TGNVNkduRWEvcjlnUitUL2tIenA4QgpEdVZsNmREcHNGUjFyTmNsbGVXMkJLNmlMd2x6LzR0TmhROUxMY3lkSEswdHI0VWtKZVp2YTFEWFM1RWNUeTRQCkY5MzVJLzhqNTQvYlZ0ZjJQMFdpSUJ2ZFRaWnp5cjVPWG5nMDlPZUN3bTdwd2JjSVlhRDV4YXROdjRxYVR1ci8KY0I1R3RBRUNnWUVBeTZwekptQWZNZkxmOWUrSHZnTDRBK0M1cndFQVJhcllnUFlsTjJER0hrVFZNK2c1eW5YaQpUVHJEdlRZbUhqTmtiUUorOE14U09pRHZjK2Z1VHJWRzRUamE1Slk3YlJ1eFVVdHRRa2MzWk9UWFdzWXlzUWJICmRxbDBLU0RrcGdCdmZSMndxblp2V2JSR09rQ05sdmRpYUZKT0t4cUduWjc3NU9PTnVmNzRRUWNDZ1lFQTBFQXQKNXp2ZDhzYnZJOFBzQ1pmZlFYM1o1TWgzYytDVUhVTzQ4Mkc5QUx1L2tiRWhPL1JxVVJuck5DanJlWU9zWDliVQovSGwxelZkMStvRGlLcE1IZEJ2RDFubFM0MDY0TURTMW9BUEtxZjFFN0EySEN5cVZJZTZMbGRnKzh2VElkYzRHCmovV0RqR0JKMUs2RXI0NGx2SXNWWnpRaUpXSGxYZTV2dkJxdDhuRUNnWUF2OEVUK2FXMnVVaDdKUXNKT3hXQWYKZVl2N1YxNzdCd1hEQlMwcFpjdjhYL05YTG5nNzRaZU0yaUlzclV3M201MHQwNEtScDJaTGJHa3dmUTBvMVo2RApjT0NGSVorSFJSZHRyVFZnZm1iWmhzdngvK2o2cGovWS9IWHRJR0x4ZC9UR0hIRHpEc0dTK2MzMTlDL2Zzd2NrCnl3cS9OcFV0RUxqMTNXSUV2N0VyalFLQmdRQ014alhCa0ZpeTJ3T2hPN245cWlxRFRSM1VhQ2RIcjlLd0RhMmkKNkxrcEc4R2VMUXo0U0hydUpBVTVGMGhHdGxuNTEzSFcwZ3h1S09kWjFYSU5zYUppUExxZjZ4ZTdET1c1d0lmZQppWEdnZzlMcGR5T0l5dHBSTzc0a0p6QTJjSDVxRkVHZll5bnY1TTlEOUUxQmwyZXZFcDMvUytDaFFKSWFjeW9aCkVEZnlJUUtCZ0JXUGRELzhSTFhVWm9oV2FnTy9uMHRBUnlLMnladTA4RWFjcENXV2ZFNUdUZzF1cnVTNTdhT0IKMU1KeTFQNElnODJhVml4T291bkR3d2xzSHBjNXlHdVNBTERvYklkRnJoMHJVYVZLTTJZMDN1VzFBRnhzcnFFQQpWc0t0aUQ3WjMrRzM1cmFwRTkrcDhoR0EzaVF6eHl3YWdtRUI0Sm9WU0MxbHZJekc1ME1XCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==---apiVersion: apps/v1kind: Deploymentmetadata:name: computinginstancenamespace: defaultspec:replicas: 1selector:matchLabels:app: computinginstancetemplate:metadata:labels:app: computinginstancedir: grpcannotations:md-update: "20231228184309"spec:imagePullSecrets:- name: hub.mingdao.comcontainers:- name: computinginstanceimage: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-computinginstance:7.2.4 # computinginstance 镜像版本号resources:limits:cpu: "2"memory: 2Grequests:cpu: "0.01"memory: 128MreadinessProbe:tcpSocket:port: 9157initialDelaySeconds: 3periodSeconds: 3livenessProbe:tcpSocket:port: 9157initialDelaySeconds: 20periodSeconds: 10volumeMounts:- name: configfilemountPath: /usr/local/computinginstance/config.yamlsubPath: config.yaml- name: configfilemountPath: /usr/local/computinginstance/configmap-workflowcompute.yamlsubPath: configmap-workflowcompute.yaml- name: configfilemountPath: /usr/local/computinginstance/deployment-workflowcompute.yamlsubPath: deployment-workflowcompute.yaml- name: configfilemountPath: /usr/local/computinginstance/kubeconfig.yamlsubPath: kubeconfig.yaml- name: tz-configmountPath: /etc/localtimevolumes:- name: tz-confighostPath:path: /usr/share/zoneinfo/Asia/Shanghai- name: configfileconfigMap:name: computinginstanceitems:- key: config.yamlpath: config.yaml- key: configmap-workflowcompute.yamlpath: configmap-workflowcompute.yaml- key: deployment-workflowcompute.yamlpath: deployment-workflowcompute.yaml- key: kubeconfig.yamlpath: kubeconfig.yaml---apiVersion: v1kind: Servicemetadata:name: computinginstancenamespace: defaultspec:selector:app: computinginstanceports:- name: http-computinginstanceport: 9157targetPort: 9157nodePort: 9157type: NodePort -
重启服务
cd /data/mingdao/script/kubernetes/bash restart.sh
验证
获取 default 命名空间下 获取所有以 workflowcompute- 和 computinginstance 开头的 deployments
ns="default"
deployments=$(kubectl -n $ns get deployments -o jsonpath='{.items[*].metadata.name}' | tr ' ' '\n' | grep '^workflowcompute-\|computinginstance')
for deploy in $deployments
do
echo "Namespace: $ns, Deployment: $deploy"
# 获取并打印 deployment 的镜像
kubectl -n $ns get deployment $deploy -o jsonpath='{.spec.template.spec.containers[*].image}'
echo
done
输出示例:
Namespace: default, Deployment: computinginstance
registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-computinginstance:7.2.4
Namespace: default, Deployment: workflowcompute-7e4wf0fea4ho
registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-computinginstance:7.2.4
workflowcompute-开头的 deployment 只有在页面上创建了专属算力资源后才会有
查看污点是否生效
kubectl get pod -o wide | grep workflowcompute-
- 正常应为容器运行在专属算力的节点上
查看 kafka
/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server ${ENV_KAFKA_ENDPOINTS:=127.0.0.1:9092} --describe --group md-workflow-consumer-7e4wf0fea4ho
- 这里以资源 ID 为
7e4wf0fea4ho为例