簡體   English   中英

如何使用 Helm 變量生成許多 Kubernetes ResourceQuota?

[英]How to generate many Kubernetes ResourceQuota with Helm Variables?

我有一個 OpenShift/Kubernetes 新集群,我需要創建多個 ResourceQuota 並將它們應用於現有項目。

每個 ResourceQuota 都應該應用於給定的命名空間,並且應該包含特定數量的請求和限制。 我想生成所有需要的 ResourceQuota YAM 並使用 Helm 部署它們。

我使用命令創建了一個新的自定義 Helm Chart

helm template resourcequota

我看到 Helm 創建了以下文件:

    .
..
.helmignore
Chart.yaml
charts
templates
values.yaml

然后我在templates文件夾中寫了一個resourcequota.yaml 我希望 helm 為我填寫 ResourceQuota 規范:

apiVersion: v1
kind: ResourceQuota
metadata:
  name: {{ .Values.namespace }}-quota
  namespace: {{ .Values.namepace }}
spec:
  hard:
    cpu: {{ .Values.namespace.requests.cpu }}
    limits.cpu: {{ .Values.namespace.limits.cpu }}
    memory: {{ .Values.namespace.requests.memory }}
    limits.memory: {{ .Values.namespace.limits.cpu }}

values.yaml文件包含帶有示例值的第一個命名空間名稱:

...
83 ...
84 namespace: "123-testnamespace"
85   requests:
86     cpu: "2"
87     memory: "1Gi"
88   limits:
89     cpu: "2"
90     memory: "1Gi"

然后我讓 Helm 使用helm template resourcequota在本地生成一個模板,但他似乎不知道命名空間鍵(第 84 行):

Error: cannot load values.yaml: error converting YAML to JSON: yaml: line 84: did not find expected key

我究竟做錯了什么? 我試圖從頭開始編寫values.yaml但似乎我在這里錯過了一些掌舵基礎知識。

先感謝您

似乎我在這里錯過了一些掌舵基礎知識

是的,正如錯誤中提到的,第 84 行有一個問題

84 namespace: "123-testnamespace"
85   requests:
86     cpu: "2"
87     memory: "1Gi"
88   limits:
89     cpu: "2"
90     memory: "1Gi"

基本 YAML 無法創建值數組並將其也用作鍵。

您應該使用 values.yaml 之類的

  namespacename : "123-testnamespace"
  namespace:
    requests:
      cpu: "2"
      memory: "1Gi"
    limits:
      cpu: "2"
      memory: "1Gi"

YAML 模板

在模板中使用名稱命名空間值的更改

apiVersion: v1
kind: ResourceQuota
metadata:
  name: {{ .Values.namespacename }}-quota
  namespace: {{ .Values.namespacename }}
spec:
  hard:
    cpu: {{ .Values.namespace.requests.cpu }}
    limits.cpu: {{ .Values.namespace.limits.cpu }}
    memory: {{ .Values.namespace.requests.memory }}
    limits.memory: {{ .Values.namespace.limits.cpu }}

嵌套YAML 示例

cartParams:
  - title: Test 1
    options:
      - Oh lala
      - oh lalalalala
  - title: Title test 2
    options:
      - oh lala
      - oh lala
      - oh lalala
      - oh lalalalalalalala
      - oh lalalalalalalalalala

暫無
暫無

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

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