[kubernetes]-subpath挂载configmap

195 篇文章 5 订阅
76 篇文章 2 订阅

导语:使用configmap挂载替换对应的配置文件。

挂载的配置文件是只读的,无法修改或者同步,且需要用到subpath。

先创建配置文件platform-dynamic的configmap

配置文件如下

####     application.properties
#当前需要激活的的子模块
#deep.modules.active=console,web,scu,cta,lumbar

## 肺结节长短径收缩相关
# 肺结节长短径收缩阈值,大于等于此阈值的则收缩
deep.southwest.test.diameter-shrink-threshold=3.0
# 肺结节长短径需要收缩的像素值
deep.southwest.test.diameter-shrink-pixel=2.0

# 关键序列字体相对整张影像(高度)的大小比例,如图像高512,文字大小为12
deep.logic.auto-generate-ai-key-series-and-send-to-pacs.fontScale=0.024
# 文字起始位置X
deep.logic.auto-generate-ai-key-series-and-send-to-pacs.fontX=1
# 文字起始位置Y
deep.logic.auto-generate-ai-key-series-and-send-to-pacs.fontY=1
# 文字上下间距
deep.logic.auto-generate-ai-key-series-and-send-to-pacs.fontSpacing=1
# 矢状位和冠状位文字位置 0-3:左上,右上,左下,右下
deep.logic.auto-generate-ai-key-series-and-send-to-pacs.mpr-site=3
# 关键序列ImageType值
deep.logic.auto-generate-ai-key-series-and-send-to-pacs.imageType=AIResult_Shenrui

deep.whitelist.login.switch=false


####     application-ftp.properties
# 远程数据库配置(根据医院的数据库类型做相应的修改)
#mysql配置
spring.datasource.remote.url=jdbc:mysql://127.0.0.1:3306/hospital?connectTimeout=1000&useSSL=false&useUnicode=true&characterEncoding=UTF-8
spring.datasource.remote.username=root
spring.datasource.remote.password=deep


####    application-pull.properties
# 远程数据库配置(根据医院的数据库类型做相应的修改)
#mysql配置
spring.datasource.remote.pull.url=jdbc:mysql://172.16.20.187:3306/deep?connectTimeout=1000&useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.remote.pull.username=root
spring.datasource.remote.pull.password=deep

#视图名称
deep.pull.viewName=VIEW_AI_deep
#每一次从视图拉取的记录数
deep.pull.viewLimit=1000
#视图同步范围时间(单位:分)
deep.pull.viewSycRange=60
#视图同步延迟时间(单位:分)
deep.pull.viewDelayed=0
#每次发送cmove的记录数
deep.pull.cmoveLimit=10
#发起cmove的pacs节点
deep.pull.cmovePacsNode=deepSCP@172.16.20.187:22222
#通过视图发起cmove请求开关
deep.pull.cmoveViewSwitch=false
#数据延迟拉取时间 单位(s)
deep.pull.delayed=120

创建configmapplatform-dynamic

kubectl create configmap platform-dynamic   --from-file=platform-dynamic -n deep

对应的yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: platform
  labels:
    k8s-app: platform
    k8s-med-type: biz
spec:
  strategy:
    type: Recreate
  replicas: 1
  selector:
    matchLabels:
      k8s-app: platform
  template:
    metadata:
      labels:
        k8s-app: platform
    spec:
      affinity:
        podAffinity:
        #podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: k8s-app
                operator: In
                values:
                - aiserverconfig
            topologyKey: "kubernetes.io/hostname"
      initContainers:
        - command: ['sh', '-c', "until nc -w 3  -zv mysql 3306 ; do echo waiting for mydb; sleep 5; done"]
          image: harbor.deep.com/base/busybox:stable-alpine
          name: wait-for-mysql
        - command: ['sh', '-c', "until nc -w 3  -zv zk 2181; do echo waiting for zk; sleep 5; done"]
          image: harbor.deep.com/base/busybox:stable-alpine
          name: wait-for-zk
        - command: ['sh', '-c', "until nc -w 3  -zv aiserverconfig 11383; do echo waiting for aiserverconfig; sleep 5; done"]
          image: harbor.deep.com/base/busybox:stable-alpine
          name: wait-for-aiserverconfig
        - command: ['sh', '-c', "until  curl aiserver:11381/aiserver/ai/v1/echo ; do echo waiting for aiserver; sleep 5; done"]
          image: harbor.deep.com/base/busybox:stable-alpine
          name: wait-for-aiserver
      restartPolicy: Always
      containers:
      - name: platform
        image: harbor.deep.com/dev/dev-platform:feature-20220516-drwise0531-terra_0c25f29_58
        #image: {{ .Values.images.platform }}
        command: ["sh","-c","sh /root/platform/startup.sh "]
#        livenessProbe:
#          httpGet:
#            path: /echo
#            port: 11380
#          initialDelaySeconds: 40
#          periodSeconds: 30
#          failureThreshold: 2
#          timeoutSeconds: 10
        env:
        - name: NVIDIA_DRIVER_CAPABILITIES
          value: all
        volumeMounts:
        - name: dicom-pvc
          mountPath: /data1/inputdata
        - name: log-pvc
          mountPath: /root/platform/log
        - name: log-jvm-pvc
          mountPath: /data1/jvm
        - name: platform-dynamic
          mountPath: /root/platform/classes/application-dynamic.properties # 最终在容器中的文件名
          subPath: platform-dynamic # 要挂载的confmap中的key的名称 data里的名称

      volumes:
#      - name: config-volume
#        configMap:
#          name: platform-dynamic
      - configMap:
          name: platform-dynamic
        name: platform-dynamic
      - name: log-pvc
        hostPath:
          path: /data1/deep/container-root/platform
          type: DirectoryOrCreate
      - name: dicom-pvc
        hostPath:
          path: /data1/inputdata
          type: DirectoryOrCreate
      - name: log-jvm-pvc
        hostPath:
          path: /data1/deep/container-root/platform-jvm
          type: DirectoryOrCreate
---
apiVersion: v1
kind: Service
metadata:
  name: platform
spec:
  ports:
  - port: 11380
    targetPort: 11380
  selector:
    k8s-app: platform

创建之后测试即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值