中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

apisix~為自定義插(cha)件設計一個configmap腳本(ben)

configMap

Kubernetes 中(zhong)的 ConfigMap 是(shi)一種(zhong)(zhong)用來存儲配(pei)(pei)置數據的 API 資源,它允許您將配(pei)(pei)置信(xin)息(xi)以(yi)鍵(jian)值對(dui)的形式保存,并(bing)在容器中(zhong)使用這些配(pei)(pei)置信(xin)息(xi)。ConfigMap 提供了一種(zhong)(zhong)將配(pei)(pei)置數據與應用程序解耦的方(fang)式,使得應用程序可(ke)以(yi)動態地獲取配(pei)(pei)置而無需(xu)重新構建鏡像(xiang)。

以(yi)下是 ConfigMap 的一(yi)些(xie)特(te)點(dian)和用途:

  1. 存儲配置數據:ConfigMap 可以存儲應用程序所(suo)需的(de)配置(zhi)數據,如(ru)環(huan)境(jing)變量、命令行參數、配置(zhi)文件等(deng)。

  2. 解耦配置:通(tong)過使用 ConfigMap,可(ke)以將(jiang)配置數據從應(ying)用程序中分離(li)出來,使得應(ying)用程序更易于管理和維護。

  3. 動態更新配置:您(nin)可以在不重啟應(ying)用(yong)(yong)程序的(de)(de)情況下更新(xin) ConfigMap 中的(de)(de)配置(zhi)數據,應(ying)用(yong)(yong)程序會自動(dong)獲(huo)取最(zui)新(xin)的(de)(de)配置(zhi)。

  4. 掛載到 Pod 中:您可以(yi)將(jiang) ConfigMap 中的配置數(shu)據掛(gua)載(zai)為 Volume,然后將(jiang)其傳遞(di)給 Pod 中的容器,使容器能夠讀取這些配置數(shu)據。

  5. 跨 Namespace 共享:ConfigMap 可以在同一集群內(nei)的不同 Namespace 之間(jian)共(gong)享和(he)復(fu)用(yong)。

  6. 與 Secret 對比:與 Secret 不(bu)同,ConfigMap 存(cun)(cun)儲(chu)(chu)(chu)的是(shi)明文數據,適(shi)合存(cun)(cun)儲(chu)(chu)(chu)非敏(min)感(gan)性數據;而 Secret 存(cun)(cun)儲(chu)(chu)(chu)的是(shi)加密數據,適(shi)合存(cun)(cun)儲(chu)(chu)(chu)敏(min)感(gan)性數據。

在 Kubernetes 中,您可以使用 kubectl create configmap 命令創建 ConfigMap,也(ye)可以通過(guo) YAML 文件定(ding)義(yi) ConfigMap 的(de)配置。隨后,您可以在 Pod 的(de)定(ding)義(yi)中(zhong)引用這些 ConfigMap,并將其配置數據注入到容器中(zhong)。

總的(de)來說(shuo),ConfigMap 是 Kubernetes 中一(yi)個非常(chang)有用(yong)的(de)資(zi)源(yuan),可以幫助(zhu)您管理和提(ti)供應用(yong)程序所需的(de)配(pei)置(zhi)信息(xi)。如果您有任何關(guan)于 ConfigMap 的(de)具體問題或者需要進一(yi)步了解,請(qing)隨(sui)時告訴我。

今日需求

這塊使用apisix的自(zi)定義插件(jian)為例,來說明一下這個功能,執行(xing)后,configmap由3個鍵(jian)組件(jian),每(mei)個鍵(jian)對應一個文件(jian)。

#!/bin/sh
# 配置文件configmap
files=""
for file in "$(pwd)"/plugins/*.lua; do
    files="$files --from-file=$file"
done

kubectl create configmap apisix-plugins-config -n apisix $files --dry-run=true -o yaml > apisix-plugins-config.yaml
kubectl apply -f apisix-plugins-config.yaml -n apisix
# 生成helm
first_param="values.override.yaml"
if [ -z "$1" ]; then
    echo "沒有傳遞第一個參數,將使用默認值"
else
    first_param="$1"
fi
helm -n apisix upgrade -i apisix -f "./apisix/${first_param}" ./apisix #參數-i表示沒有服務就建立,有就升級

如圖所示

posted @ 2024-06-21 10:49  張占嶺  閱讀(102)  評論(0)    收藏  舉報