Kubernetes(K8S之存储)

configmap

configMap描述信息

configMap功能在Kubernetes1.2版本中引入,许多应用程序会从配置文件,命令行参数或环境变量中读取配置信息。ConfigMap API给我们提供了向容器中注入配置信息的机制。ConfigMap可以被用来保存单个属性。

也可以用来保存整个配置文件或者JSON二进制大对象。

ConfigMap的创建

1,使用目录创建

$ls docs/user-guide/configmap/kubectl/

game.properties

ui.properties

$cat docs/user-guide/configmap/kubectl/game.properties

enemies=aliens

lives=3

enemies.cheat=true

enemies.cheat.level=noGoodRotten

secret.code.passphrase=UUDDLRLRBABAS

secret.code.allowed=true

secret.code.lives=30

$cat docs/user-guide/configmap/kubectl/ui.properties

color.good=purple

color.bad=yellow

allow.textmode=true

how.nice.to.look=fairlyNice

$kubectl create configmap game-config --from-file=docs/user-guide/configmap/kubectl

-from-file指定在目录下的所有文件都会被用在ConfigMap里面创建一个键值对。键的名字就是文件名。值就是文件的内容。

2.使用文件创建

只要指定为一个文件就可以从单个文件中创建ConfigMap

$kubectl create configmap game-config-2 --from-file=docs/user-

guide/configmap/kubectl/game.properties

$kubectl get configmaps game-config-2 -o yaml

-from-file 这个参数可以使用多次,你可以使用两次分别指定上个实例中的那两个配置文件,效果就跟指定整个目录是一样的。

3使用字面值创建

使用文字值创建,利用 -from-literal参数传递配置信息。该参数可以使用多次。格式如下。

$kubectl create configmap special-config --from-literal=specical.how=very --from-literal=special.type=charm

$kubectl get configmaps special=config -o yaml

1.Pod中使用ConfigMap

1.使用ConfigMap来替代环境变量。

apiVersion:v1

kind : configMap

metafata:

name: special-config

namespace:default

data:

special.how: very

special.type: charm

apiVersion: v1

kind: ConfigMap

metadata:

name:env-config

namespace:default

data:

log_level:INFO

apiVersion: v1

kind: Pod

命令

kubectl get cm

kubectl describe cm env-config

2.用configMap设置命令行参数

APIVersion: v1

kind: ConfigMap

metadata:

name: special-config

namespace: default

data:

special.how: very

special.type: charm

apiVersion: v1

kind: Pod

metadata:

name: dapi-test-pod

spec:

containers:

-name:test-container

image: hub.atguigu.com/library/myapp:v1

command: ["/bin/sh","-c","echo (SPECIAL_LEVEL_KEY) (SPECIAL_TYPE_KEY)" ]

env:

-name: SPECIAL_LEVEL_KEY

valueFrom:

configMapkeyRef:

name: special-config

key: special.how

-name: SPECIAL_TYPE_KEY

valueFrom:

configMapKeyRef:

name: special-config

key: special.type

restarPolicy: Never

3.通过数据卷插件使用ConfigMap

apiVersion: v1

kind: ConfigMap

metadata:

name: special-config

namespace: default

data:

special.how: very

special.type: charm

在数据卷里面使用这个ConfigMap,有不同的选项。最基本的就是将文件填入数据卷。在这个文件中。键就是文件名。键值就是文件内容。

apiVersion: v1

kind: Pod

metadata:

name: dapi-test-pod

spec:

containers:

name:test-contrainer

image:v1

command:

volumeMounts:

-name: config-volume

mountPath: /etc/config

ConfigMap的热更新

Secret

Secret存在的意义

Service Account

2,使用方式
1,将Secret挂载到Volume中
2,将Secret导出到环境变量中

Volume

PV-PVC

相关推荐
喜欢你,还有大家39 分钟前
Docker-仓库-镜像制作
运维·docker·容器
小猪咪piggy5 小时前
【微服务】(4) 负载均衡
微服务·云原生·架构
岚天start7 小时前
KubeSphere在线安装单节点K8S集群
docker·容器·kubernetes·k8s·kubesphere·kubekey
Yyyy4827 小时前
标签Labels、Scheduler:调度器、k8s污点与容忍度
开发语言·kubernetes
xyhshen7 小时前
记录一次K8S跨命名空间访问 xxx.xxx.svc.cluster.local 类似内部服务不通的问题
云原生·容器·kubernetes
栗子~~7 小时前
shell-基于k8s/docker管理容器、监控模型训练所消耗的最大CPU与最大内存脚本
docker·容器·kubernetes
海鸥817 小时前
在k8s中部署seaweedfs,上传文件到seaweedfs方法
云原生·容器·kubernetes
半梦半醒*7 小时前
k8s——pod详解2
linux·运维·docker·容器·kubernetes·负载均衡
AAA小肥杨7 小时前
K8s从Docker到Containerd的迁移全流程实践
docker·容器·kubernetes
DARLING Zero two♡7 小时前
云原生基石的试金石:基于 openEuler 部署 Docker 与 Nginx 的全景实录
nginx·docker·云原生