将JSON文件上传到Kubernetes Minikube Cluster节点,以便在Pod中的ASP.NET Core应用程序中使用

6pp0gazn  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(130)

我有一个data-config.json,它被我的ASP.NET Core应用程序使用。
该应用程序是构建到镜像的,目标是创建一个Kubernetes环境(使用Minikube和myapp.yaml创建和部署Minikube和pod),并将data-config.json从我本地机器中的特定位置复制到Node中的目录(换句话说,在Node的根目录中,我希望成为~/app/publish/data-config.json的位置)。
我读了很多文档,我认为ConfigMap在这种情况下很有用。我也做了一个卷。但我不认为在ConfigMap配置中编写JSON内容是最好的方法,我想只依赖于data-config.json文件和YAML。
docker-compose.yml文件中,要在Docker Desktop中进行测试,它可以工作,代码如上所示:

dataService:
        image: webapp
        build:
          context: ../..
          dockerfile: webapp
        container_name: webapp-container
        ports:
            - "9000:8080"
        volumes:
            - "../data-service/data-config.json:/app/publish/data-config.json"

和它的工作.现在我需要翻译或找到一种方法来复制这个文件并将其保存到我的节点的/app/publish/目录中。

0h4hbjxa

0h4hbjxa1#

我通过创建一个ConfigMap来解决这个问题,该ConfigMap将data-config.json从本地机器目录Map到容器pod。示例显示Minikube用于创建和启动集群的YAML文件的实现:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: data-deployment
  labels:
    app: data-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: data-app
  template:
    metadata:
      labels:
        app: data-app
    spec:
      imagePullSecrets:
      - name: regcred
      containers:
      - name: data-app
        image: validation-image:latest
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 8080
        env:
        - name: DataSettings_ConfigPath
          value: /app/publish/data-config.json
        volumeMounts:
        - name: data-config-dir
          mountPath: /app/publish/data-config.json
          subPath: data-config.json
      restartPolicy: Always
      hostname: data-service
      volumes: 
      - name: data-config-dir
        configMap:
           name: data-configmap
           items:
             - key: data-config.json
               path: data-config.json

PS:必须在终端中运行以下命令才能创建configMap for data-config.json文件:

$ kubectl create configmap data-configmap --from-file ../data-service/data-config.json

相关问题