首页 > 其他分享 >apisix~为自定义插件设计一个configmap脚本

apisix~为自定义插件设计一个configmap脚本

时间:2024-06-21 10:55:17浏览次数:14  
标签:configmap 插件 自定义 ConfigMap 配置 应用程序 数据 apisix

configMap

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

以下是 ConfigMap 的一些特点和用途:

  1. 存储配置数据:ConfigMap 可以存储应用程序所需的配置数据,如环境变量、命令行参数、配置文件等。

  2. 解耦配置:通过使用 ConfigMap,可以将配置数据从应用程序中分离出来,使得应用程序更易于管理和维护。

  3. 动态更新配置:您可以在不重启应用程序的情况下更新 ConfigMap 中的配置数据,应用程序会自动获取最新的配置。

  4. 挂载到 Pod 中:您可以将 ConfigMap 中的配置数据挂载为 Volume,然后将其传递给 Pod 中的容器,使容器能够读取这些配置数据。

  5. 跨 Namespace 共享:ConfigMap 可以在同一集群内的不同 Namespace 之间共享和复用。

  6. 与 Secret 对比:与 Secret 不同,ConfigMap 存储的是明文数据,适合存储非敏感性数据;而 Secret 存储的是加密数据,适合存储敏感性数据。

在 Kubernetes 中,您可以使用 kubectl create configmap 命令创建 ConfigMap,也可以通过 YAML 文件定义 ConfigMap 的配置。随后,您可以在 Pod 的定义中引用这些 ConfigMap,并将其配置数据注入到容器中。

总的来说,ConfigMap 是 Kubernetes 中一个非常有用的资源,可以帮助您管理和提供应用程序所需的配置信息。如果您有任何关于 ConfigMap 的具体问题或者需要进一步了解,请随时告诉我。

今日需求

这块使用apisix的自定义插件为例,来说明一下这个功能,执行后,configmap由3个键组件,每个键对应一个文件。

#!/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表示没有服务就建立,有就升级

如图所示

标签:configmap,插件,自定义,ConfigMap,配置,应用程序,数据,apisix
From: https://www.cnblogs.com/lori/p/18260120

相关文章

  • 百度网盘6月最新插件 网速亲测50Mb不限速
    【应用名称】百度网盘【应用版本】2024双插件版6月最新【应用大小】220MB【适用平台】win11【应用简介】更新了图文教程百度网盘是国内资源生态最大的在线存储服务提供商,提供免费和收费的文件存储,备份,共享等文件管理等功能.百度网盘客户端的百度网盘电脑版本次依旧......
  • ef core自定义默认的迁移表的名称
    efcore自定义默认的迁移表的名称usingMicrosoft.EntityFrameworkCore;usingMicrosoft.EntityFrameworkCore.Design;namespaceLong.EntityFrameworkCore;classMyDesignTimeDbContextFactory:IDesignTimeDbContextFactory<ApplicationDbContext>{publicApplicat......
  • 深入分析Edge浏览器的插件兼容性:拥抱开放网络生态
    微软Edge浏览器自推出以来,一直在积极扩展其插件生态系统,以提高用户的浏览体验。插件兼容性是Edge浏览器用户体验的关键因素之一,它决定了用户能够无缝使用多少现有的Chrome扩展。本文将深入探讨Edge浏览器的插件兼容性,分析其优势、挑战以及未来的发展方向。1.插件兼容性的......
  • 这几个必备的vscode插件,你安装了几个
    作为一名前端开发者,vscode想必大家应该都接触过,就像大多数IDE一样,VSCode也有一个扩展和主题市场,包含了数以千计质量不同的插件。作为一名熟练掌握各种前端开发工具安装和卸载的大师兄来说,为大家安利好玩有用的工具插件是我义不容辞的责任,所以我精挑细选了九款必备的vscode插件......
  • 自定义类型:结构体,枚举,联合
    目录一.结构体1.0 C语言中为什么要引入结构体?1.1 结构体的声明1.2特殊的声明1.3结构体变量的定义和初始化二.枚举1.0类型的定义 1.1我们可以使用#define定义常量,为什么非要使用枚举?三.联合(共用体)1.0联合类型的定义1.1 联合的声明一.结构体1.0 C......
  • 【C语言】自定义类型
    目录一、结构体:1、结构体的声明:2、结构体的自引用:3、结构体变量的定义和初始化:4、结构体内存对齐:5、结构体传参:6、位段:二、枚举类型:三、联合体:一、结构体:1、结构体的声明:首先要了解什么是结构:结构是一些值的集合,与数组不同的是结构的每一个成员变量可以使不同......
  • [机器视觉]halcon应用实例 用户自定义多ROI模板匹配
    本示在前面几个halconROI示例的基础上继续扩展,更靠进实标情况。为了使ROI匹配更灵活,就要求可以让用户或工程根据实际使用情况自己去画ROI,想画几个是几个。数量不能在代码里写死。这次升级的主要是增加了一个while循环根据用户的鼠标按键来进行判断是否继续画,还是退出画ROI。效......
  • 使用OpenZeppelin的Upgrades插件开发可升级的智能合约
    一、原理https://docs.openzeppelin.com/learn/upgrading-smart-contracts#how-upgrades-work当创建一个可升级合约的时候,OpenZeppelinUpgradesPlugins实际部署了3个合约:原始业务逻辑合约,也叫实现合约ProxyAdmin合约提供给用户进行交互的Proxy合约,它是原始业务逻辑合约的......
  • VueJs导出Excel,插件 xlsx
    1.安装组件:cnpminstallxlsx--save2.新建一个辅助ts、js文件我的excelUtil.ts注意:新版本的插件导入写法变了:import*asXLSXfrom'xlsx'import{timestampToDateString}from'@/common/dateUtil'import*asXLSXfrom'xlsx'//headerColumns:属性列表//header......
  • Stable Diffusion【应用篇】【艺术写真】:一个让影楼倒闭的SD插件,使用InstantID插件一
    大家好,我是AIGC阿道夫。最近收到不少网友关于AI写真方面的留言,希望能写一些关于AI写真方面的文章。个人关注AI写真有一段时间了,网上也看到了不少写的文章教程和案例,作为一个AI绘画的狂热爱好者,自然也少不了去操作实践一下,关于AI写真,后面我会作为专题来写一系列的文章,把自己......