apisix~为自界说插件计划一个configmap脚本

打印 上一主题 下一主题

主题 563|帖子 563|积分 1689

configMap

Kubernetes 中的 ConfigMap 是一种用来存储配置数据的 API 资源,它允许您将配置信息以键值对的形式保存,并在容器中使用这些配置信息。ConfigMap 提供了一种将配置数据与应用程序解耦的方式,使得应用程序可以动态地获取配置而无需重新构建镜像。
以下是 ConfigMap 的一些特点和用途:

  • 存储配置数据:ConfigMap 可以存储应用程序所需的配置数据,如环境变量、命令行参数、配置文件等。
  • 解耦配置:通过使用 ConfigMap,可以将配置数据从应用程序中分离出来,使得应用程序更易于管理和维护。
  • 动态更新配置:您可以在不重启应用程序的情况下更新 ConfigMap 中的配置数据,应用程序会自动获取最新的配置。
  • 挂载到 Pod 中:您可以将 ConfigMap 中的配置数据挂载为 Volume,然后将其传递给 Pod 中的容器,使容器能够读取这些配置数据。
  • 跨 Namespace 共享:ConfigMap 可以在同一集群内的不同 Namespace 之间共享和复用。
  • 与 Secret 对比:与 Secret 不同,ConfigMap 存储的是明文数据,得当存储非敏感性数据;而 Secret 存储的是加密数据,得当存储敏感性数据。
在 Kubernetes 中,您可以使用 kubectl create configmap 命令创建 ConfigMap,也可以通过 YAML 文件界说 ConfigMap 的配置。随后,您可以在 Pod 的界说中引用这些 ConfigMap,并将其配置数据注入到容器中。
总的来说,ConfigMap 是 Kubernetes 中一个非常有用的资源,可以帮助您管理和提供应用程序所需的配置信息。如果您有任何关于 ConfigMap 的具体问题或者需要进一步了解,请随时告诉我。
今日需求

这块使用apisix的自界说插件为例,来说明一下这个功能,执行后,configmap由3个键组件,每个键对应一个文件。
  1. #!/bin/sh
  2. # 配置文件configmap
  3. files=""
  4. for file in "$(pwd)"/plugins/*.lua; do
  5.     files="$files --from-file=$file"
  6. done
  7. kubectl create configmap apisix-plugins-config -n apisix $files --dry-run=true -o yaml > apisix-plugins-config.yaml
  8. kubectl apply -f apisix-plugins-config.yaml -n apisix
  9. # 生成helm
  10. first_param="values.override.yaml"
  11. if [ -z "$1" ]; then
  12.     echo "没有传递第一个参数,将使用默认值"
  13. else
  14.     first_param="$1"
  15. fi
  16. helm -n apisix upgrade -i apisix -f "./apisix/${first_param}" ./apisix #参数-i表示没有服务就建立,有就升级
复制代码
如图所示


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

三尺非寒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表