簡體   English   中英

如何為 VMWare 的 fluentd 操作員安裝 ConfigMap 卷?

[英]How do I mount a ConfigMap volume for VMWare's fluentd operator?

我試圖安裝一個Kubernetes configmap為VMWare的Fluentd運營商[ 1 ]。 我檢查了文檔,舵圖表明您必須指定一個額外的卷作為名為fluentd.extraVolumeMounts的參數

我用來安裝操作員的舵圖如下:


#!/bin/sh
# helmenv set to helm3

CHART_URL='https://github.com/vmware/kube-fluentd-operator/releases/download/v1.12.0/log-router-0.3.3.tgz'

# Set environment variables.
REGION='us-east-1'
CLUSTER='dev'
ENV='dev'
IMAGE_TAG='v1.12.0'

VOLUME_MOUNT="
- name: fluentd-es-templates
  mountPath: /templates"

EXTRA_VOLUME="
- name: fluentd-es-templates
  configMap:
    name: fluentd-es-templates"

# Install the fluentd operator in kube-system.
# helm install kfo ${CHART_URL} \
helm upgrade --install kfo ${CHART_URL} \
  --set meta.key=metadata \
  --set meta.values.region=${REGION} \
  --set meta.values.env=${ENV} \
  --set meta.values.cluster=${CLUSTER} \
  --set rbac.create=true \
  --set image.tag=${IMAGE_TAG} \
  --set image.repository=vmware/kube-fluentd-operator \
# --set fluentd.extraVolumeMounts=[$EXTRA_VOLUME]
# --set extraVolumes=[${EXTRA_VOLUME}]

當我取消注釋設置卷的行時,舵腳本失敗。 我的問題是,如何使用正確的 json 或 yaml 填充VOLUME_MOUNTEXTRA_VOLUME變量? 我試圖在一個文件中做所有事情,不想將事情分成多個文件。

您仍然可以通過進程替換在 shell 腳本中使用值文件。 下面是一個例子:

#!/usr/bin/env bash
CHART_URL='https://github.com/vmware/kube-fluentd-operator/releases/download/v1.12.0/log-router-0.3.3.tgz'

read -r -d '' values << EOF
meta:
  key: metadata
  values:
    region: "us-east-1"
    env: "dev"
    cluster: "dev"
rbac:
  create: true
image:
  repository: vmware/kube-fluentd-operator
  tag: "v1.12.0"
fluentd:
  extraVolumeMounts:
    - name: fluentd-es-templates
      mountPath: /fluentd/etc/mappings
extraVolumes:
  - name: fluentd-es-templates
    configMap:
      name: fluentd-es-templates
EOF

helm upgrade --install kfo "$CHART_URL" -f <(printf '%s' "$values")

在幕后,這會創建一個命名管道並將文件描述符(例如/dev/fd/123傳遞給 helm install 命令。 此功能在某些 shell 中不可用,例如 dash(在 Debian 和 Ubuntu 中為/bin/sh )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM