【问题标题】:Openshift Jobs - apply configurationOpenshift 作业 - 应用配置
【发布时间】:2018-03-06 17:38:32
【问题描述】:

对于 Openshift 作业,一种方法是使用 oc run 命令对映像执行命令,这将在 pod 内运行命令。有没有办法将配置映射或秘密等配置应用于此机制(oc run)。

请指教。 乙

【问题讨论】:

  • 我可以创建 pod 对象,并根据 secret 或 config map 关联 env。
  • 如果您使用oc run ...youoptions... --dry-run -o json,它将输出原始 JSON 描述。您可以将其作为起点,然后添加必要的位,以便从配置映射或机密中提取环境变量,或挂载配置映射或机密。
  • 谢谢,但我可以添加环境。引用 configmap/secret 的 vars 运行?
  • 您能否在问题中包含您正在使用的当前oc run 命令。如果您这样做,则可以生成输出并将其用作如何编辑它的示例。

标签: kubernetes openshift


【解决方案1】:

为这些要求创建部署配置。您可以在其中声明环境变量、命令、声明机密等。它也很容易维护。

【讨论】:

  • 我需要 pod 的重启策略为 Never。 DC 仅支持 Always。
  • 你可以像下面的例子一样使用 pod,它只会运行 pod,一旦 pod 删除就不会重新启动。在这你也可以在容器部分声明环境和命令选项。看到这个例子不完整但是你会得到idea.apiVersion: v1 kind: Pod
【解决方案2】:

以实物形式查看此示例 pod。在此您还可以添加命令和环境变量。它不会重新启动容器本身。不完整,但你会明白的。

apiVersion: v1
kind: Pod
metadata:
  name: pod-elasticsearch-1
  namespace: common-data
  labels:
    elasticsearch-name: pod-elasticsearch-1
    node: elasticsearch
    type: elasticsearch-logs
spec:
  containers:
    - resources:
        limits:
          memory: "24Gi"
          cpu: "2"
        requests:
          memory: "16Gi"
          cpu: "1"
      ulimits:
        memlock:
          soft: -1
          hard: -1
        nofile:
          soft: 65536
          hard: 65536
      image: docker.elastic.co/elasticsearch/elasticsearch:5.5.2
      name: elasticsearch-custom
      command: [ "elasticsearch"]
      args: ["-E" , "cluster.name=es-ocp-app-cluster",
                "-E" , "node.name=master-es-node-1",
                "-E" , "node.master=true",
                "-E" , "node.data=true",
                "-E" , "network.publish_host= svc-elasticsearch-1 ",
                #"-E" , "network.host=_site_",
                "-E" , "http.host=0.0.0.0",

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多