zoukankan      html  css  js  c++  java
  • 【k8s】Secret-生成环境变量

    环境

    1. kubernetes 1.20.6
    2. Spring Boot 2.5.0-M3

    目标

    将 Secret 中的配置用来生成 Pod 中的环境变量,如果 Secret 有修改,环境变量不会自动更新。
    在使用时,会自动使用 base64 将值解码。

    示例

    准备 Secret

    [root@master ~]# kubectl describe secrets mysecret
    Name:         mysecret
    Namespace:    default
    Labels:       <none>
    Annotations:  <none>
    
    Type:  Opaque
    
    Data
    ====
    age:   2 bytes
    name:  7 bytes
    

    创建环境变量

    apiVersion: v1
    kind: Pod
    metadata:
      name: spring-k8s
    spec:
      containers:
        - name: spring-k8s
          image: jiangbo920827/spring-k8s:liveness
          envFrom:
            - secretRef:
                name: mysecret
          ports:
            - containerPort: 8080
    
    [root@master ~]# kubectl exec spring-k8s -- printenv
    ...
    HOSTNAME=spring-k8s
    age=44
    name=jiangbo
    ...
    

    创建带前缀的环境变量

    apiVersion: v1
    kind: Pod
    metadata:
      name: spring-k8s
    spec:
      containers:
        - name: spring-k8s
          image: jiangbo920827/spring-k8s:liveness
          envFrom:
            - secretRef:
                name: mysecret
              prefix: SECRET_
          ports:
            - containerPort: 8080
    
    [root@master ~]# kubectl exec spring-k8s -- sh -c "printenv | grep SECRET"
    SECRET_name=jiangbo
    SECRET_age=44
    

    自定义环境变量 Key

    apiVersion: v1
    kind: Pod
    metadata:
      name: spring-k8s
    spec:
      containers:
        - name: spring-k8s
          env:
            - name: FULL_NAME
              valueFrom:
                secretKeyRef:
                  name: mysecret
                  key: name
            - name: SECRET_AGE
              valueFrom:
                secretKeyRef:
                  name: mysecret
                  key: age
          image: jiangbo920827/spring-k8s:liveness
          ports:
            - containerPort: 8080
    
    [root@master ~]# kubectl exec spring-k8s -- printenv
    ...
    HOSTNAME=spring-k8s
    FULL_NAME=jiangbo
    SECRET_AGE=44
    ...
    

    总结

    Secret 可以使用来生成 Pod 的环境变量。

    附录

  • 相关阅读:
    二元函数求一定区间上的最大值问题
    LOF异常检测算法实现
    失效项目总代码汇总
    layui弹出层layer.open 中的content问题
    分治算法基本原理和实践
    Android 文件存储浅析
    详解 CmProcess 跨进程通信的实现
    View Animation 运行原理解析
    margin-top失效及解决办法
    vue自定义移动端touch事件之点击、滑动、长按事件
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/14957006.html
Copyright © 2011-2022 走看看