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

购物网站建设价格一览表怎么免费建立网站

购物网站建设价格一览表,怎么免费建立网站,做电子相册的网站,电话客服外包公司文章目录 配置资源管理Secret 的四种类型创建 Secret 的两种方式1. 使用 kubectl create secret 命令创建2. 使用 base64 编码内容创建 使用 Secret 的两种方式1. 将 Secret 挂载到 Volume 中 2. 将 Secret 导出到环境变量中总结 ConfigMapConfigMap 概述 创建 ConfigMap 的三种…

文章目录

  • 配置资源管理
    • Secret 的四种类型
    • 创建 Secret 的两种方式
      • 1. 使用 `kubectl create secret` 命令创建
      • 2. 使用 base64 编码内容创建
    • 使用 Secret 的两种方式
        • 1. 将 Secret 挂载到 Volume 中
      • 2. 将 Secret 导出到环境变量中
      • 总结
    • ConfigMap
      • ConfigMap 概述
    • 创建 ConfigMap 的三种方式
      • 从目录创建
      • 从文件创建
      • 从字面值创建
    • 在 Pod 中使用 ConfigMap
      • 作为环境变量
      • 作为命令行参数
      • 挂载为数据卷
    • ConfigMap 的热更新
      • 1. Volume 自动更新
      • 2. 环境变量不更新
      • 3. 触发滚动更新

配置资源管理

Secret 是一种用于存储敏感信息(如密码、令牌、密钥等)的资源对象。与直接将敏感信息存储在 Pod 或镜像中相比,使用 Secret 可以更好地控制数据的访问权限,减少数据暴露的风险。

Secret 的四种类型

  1. kubernetes.io/service-account-token
    • 由 Kubernetes 自动创建,用于访问 APIServer。
    • Pod 默认使用这个 Secret 与 APIServer 通信。
    • 自动挂载到 Pod 的 /var/run/secrets/kubernetes.io/serviceaccount 目录中。
  2. Opaque
    • 默认的 Secret 类型,使用 base64 编码存储用户自定义的敏感数据(如密码、密钥等)。
  3. kubernetes.io/dockerconfigjson
    • 用于存储私有 Docker Registry 的认证信息。
  4. kubernetes.io/tls
    • 用于存储 TLS 证书和私钥信息。

创建 Secret 的两种方式

1. 使用 kubectl create secret 命令创建

echo -n 'zhangsan' > username.txt
echo -n 'abc1234' > password.txtkubectl create secret generic mysecret --from-file=username.txt --from-file=password.txt

查看 Secret:

kubectl get secrets
kubectl describe secret mysecret

2. 使用 base64 编码内容创建

echo -n zhangsan | base64
echo -n abc1234 | base64

创建 secret.yaml 文件:

apiVersion: v1
kind: Secret
metadata:name: mysecret1
type: Opaque
data:username: emhhbmdzYW4K=password: YWJjMTIzNAo==

应用 YAML 文件:

kubectl create -f secret.yaml

查看 Secret 的详细信息:

kubectl get secret mysecret1 -o yaml

使用 Secret 的两种方式

1. 将 Secret 挂载到 Volume 中

创建 secret-test.yaml 文件:

apiVersion: v1
kind: Pod
metadata:name: mypod
spec:containers:- name: nginximage: nginxvolumeMounts:- name: secretsmountPath: "/etc/secrets"readOnly: truevolumes:- name: secretssecret:secretName: mysecret

应用 YAML 文件:

kubectl create -f secret-test.yaml

进入 Pod 查看挂载的文件:

kubectl exec -it mypod bash
cd /etc/secrets
ls
cat username.txt
cat password.txt

2. 将 Secret 导出到环境变量中

创建 secret-test1.yaml 文件:

apiVersion: v1
kind: Pod
metadata:name: mypod1
spec:containers:- name: nginximage: nginxenv:- name: TEST_USERvalueFrom:secretKeyRef:name: mysecret1key: username- name: TEST_PASSWORDvalueFrom:secretKeyRef:name: mysecret1key: passwordenvFrom:- secretRef:name: mysecret1

应用 YAML 文件:

kubectl apply -f secret-test1.yaml

进入 Pod 查看环境变量:

kubectl exec -it mypod1 bash
echo $TEST_USER
echo $TEST_PASSWORD

总结

  • Secret 是 Kubernetes 中用于存储敏感信息的资源对象。
  • 可以通过命令行或 YAML 文件创建 Secret。
  • Secret 可以通过挂载 Volume 或环境变量的方式在 Pod 中使用。
  • 使用 Secret 可以有效减少敏感信息的暴露风险,并方便管理。

更多详细信息可以参考 Kubernetes 官方文档:Secrets。


ConfigMap

ConfigMap 概述

  • 作用:存储非加密的配置数据(如应用配置、环境变量),与 Secret 类似,但用于非敏感信息。
  • 应用场景:管理应用的配置参数(如数据库地址、日志级别)。
  • 核心特点
    • 支持从文件、目录或字面值创建。
    • 数据以键值对(key-value)形式存储。
    • 可注入到 Pod 的环境变量、命令行参数或挂载为文件。

创建 ConfigMap 的三种方式

从目录创建

将目录中所有文件作为键值对,键为文件名,值为文件内容。

mkdir /opt/configmap
echo 'enemy.types=aliens,monsters' > /opt/configmap/game.config
echo 'color.good=purple' > /opt/configmap/ui.configkubectl create configmap game-config --from-file=/opt/configmap/

从文件创建

指定多个文件,每个文件对应一个键值对。

kubectl create configmap game-config-2 \--from-file=/opt/configmap/game.config \--from-file=/opt/configmap/ui.config

从字面值创建

直接通过命令行参数定义键值对。

kubectl create configmap special-config \--from-literal=special.how=very \--from-literal=special.type=good

查看 ConfigMap

kubectl get cm
kubectl describe cm game-config
kubectl get cm special-config -o yaml

在 Pod 中使用 ConfigMap

作为环境变量

通过 valueFromenvFrom 注入。

# env.yaml
apiVersion: v1
kind: Pod
metadata:name: test-pod
spec:containers:- name: busyboximage: busybox:1.28.4command: [ "/bin/sh", "-c", "env" ]env:- name: SPECIAL_HOW_KEYvalueFrom:configMapKeyRef:name: special-config  # 引用 ConfigMapkey: special.how      # 指定键envFrom:- configMapRef:name: env-config        # 注入所有键值对

作为命令行参数

command 中通过环境变量引用。

# test-pod2.yaml
apiVersion: v1
kind: Pod
metadata:name: test-pod2
spec:containers:- name: busyboximage: busybox:1.28.4command: - "/bin/sh"- "-c"- "echo $(SPECIAL_HOW_KEY) $(SPECIAL_TYPE_KEY)"  # 使用环境变量env:- name: SPECIAL_HOW_KEYvalueFrom:configMapKeyRef:name: special-configkey: special.how

挂载为数据卷

将 ConfigMap 作为文件挂载到容器目录。

# test-pod3.yaml
apiVersion: v1
kind: Pod
metadata:name: test-pod3
spec:containers:- name: busyboximage: busybox:1.28.4volumeMounts:- name: config-volumemountPath: /etc/config     # 挂载到容器内的目录volumes:- name: config-volumeconfigMap:name: special-config     # 引用的 ConfigMap

验证挂载文件

kubectl exec -it test-pod3 -- cat /etc/config/special.how
# 输出:very

ConfigMap 的热更新

1. Volume 自动更新

  • 修改 ConfigMap 后,挂载为 Volume 的文件会自动更新(约 10 秒延迟)。
  • 示例
    1. 更新 ConfigMap:
      kubectl edit cm log-config  # 将 log_level 从 INFO 改为 DEBUG
      
    2. 查看容器内文件:
      kubectl exec <pod-name> -- cat /etc/config/log_level  # 输出 DEBUG
      

2. 环境变量不更新

  • 环境变量不会自动更新,需重启 Pod 或触发滚动更新。

3. 触发滚动更新

通过修改 Deployment 的注解触发 Pod 重启:

kubectl patch deployment my-nginx \--patch '{"spec": {"template": {"metadata": {"annotations": {"version/config": "20231101"}}}}}'

注意

  • ConfigMap 与 Secret 的区别:ConfigMap 存储非敏感数据,Secret 存储敏感数据(如密码)。

  • 更新限制

    • Volume 挂载的文件支持热更新,但环境变量需重启 Pod。
    • 更新 ConfigMap 后,已存在的 Pod 需手动触发更新(如滚动部署)。
  • 大小限制:单个 ConfigMap 的 data 字段总大小不超过 1 MiB。

  • ConfigMap 是 Kubernetes 管理非敏感配置的核心组件。

  • 支持从文件、目录或字面值创建,灵活适应不同场景。

  • 通过环境变量、命令行参数或 Volume 挂载将配置注入 Pod。

  • 热更新特性使得配置管理更高效,但需注意环境变量的局限性。

参考文档:Kubernetes ConfigMap

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

相关文章:

  • 茶叶网站建设公司短视频seo优化排名
  • 彩票网站代理怎么做免费发布广告信息的网站
  • 长春网站建设费用百度推广网址
  • 西安做网站招聘模板建站哪个平台好
  • wordpress 搜索不能用网站推广优化招聘
  • 国家建设部网站平台中国万网域名注册官网
  • 专业网站建设好不好网站注册步骤
  • 做网站设计难吗外贸推广平台排名
  • 济南长清网站建设百度推广工具
  • 石家庄做网站科技公司网络项目资源网
  • 建设好网站的在线沟通功能易思企业网站管理系统
  • b2b网站开发报价windows优化大师怎么样
  • 长春火车站附近有什么好玩的地方百度小说排行榜前十
  • 工商做年报网站郑州网站优化seo
  • 怎么用企业网站做营销app优化建议
  • 百度云搜索引擎入口 百度网盘seo黑帽有哪些技术
  • 微平台公众号快速优化排名公司推荐
  • 网上商城 网站建设 解决方案什么是seo?
  • 网站建设素材网网络营销与直播电商怎么样
  • 平台网站怎么做新闻稿
  • vr 全景 网站建设上海比较好的seo公司
  • 永康网站推广小红书seo排名帝搜软件
  • 电销网站建设天天seo百度点击器
  • 中国网站建设代理项目东莞谷歌推广公司
  • 网站网页文案怎么写如何做营销活动
  • 鄞州中学网站谁做的高权重外链
  • 有没有做卡商的网站阿里巴巴logo
  • 最专业的做网站公司哪家好抖音代运营收费详细价格
  • dede新手做网站多久做网站哪个平台好
  • 不用网站做淘宝客如何注册网址