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

news/2024/9/27 7:25:29

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; dofiles="$files --from-file=$file"
donekubectl 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" ]; thenecho "没有传递第一个参数,将使用默认值"
elsefirst_param="$1"
fi
helm -n apisix upgrade -i apisix -f "./apisix/${first_param}" ./apisix #参数-i表示没有服务就建立,有就升级

如图所示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/46027.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

F分布简述

4.1 简介 F分布英文名称F-distribution,最初由英国统计学家Fisher提出。 图4.1 F分布 4.2 性质 4.3 应用 4.3.1 ANOVA ANOVA全称analysis of variance,又称“变异数分析”或“F检验”,用于两个及两个以上样本均数差别的显著性检验。 某因素影响下…

vue3 详细配置 pinia,以及持久化处理

安装pinia pnpm install pinia pnpm install pinia-plugin-persistedstate使用pinia根目录下创建store文件夹,新家moudules文件夹和index.ts文件,如图:index.ts 文件// store/index.ts // 仓库大仓库 import { createPinia } from "pinia"; import piniaPluginPer…

拦截器的执行顺序

翻看源码: registry.addInterceptor()​public InterceptorRegistration addInterceptor(HandlerInterceptor interceptor) {InterceptorRegistration registration = new InterceptorRegistration(interceptor);this.registrations.add(registration);return registration;}​…

准入控制器(Admission Controller):ResourceQuota,ImagePolicyWebhook

准入控制器(Admission Controller):ResourceQuota,ImagePolicyWebhook ,准入控制器简介,为什么需要准入控制器,启用/禁用ResourceQuota资源配额,查看默认启用/禁用的准入控制器插件,ResourceQuota资源配额示例,禁用ResourceQuota ,配置ImagePolicyWebhook准入控制器禁止…

卡方分布简述

2.1 简介 卡方分布英文名称chi-square distribution,最初由法国数学家Abbe提出,后来德国科学家Helmert和英国数学家Pearson也分别导出。 则其概率密度函数如下,具体分布图如图2.1: 图2.1 卡方分布 2.2 性质 2.3 应用 2.3.1 卡方检验 卡方检验的基本思想来源于卡方分布,…

遥感图像

原文链接 1.遥感成像原理在继续下面的介绍之前,我们先来说一下遥感成像的原理。此处援引知乎一个前辈的回答。 光进入相机镜头,光电感应装置将光信号转换为电信号,量化电脉冲信号,记录为一个像素值。传感器响应函数设计为,要使光电感应装置产生这个电脉冲信号,光子强度必…

网红积分

来源:B栈解题方法:换元方法 令x = tant,发现然后,区间带线公式所以答案为:

Service Mesh技术详解

深入探讨Service Mesh的基本概念和核心技术,涵盖了服务发现、负载均衡、断路器与熔断机制,以及数据平面与控制平面的详细工作原理和实现方法。关注作者,复旦博士,分享云服务领域全维度开发技术。拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,复旦机器人智能实验…