当前位置:   article > 正文

K8S之ConfigMap_kubernetesclientexception: operation: [get] for ki

kubernetesclientexception: operation: [get] for kind: [configmap] with

K8S之ConfigMap

什么是ConfigMap?

ConfigMap是用来存储配置文件的kubernetes资源对象,所有的配置内容都存储在etcd中。

创建ConfigMap的方式

创建ConfigMap的方式有4种:

  • 通过直接在命令行中指定configmap参数创建,即–from-literal,–from-literal可多次使用

  • 通过指定文件创建,即将一个配置文件创建为一个ConfigMap-,-from-file=<文件>

  • 通过指定目录创建,即将一个目录下的所有配置文件创建为一个ConfigMap,–from-file=<目录>,—from-file 指定在目录下的所有文件都会被用在 ConfigMap 里面创建一个键值对,键的名字就是文件名,值就是文件的内容

  • 事先写好标准的configmap的yaml文件,然后kubectl create -f 创建

1、通过命令的方式创建–--from-literal

kubectl create configmap special-config --from-literal=name=laow --from-literal=age=18 (-o yaml)  # 命令创建configmap	 
apiVersion: v1
data:
  age: "18"
  name: laow
kind: ConfigMap
metadata:
  creationTimestamp: "2021-03-23T07:21:47Z"
  name: helloworld
  namespace: default
  resourceVersion: "129469"
  selfLink: /api/v1/namespaces/default/configmaps/helloworld
  uid: 9b8d1b6e-8455-40b8-8db9-942d0a87f9b8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2、指定文件创建–--from-file

需要注意:指定文件创建时configmap会创建一个key/value对,key是文件名,value是文件内容。

cat > hello << LL
enemies=aliens
lives=3
enemies.cheat=true
enemies.cheat.level=noGoodRotten
secret.code.passphrase=UUDDLRLRBABAS
secret.code.allowed=true
secret.code.lives=30
LL
kubectl create cm configmap-1 --from-file=hello -o yaml # 使用文件的方式创建configmap
apiVersion: v1
data:
  helloworld: |
    color.good=purple
    color.bad=yellow
    allow.textmode=true
    how.nice.to.look=fairlyNice
kind: ConfigMap
metadata:
  creationTimestamp: "2021-03-23T07:31:50Z"
  name: configmap-1
  namespace: default
  resourceVersion: "130427"
  selfLink: /api/v1/namespaces/default/configmaps/configmap-1
  uid: 0e0d9685-cadc-4254-a199-86ac4cdf8d0a
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

3、指定目录创建–--from-file

指定目录创建时configmap内容中的各个文件会创建一个key/value对,key是文件名,value是文件内容

自动识别指定目录下的文件

kubectl create cm configmap-2 --from-file=hello/ -o yaml  # 指定目录创建
apiVersion: v1
data:
  hello.world: |  # hello.world 是文件名称,然后对应下边的文件内容
    enemies=aliens
    lives=3
    enemies.cheat=true
    enemies.cheat.level=noGoodRotten
    secret.code.passphrase=UUDDLRLRBABAS
    secret.code.allowed=true
    secret.code.lives=30
  helloworld: |  # helloworld 是文件名称,然后对应下边的文件内容
    color.good=purple
    color.bad=yellow
    allow.textmode=true
    how.nice.to.look
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号