如何在kubernetes中使用configMap?

问题描述 投票:0回答:1

我是 Kubernetes 新手,我正在尝试使用与 Docker 一起使用的配置文件来实际使其与 kubernetes 一起使用。我见过 Config Map 用于执行此操作。 Docker使用的

application.conf
文件如下:

[..]
analyzer {
  # Directory that holds analyzers
  urls = [
    "https://download.thehive-project.org/analyzers.json",
    "/opt/Custom-Analyzers/analyzers" 
  ]

  fork-join-executor {
    # Min number of threads available for analyze
    parallelism-min = 2
    # Parallelism (threads) ... ceil(available processors * factor)
    parallelism-factor = 2.0
    # Max number of threads available for analyze
    parallelism-max = 4
  }
}

responder {
  # Directory that holds responders
  urls = [
    "https://download.thehive-project.org/responders.json",
    "/opt/Custom-Analyzers/responders" 
  ]

  fork-join-executor {
    # Min number of threads available for analyze
    parallelism-min = 2
    # Parallelism (threads) ... ceil(available processors * factor)
    parallelism-factor = 2.0
    # Max number of threads available for analyze
    parallelism-max = 4
  }
}
[..]

我尝试像这样重新调整这个 application.conf 的用途。

deployment.yaml

kind: Deployment
apiVersion: apps/v1
metadata:
  name: cortex
  labels:
    app: cortex
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cortex
  template:
    metadata:
      labels:
        app: cortex
    spec:
      containers:
      - name: cortex
        image: thehiveproject/cortex:3.1.8-1
        ports:
          - containerPort: 9001
        env:
          - name: es_uri
            value: http://10.224.0.66:9200
          - name: start_docker
            value: "1"
        securityContext:
          privileged: true
        volumeMounts:
        - name: cortex-volume
          mountPath: /etc/cortex
      volumes:
      - name: cortex-volume
        configMap:
          name: cortex-config
---
apiVersion: v1
kind: Service
metadata:
  name: cortex
spec:
  selector:
    app: cortex
  type: NodePort
  ports:
    - port: 9001
      nodePort: 30010

    

configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: cortex-config
data:
  analyzer.conf: |
    analyzer {
      # Directory that holds analyzers
      urls = [
        "https://download.thehive-project.org/analyzers.json",
        "/opt/Custom-Analyzers/analyzers" 
      ]

      fork-join-executor {
        # Min number of threads available for analyze
        parallelism-min = 2
        # Parallelism (threads) ... ceil(available processors * factor)
        parallelism-factor = 2.0
        # Max number of threads available for analyze
        parallelism-max = 4
      }
    }

  responder.conf: |
    responder {
      # Directory that holds responders
      urls = [
        "https://download.thehive-project.org/responders.json",
        "/opt/Custom-Analyzers/responders" 
      ]

      fork-join-executor {
        # Min number of threads available for analyze
        parallelism-min = 2
        # Parallelism (threads) ... ceil(available processors * factor)
        parallelism-factor = 2.0
        # Max number of threads available for analyze
        parallelism-max = 4
      }
    }

当我运行这两个文件时,pod 会出错,所以我不知道我做错了什么。我希望你能帮助我。

kubernetes
1个回答
0
投票

查看此 docker hub 链接 https://hub.docker.com/r/thehiveproject/thehive/,它告诉您使用 /etc/thehive/application.conf 作为容器的挂载点。尝试使用以下配置:

配置图:

apiVersion: v1
kind: ConfigMap
metadata:
  name: cortex-config
data:
  application.conf: |
    <put entire config here>

部署volumeMount配置:

...
volumeMounts:
  - name: cortex-volume
    mountPath: /etc/thehive
...
© www.soinside.com 2019 - 2024. All rights reserved.