国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 使用 Kustomize 對(duì) Kubernetes 對(duì)象進(jìn)行聲明式管理

這篇具有很好參考價(jià)值的文章主要介紹了【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 使用 Kustomize 對(duì) Kubernetes 對(duì)象進(jìn)行聲明式管理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


前言

k8s kustomization patch,云原生,kubernetes,云原生,docker

Kustomize 是一個(gè)用來(lái)定制 Kubernetes 配置的工具。它提供以下功能特性來(lái)管理應(yīng)用配置文件:

  • 從其他來(lái)源生成資源
  • 為資源設(shè)置貫穿性(Cross-Cutting)字段
  • 組織和定制資源集合

一、生成資源

ConfigMap 和 Secret 包含其他 Kubernetes 對(duì)象(如 Pod)所需要的配置或敏感數(shù)據(jù)。 ConfigMap 或 Secret 中數(shù)據(jù)的來(lái)源往往是集群外部,例如某個(gè) .properties 文件或者 SSH 密鑰文件。 Kustomize 提供 secretGenerator 和 configMapGenerator,可以基于文件或字面值來(lái)生成 Secret 和 ConfigMap。

1.1、configMapGenerator

configMapGenerator 要基于文件來(lái)生成 ConfigMap,可以在 configMapGenerator 的 files 列表中添加表項(xiàng)。 下面是一個(gè)根據(jù) .properties 文件中的數(shù)據(jù)條目來(lái)生成 ConfigMap 的示例:

# 生成一個(gè)  application.properties 文件
cat <<EOF >application.properties
FOO=Bar
EOF

cat <<EOF >./kustomization.yaml
configMapGenerator:
- name: example-configmap-1
  files:
  - application.properties
EOF

所生成的 ConfigMap 可以使用下面的命令來(lái)檢查:

$ kubectl kustomize ./

所生成的 ConfigMap 為:

apiVersion: v1
data:
  application.properties: |
        FOO=Bar
kind: ConfigMap
metadata:
  name: example-configmap-1-8mbdf7882g

要從 env 文件生成 ConfigMap,請(qǐng)?jiān)?configMapGenerator 中的 envs 列表中添加一個(gè)條目。 下面是一個(gè)用來(lái)自 .env 文件的數(shù)據(jù)生成 ConfigMap 的例子:

# 創(chuàng)建一個(gè) .env 文件
cat <<EOF >.env
FOO=Bar
EOF

cat <<EOF >./kustomization.yaml
configMapGenerator:
- name: example-configmap-1
  envs:
  - .env
EOF

可以使用以下命令檢查生成的 ConfigMap:

$ kubectl kustomize ./

生成的 ConfigMap 為:

apiVersion: v1
data:
  FOO: Bar
kind: ConfigMap
metadata:
  name: example-configmap-1-42cfbf598f

ConfigMap 也可基于字面的鍵值偶對(duì)來(lái)生成。要基于鍵值偶對(duì)來(lái)生成 ConfigMap, 在 configMapGenerator 的 literals 列表中添加表項(xiàng)。下面是一個(gè)例子, 展示如何使用鍵值偶對(duì)中的數(shù)據(jù)條目來(lái)生成 ConfigMap 對(duì)象:

cat <<EOF >./kustomization.yaml
configMapGenerator:
- name: example-configmap-2
  literals:
  - FOO=Bar
EOF

可以用下面的命令檢查所生成的 ConfigMap:

$ kubectl kustomize ./

所生成的 ConfigMap 為:

apiVersion: v1
data:
  FOO: Bar
kind: ConfigMap
metadata:
  name: example-configmap-2-g2hdhfc6tk

要在 Deployment 中使用生成的 ConfigMap,使用 configMapGenerator 的名稱對(duì)其進(jìn)行引用。 Kustomize 將自動(dòng)使用生成的名稱替換該名稱。

這是使用生成的 ConfigMap 的 deployment 示例:

# 創(chuàng)建一個(gè) application.properties 文件
cat <<EOF >application.properties
FOO=Bar
EOF

cat <<EOF >deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  labels:
    app: my-app
spec:
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: app
        image: my-app
        volumeMounts:
        - name: config
          mountPath: /config
      volumes:
      - name: config
        configMap:
          name: example-configmap-1
EOF

cat <<EOF >./kustomization.yaml
resources:
- deployment.yaml
configMapGenerator:
- name: example-configmap-1
  files:
  - application.properties
EOF

生成 ConfigMap 和 Deployment:

$ kubectl kustomize ./

生成的 Deployment 將通過(guò)名稱引用生成的 ConfigMap:

apiVersion: v1
data:
  application.properties: |
        FOO=Bar
kind: ConfigMap
metadata:
  name: example-configmap-1-g4hk9g2ff8
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: my-app
  name: my-app
spec:
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - image: my-app
        name: app
        volumeMounts:
        - mountPath: /config
          name: config
      volumes:
      - configMap:
          name: example-configmap-1-g4hk9g2ff8
        name: config

1.2、secretGenerator

secretGenerator 可以基于文件或者鍵值偶對(duì)來(lái)生成 Secret。要使用文件內(nèi)容來(lái)生成 Secret, 在 secretGenerator 下面的 files 列表中添加表項(xiàng)。 下面是一個(gè)根據(jù)文件中數(shù)據(jù)來(lái)生成 Secret 對(duì)象的示例:

# 創(chuàng)建一個(gè) password.txt 文件
cat <<EOF >./password.txt
username=admin
password=secret
EOF

cat <<EOF >./kustomization.yaml
secretGenerator:
- name: example-secret-1
  files:
  - password.txt
EOF

所生成的 Secret 如下:

apiVersion: v1
data:
  password.txt: dXNlcm5hbWU9YWRtaW4KcGFzc3dvcmQ9c2VjcmV0Cg==
kind: Secret
metadata:
  name: example-secret-1-t2kt65hgtb
type: Opaque

要基于鍵值偶對(duì)字面值生成 Secret,先要在 secretGenerator 的 literals 列表中添加表項(xiàng)。下面是基于鍵值偶對(duì)中數(shù)據(jù)條目來(lái)生成 Secret 的示例:

cat <<EOF >./kustomization.yaml
secretGenerator:
- name: example-secret-2
  literals:
  - username=admin
  - password=secret
EOF

所生成的 Secret 如下:

apiVersion: v1
data:
  password: c2VjcmV0
  username: YWRtaW4=
kind: Secret
metadata:
  name: example-secret-2-t52t6g96d8
type: Opaque

與 ConfigMap 一樣,生成的 Secret 可以通過(guò)引用 secretGenerator 的名稱在 Deployment 中使用:

# 創(chuàng)建一個(gè) password.txt 文件
cat <<EOF >./password.txt
username=admin
password=secret
EOF

cat <<EOF >deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  labels:
    app: my-app
spec:
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: app
        image: my-app
        volumeMounts:
        - name: password
          mountPath: /secrets
      volumes:
      - name: password
        secret:
          secretName: example-secret-1
EOF

cat <<EOF >./kustomization.yaml
resources:
- deployment.yaml
secretGenerator:
- name: example-secret-1
  files:
  - password.txt
EOF

1.3、generatorOptions

generatorOptions 所生成的 ConfigMap 和 Secret 都會(huì)包含內(nèi)容哈希值后綴。 這是為了確保內(nèi)容發(fā)生變化時(shí),所生成的是新的 ConfigMap 或 Secret。 要禁止自動(dòng)添加后綴的行為,用戶可以使用 generatorOptions。 除此以外,為生成的 ConfigMap 和 Secret 指定貫穿性選項(xiàng)也是可以的。

cat <<EOF >./kustomization.yaml
configMapGenerator:
- name: example-configmap-3
  literals:
  - FOO=Bar
generatorOptions:
  disableNameSuffixHash: true
  labels:
    type: generated
  annotations:
    note: generated
EOF

運(yùn)行 kubectl kustomize ./ 來(lái)查看所生成的 ConfigMap:

apiVersion: v1
data:
  FOO: Bar
kind: ConfigMap
metadata:
  annotations:
    note: generated
  labels:
    type: generated
  name: example-configmap-3

二、設(shè)置貫穿性字段

在項(xiàng)目中為所有 Kubernetes 對(duì)象設(shè)置貫穿性字段是一種常見(jiàn)操作。 貫穿性字段的一些使用場(chǎng)景如下:

  • 為所有資源設(shè)置相同的名字空間
  • 為所有對(duì)象添加相同的前綴或后綴
  • 為對(duì)象添加相同的標(biāo)簽集合
  • 為對(duì)象添加相同的注解集合

我們先來(lái)看一個(gè)例子:

# 創(chuàng)建一個(gè) deployment.yaml
cat <<EOF >./deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
EOF

cat <<EOF >./kustomization.yaml
namespace: my-namespace
namePrefix: dev-
nameSuffix: "-001"
commonLabels:
  app: bingo
commonAnnotations:
  oncallPager: 800-555-1212
resources:
- deployment.yaml
EOF

執(zhí)行 kubectl kustomize ./ 查看這些字段都被設(shè)置到 Deployment 資源上:

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    oncallPager: 800-555-1212
  labels:
    app: bingo
  name: dev-nginx-deployment-001
  namespace: my-namespace
spec:
  selector:
    matchLabels:
      app: bingo
  template:
    metadata:
      annotations:
        oncallPager: 800-555-1212
      labels:
        app: bingo
    spec:
      containers:
      - image: nginx
        name: nginx

三、組織和定制資源

一種常見(jiàn)的做法是在項(xiàng)目中構(gòu)造資源集合并將其放到同一個(gè)文件或目錄中管理。 Kustomize 提供基于不同文件來(lái)組織資源并向其應(yīng)用補(bǔ)丁或者其他定制的能力。

3.1、組織

Kustomize 支持組合不同的資源。kustomization.yaml 文件的 resources 字段定義配置中要包含的資源列表。 你可以將 resources 列表中的路徑設(shè)置為資源配置文件的路徑。 下面是由 Deployment 和 Service 構(gòu)成的 NGINX 應(yīng)用的示例:

# 創(chuàng)建 deployment.yaml 文件
cat <<EOF > deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx
        ports:
        - containerPort: 80
EOF

# 創(chuàng)建 service.yaml 文件
cat <<EOF > service.yaml
apiVersion: v1
kind: Service
metadata:
  name: my-nginx
  labels:
    run: my-nginx
spec:
  ports:
  - port: 80
    protocol: TCP
  selector:
    run: my-nginx
EOF

# 創(chuàng)建 kustomization.yaml 來(lái)組織以上兩個(gè)資源
cat <<EOF >./kustomization.yaml
resources:
- deployment.yaml
- service.yaml
EOF

kubectl kustomize ./ 所得到的資源中既包含 Deployment 也包含 Service 對(duì)象。

3.2、定制

補(bǔ)丁文件(Patches)可以用來(lái)對(duì)資源執(zhí)行不同的定制。 Kustomize 通過(guò) patchesStrategicMerge 和 patchesJson6902 支持不同的打補(bǔ)丁機(jī)制。 patchesStrategicMerge 的內(nèi)容是一個(gè)文件路徑的列表,其中每個(gè)文件都應(yīng)可解析為 策略性合并補(bǔ)?。⊿trategic Merge Patch)。 補(bǔ)丁文件中的名稱必須與已經(jīng)加載的資源的名稱匹配。 建議構(gòu)造規(guī)模較小的、僅做一件事情的補(bǔ)丁。 例如,構(gòu)造一個(gè)補(bǔ)丁來(lái)增加 Deployment 的副本個(gè)數(shù);構(gòu)造另外一個(gè)補(bǔ)丁來(lái)設(shè)置內(nèi)存限制。

# 創(chuàng)建 deployment.yaml 文件
cat <<EOF > deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx
        ports:
        - containerPort: 80
EOF

# 生成一個(gè)補(bǔ)丁 increase_replicas.yaml
cat <<EOF > increase_replicas.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 3
EOF

# 生成另一個(gè)補(bǔ)丁 set_memory.yaml
cat <<EOF > set_memory.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  template:
    spec:
      containers:
      - name: my-nginx
        resources:
          limits:
            memory: 512Mi
EOF

cat <<EOF >./kustomization.yaml
resources:
- deployment.yaml
patchesStrategicMerge:
- increase_replicas.yaml
- set_memory.yaml
EOF

執(zhí)行 kubectl kustomize ./ 來(lái)查看 Deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      run: my-nginx
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - image: nginx
        name: my-nginx
        ports:
        - containerPort: 80
        resources:
          limits:
            memory: 512Mi

并非所有資源或者字段都支持策略性合并補(bǔ)丁。為了支持對(duì)任何資源的任何字段進(jìn)行修改, Kustomize 提供通過(guò) patchesJson6902 來(lái)應(yīng)用 JSON 補(bǔ)丁的能力。 為了給 JSON 補(bǔ)丁找到正確的資源,需要在 kustomization.yaml 文件中指定資源的組(group)、 版本(version)、類別(kind)和名稱(name)。 例如,為某 Deployment 對(duì)象增加副本個(gè)數(shù)的操作也可以通過(guò) patchesJson6902 來(lái)完成:

# 創(chuàng)建一個(gè) deployment.yaml 文件
cat <<EOF > deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx
        ports:
        - containerPort: 80
EOF

# 創(chuàng)建一個(gè) JSON 補(bǔ)丁文件
cat <<EOF > patch.yaml
- op: replace
  path: /spec/replicas
  value: 3
EOF

# 創(chuàng)建一個(gè) kustomization.yaml
cat <<EOF >./kustomization.yaml
resources:
- deployment.yaml

patchesJson6902:
- target:
    group: apps
    version: v1
    kind: Deployment
    name: my-nginx
  path: patch.yaml
EOF

執(zhí)行 kubectl kustomize ./ 以查看 replicas 字段被更新:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      run: my-nginx
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - image: nginx
        name: my-nginx
        ports:
        - containerPort: 80

除了補(bǔ)丁之外,Kustomize 還提供定制容器鏡像或者將其他對(duì)象的字段值注入到容器中的能力,并且不需要?jiǎng)?chuàng)建補(bǔ)丁。 例如,你可以通過(guò)在 kustomization.yaml 文件的 images 字段設(shè)置新的鏡像來(lái)更改容器中使用的鏡像。

cat <<EOF > deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx
        ports:
        - containerPort: 80
EOF

cat <<EOF >./kustomization.yaml
resources:
- deployment.yaml
images:
- name: nginx
  newName: my.image.registry/nginx
  newTag: 1.4.0
EOF

執(zhí)行 kubectl kustomize ./ 以查看所使用的鏡像已被更新:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      run: my-nginx
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - image: my.image.registry/nginx:1.4.0
        name: my-nginx
        ports:
        - containerPort: 80

有些時(shí)候,Pod 中運(yùn)行的應(yīng)用可能需要使用來(lái)自其他對(duì)象的配置值。 例如,某 Deployment 對(duì)象的 Pod 需要從環(huán)境變量或命令行參數(shù)中讀取讀取 Service 的名稱。 由于在 kustomization.yaml 文件中添加 namePrefix 或 nameSuffix 時(shí) Service 名稱可能發(fā)生變化,建議不要在命令參數(shù)中硬編碼 Service 名稱。 對(duì)于這種使用場(chǎng)景,Kustomize 可以通過(guò) vars 將 Service 名稱注入到容器中。

# 創(chuàng)建一個(gè) deployment.yaml 文件(引用此處的文檔分隔符)
cat <<'EOF' > deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx
        command: ["start", "--host", "$(MY_SERVICE_NAME)"]
EOF

# 創(chuàng)建一個(gè) service.yaml 文件
cat <<EOF > service.yaml
apiVersion: v1
kind: Service
metadata:
  name: my-nginx
  labels:
    run: my-nginx
spec:
  ports:
  - port: 80
    protocol: TCP
  selector:
    run: my-nginx
EOF

cat <<EOF >./kustomization.yaml
namePrefix: dev-
nameSuffix: "-001"

resources:
- deployment.yaml
- service.yaml

vars:
- name: MY_SERVICE_NAME
  objref:
    kind: Service
    name: my-nginx
    apiVersion: v1
EOF

執(zhí)行 kubectl kustomize ./ 以查看注入到容器中的 Service 名稱是 dev-my-nginx-001:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: dev-my-nginx-001
spec:
  replicas: 2
  selector:
    matchLabels:
      run: my-nginx
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - command:
        - start
        - --host
        - dev-my-nginx-001
        image: nginx
        name: my-nginx

四、基準(zhǔn)(Bases)與覆蓋(Overlays)

Kustomize 中有 基準(zhǔn)(bases) 和 覆蓋(overlays) 的概念區(qū)分。 基準(zhǔn) 是包含 kustomization.yaml 文件的一個(gè)目錄,其中包含一組資源及其相關(guān)的定制。 基準(zhǔn)可以是本地目錄或者來(lái)自遠(yuǎn)程倉(cāng)庫(kù)的目錄,只要其中存在 kustomization.yaml 文件即可。 覆蓋 也是一個(gè)目錄,其中包含將其他 kustomization 目錄當(dāng)做 bases 來(lái)引用的 kustomization.yaml 文件。 基準(zhǔn)不了解覆蓋的存在,且可被多個(gè)覆蓋所使用。 覆蓋則可以有多個(gè)基準(zhǔn),且可針對(duì)所有基準(zhǔn)中的資源執(zhí)行組織操作,還可以在其上執(zhí)行定制。

# 創(chuàng)建一個(gè)包含基準(zhǔn)的目錄 
mkdir base
# 創(chuàng)建 base/deployment.yaml
cat <<EOF > base/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx
EOF

# 創(chuàng)建 base/service.yaml 文件
cat <<EOF > base/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: my-nginx
  labels:
    run: my-nginx
spec:
  ports:
  - port: 80
    protocol: TCP
  selector:
    run: my-nginx
EOF

# 創(chuàng)建 base/kustomization.yaml
cat <<EOF > base/kustomization.yaml
resources:
- deployment.yaml
- service.yaml
EOF

此基準(zhǔn)可在多個(gè)覆蓋中使用。你可以在不同的覆蓋中添加不同的 namePrefix 或其他貫穿性字段。 下面是兩個(gè)使用同一基準(zhǔn)的覆蓋:

mkdir dev
cat <<EOF > dev/kustomization.yaml
bases:
- ../base
namePrefix: dev-
EOF

mkdir prod
cat <<EOF > prod/kustomization.yaml
bases:
- ../base
namePrefix: prod-
EOF

五、如何使用 Kustomize 來(lái)應(yīng)用、查看和刪除對(duì)象

在 kubectl 命令中使用 –kustomize 或 -k 參數(shù)來(lái)識(shí)別被 kustomization.yaml 所管理的資源。 注意 -k 要指向一個(gè) kustomization 目錄。例如:

$ kubectl apply -k <kustomization 目錄>/

我們?cè)賮?lái)寫(xiě)一個(gè) kustomization.yaml 文件:

# 創(chuàng)建 deployment.yaml 文件
cat <<EOF > deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx
        ports:
        - containerPort: 80
EOF

# 創(chuàng)建 kustomization.yaml
cat <<EOF >./kustomization.yaml
namePrefix: dev-
commonLabels:
  app: my-nginx
resources:
- deployment.yaml
EOF

執(zhí)行下面的命令來(lái)應(yīng)用 Deployment 對(duì)象 dev-my-nginx:

$ kubectl apply -k ./

$ deployment.apps/dev-my-nginx created

運(yùn)行下面的命令之一來(lái)查看 Deployment 對(duì)象 dev-my-nginx:

$ kubectl get -k ./

$ kubectl describe -k ./

執(zhí)行下面的命令來(lái)比較 Deployment 對(duì)象 dev-my-nginx 與清單被應(yīng)用之后集群將處于的狀態(tài):

$ kubectl diff -k ./
執(zhí)行下面的命令刪除 Deployment 對(duì)象 dev-my-nginx:

$ kubectl delete -k ./

$ deployment.apps “dev-my-nginx” deleted

六、Kustomize 功能特性列表

字段 類型 解釋
namespace string 為所有資源添加名字空間
namePrefix string 此字段的值將被添加到所有資源名稱前面
nameSuffix string 此字段的值將被添加到所有資源名稱后面
commonLabels map[string]string 要添加到所有資源和選擇算符的標(biāo)簽
commonAnnotations map[string]string 要添加到所有資源的注解
resources []string 列表中的每個(gè)條目都必須能夠解析為現(xiàn)有的資源配置文件
configMapGenerator []ConfigMapArgs 列表中的每個(gè)條目都會(huì)生成一個(gè) ConfigMap
secretGenerator []SecretArgs 列表中的每個(gè)條目都會(huì)生成一個(gè) Secret
generatorOptions GeneratorOptions 更改所有 ConfigMap 和 Secret 生成器的行為
bases []string 列表中每個(gè)條目都應(yīng)能解析為一個(gè)包含 kustomization.yaml 文件的目錄
patchesStrategicMerge []string 列表中每個(gè)條目都能解析為某 Kubernetes 對(duì)象的策略性合并補(bǔ)丁
patchesJson6902 []Patch 列表中每個(gè)條目都能解析為一個(gè) Kubernetes 對(duì)象和一個(gè) JSON 補(bǔ)丁
vars []Var 每個(gè)條目用來(lái)從某資源的字段來(lái)析取文字
images []Image 每個(gè)條目都用來(lái)更改鏡像的名稱、標(biāo)記與/或摘要,不必生成補(bǔ)丁
configurations []string 列表中每個(gè)條目都應(yīng)能解析為一個(gè)包含 Kustomize 轉(zhuǎn)換器配置 的文件
crds []string 列表中每個(gè)條目都應(yīng)能夠解析為 Kubernetes 類別的 OpenAPI 定義文件

總結(jié)

全文加源碼文件文字,共計(jì)一萬(wàn)三千字,配置文件代碼占比較大。我原本打算分兩篇文章來(lái)寫(xiě),擔(dān)心分文會(huì)影響各位看官的閱讀感受。

看到這里了,給個(gè)雙擊唄?。?!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-796165.html

到了這里,關(guān)于【云原生 | Kubernetes 系列】K8s 實(shí)戰(zhàn) 使用 Kustomize 對(duì) Kubernetes 對(duì)象進(jìn)行聲明式管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包