当前位置: 首页 > wzjs >正文

怎么做百度网盘链接网站网店推广方案

怎么做百度网盘链接网站,网店推广方案,微信小程序和微商城的区别,东莞专业网站推广怎么做一、什么是 ConfigMap? ConfigMap 是 Kubernetes 中用于存储非敏感配置数据的 API 对象,支持以键值对(Key-Value)或文件的形式存储配置,允许将配置与镜像解耦,实现配置的集中管理和动态更新。 二、主要用…

一、什么是 ConfigMap?

ConfigMap 是 Kubernetes 中用于存储非敏感配置数据的 API 对象,支持以键值对(Key-Value)或文件的形式存储配置,允许将配置与镜像解耦,实现配置的集中管理和动态更新。

二、主要用途

  • 存储配置数据
  • 应用的配置文件(如 config.propertiesapp.yaml)。
  • 环境变量(如数据库连接字符串、API 地址)。
  • 命令行参数或启动脚本。
  • 解耦配置与镜像
  • 同一镜像可通过不同 ConfigMap 适配不同环境(如开发环境使用本地数据库,生产环境使用远程数据库)。
  • 使用 ConfigMap 可以统一管理不同环境(开发、测试、生产)的配置差异。
  • 解耦应用配置与镜像,避免硬编码配置到镜像中。
  • 动态更新配置
  • 修改 ConfigMap 后,可通过重启 Pod 或热加载(依赖应用支持)使新配置生效。

三、局限性

  • ConfigMap 并不提供保密或者加密功能。 如果你想存储的数据是机密的,请使用 Secret。
  • 在 ConfigMap 中保存的数据不可超过 1 MiB。如果你需要保存超出此尺寸限制的数据,你可能希望考虑挂载存储卷 或者使用独立的数据库或者文件服务。
  • ConfigMap 的热加载依赖应用自己实现。

四、创建 ConfigMap 的方式

ConfigMap 可通过 kubectl 命令或 YAML 文件创建,支持三种数据源:文件目录字面量

4.1、通过 kubectl 命令创建

4.1.1、使用字面量创建

kubectl create configmap my-config --from-literal=username=admin --from-literal=password=123456
  •  --from-literal=key1=config1 --from-literal=key2=config2
  • literal 字面量的意思
  • configmap 可以简写为 cm
kubectl describe cm my-config

 

4.1.2、使用文件创建

# 单个文件
kubectl create configmap my-config --from-file=key1=/path/to/bar/file1.txt# 文件名 file1.txt 作为 key
kubectl create configmap my-config --from-file=/path/to/bar/file1.txt# 多个文件
kubectl create configmap my-config --from-file=key1=/path/to/bar/file1.txt --from-file=key2=/path/to/bar/file2.txt
  •  单个文件
vim config.properties### 文件内容如下
server.port=8080
application.name=myapp
kubectl create configmap my-config --from-file=config=./config.properties

# 文件名作为 key
kubectl create cm my-config --from-file=config.properties

  •  多个文件
vim db.properties### 文件内容如下
datasource.username=root
datasource.password=123456
datasource.url=jdbc:mysql://localhost:3306/order
kubectl create configmap my-config --from-file=config.properties --from-file=db.properties

 

4.1.3、使用目录创建

kubectl create configmap my-config --from-file=path/to/bar
mkdir conf
cd conf
vim application.yaml
### 文件内容如下
server:port: 8080spring:cloud:nacos:discovery:username: nacospassword: nacosgroup: DEFAULT_GROUPserver-addr: 127.0.0.1:8848application:name: order-service
###
vim db.properties
### 文件内容如下
datasource.username=root
datasource.password=123456
datasource.url=jdbc:mysql://localhost:3306/order
###
cd ..

 

kubectl create cm my-config --from-file=conf

 

4.2、通过 YAML 文件创建

configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:name: my-config
data:username: "admin"password: "123456"application.yaml: |server:port: 8080db.properties: |datasource.username=rootdatasource.password=123456

 | 表示下面的内容为多行。

kubectl apply -f configmap.yaml

 

五、在 Pod 中使用 ConfigMap

ConfigMap 可通过 环境变量 或 Volume 挂载 注入到容器中。

我们以 3.2 节创建的 my-config 为例,来讲解如何在 Pod 中使用 ConfigMap。

5.1、作为环境变量注入 env

apiVersion: v1
kind: Pod
metadata:name: envcm-pod
spec:restartPolicy: Nevercontainers:- name: envcm-podimage: alpine:latest  imagePullPolicy: IfNotPresentcommand: ["sleep", "3600"]env:- name: USERNAME # 定义容器中的环境变量valueFrom:configMapKeyRef:name: my-config # ConfigMap 的名字key: username # ConfigMap 中的 key - name: PASSWORDvalueFrom:configMapKeyRef:name: my-configkey: password 
  •  像 Alpine 镜像,或者基于 Alpine 制作的工具镜像,容器内没有运行服务,需要启动后休眠一段时间,防止容器被 K8S 杀掉。
  • restartPolicy: Never 休眠结束后容器退出就退出了,不需要 K8S 重启该容器。默认是 Always 总是重启。设为 Never 防止浪费系统资源。
  •  进入容器查看环境变量
kubectl exec -it envcm-pod -- /bin/sh
/# env
USERNAME=admin
PASSWORD=123456

 5.2、作为环境变量注入 envFrom

apiVersion: v1
kind: Pod
metadata:name: envfrom-pod
spec:restartPolicy: Nevercontainers:- name: envcm-podimage: alpine:latest  imagePullPolicy: IfNotPresentcommand: ["sleep", "3600"]envFrom:- configMapRef:name: my-config

 以整个 ConfigMap 作为环境变量数据源。

  •   进入容器查看环境变量
kubectl exec -it envfrom-pod -- /bin/sh

5.3、环境变量方式使用的 ConfigMap 数据不会被自动更新

以环境变量方式使用的 ConfigMap 数据不会被自动更新。 更新这些数据需要重新启动 Pod。

# 编辑 ConfigMap
kubectl edit cm my-config
# 把 password 从 123456 -> 456789
# 像 vim 一样 wq 保存退出

  •  进入容器查看环境变量
kubectl exec -it envcm-pod -- /bin/sh
/# env
USERNAME=admin
# 还是 123456
PASSWORD=123456 kubectl exec -it envfrom-pod -- /bin/sh
# 还是 123456
password=123456

 5.4、通过 Volume 挂载为文件

apiVersion: v1
kind: Pod
metadata:name: volumes-pod
spec:restartPolicy: Nevervolumes:- name: volumes-name # 卷的名字configMap:name: my-config # ConfigMap 的名字containers:- name: volumes-podimage: alpine:latest  imagePullPolicy: IfNotPresentcommand: ["sleep", "3600"]volumeMounts:- name: volumes-namemountPath: /data/conf # 挂载到容器哪个目录
  •   进入容器查看文件
kubectl exec -it volumes-pod -- /bin/sh

  •    进入容器查看环境变量
kubectl exec -it volumes-pod -- /bin/sh
/# env
环境变量中不会有配置信息

 5.5、热加载

# 编辑 ConfigMap
kubectl edit cm my-config
# 把 password 从 456789 -> 111111
# 像 vim 一样 wq 保存退出
  •     进入容器查看文件
kubectl exec -it volumes-pod -- /bin/sh

容器内文件的值被更新了。但是会有一定的延迟。具体延迟多少,官方介绍取决于高速缓存类型。

六、Java 项目使用 ConfigMap 热加载配置

到此,我们知道了 ConfigMap 如果作为 Spring Boot 项目的配置的话,存在一些不足:

1、时效性不高。ConfigMap 可以作为配置文件挂载进容器文件系统,但是这中间会有一些延迟。而且,Spring Boot 项目在启动的时候加载了一次 application.yml 之类的配置文件后,就不会再加载了。这个时候 ConfigMap 再更新配置文件其实没什么意义。

2、时效性更好的环境变量的方式,ConfigMap 却无法更新。

所以,Spring Boot 项目需要自己监听 ConfigMap 变化,然后更新 Environment。

http://www.dtcms.com/wzjs/84762.html

相关文章:

  • 中文网站站内优化怎么做推广平台哪儿有怎么做
  • 集团网站源码网页设计框架图
  • 做网站文件夹都起什么名字新网站快速排名软件
  • 网站设计好 如何将本地网站发布百度视频广告怎么投放
  • 网站建设 python网站关键词
  • 做推文的网站的推荐seo排名推广
  • 北京做网站好的公司百度一下的网址
  • 企业网站管理系统后台操作十五种常见的销售策略
  • 石家庄有哪些公司可以做网站百度秒收录技术最新
  • 越城区住房和城乡建设局网站百度网站管理员工具
  • 国内工程机械行业网站建设现状河南网站排名
  • 建站行业前景广州网络公司
  • 统战部网站 微信公众号建设深圳搜索引擎
  • 做软件下载网站百度客服怎么联系
  • app软件在哪下载seochinaz查询
  • 南京和筑建设有限公司网站南京seo排名收费
  • 行业网站功能大数据培训机构排名前十
  • 国外网站设计参考国外免费源码共享网站
  • 无为建设局网站佛山seo培训机构
  • 衣柜推拉门图案设计网站西安网站seo外包
  • c 做交易网站口碑营销的形式
  • 织梦更新网站地图小学生简短小新闻十条
  • wordpress 管理员权限丢失苏州seo培训
  • 自己做商城网站能卖服装吗阿里指数在线查询
  • 济南智能网站建设报价网站百度手机端排名怎么查询
  • 网站设计技术大全故事式的软文广告例子
  • hibing wordpressseo排名赚靠谱吗
  • 简单个人网站制作网页界面设计
  • 优惠券领取网站开发百度快照是什么意思
  • 检测网站死链外呼系统电销