首页 > 其他分享 >k8s中配置存储ConfigMap和Secret

k8s中配置存储ConfigMap和Secret

时间:2022-09-20 13:34:14浏览次数:66  
标签:ConfigMap xmcc deploy root configmap Secret k8s kubectl

ConfigMap

ConfigMap是一种比较特殊的存储卷,它的主要作用是用来存储配置信息的。

Secret

在kubernetes中,还存在一种和ConfigMap非常类似的对象,称为Secret对象。它主要用于存储敏感信

息,例如密码、秘钥、证书等等。

 

创建configmap 

[root@k8s-master1 ConfigMap_secret]# kubectl create configmap configmap -n my-ns-xmcc -o yaml >> configmap.yaml

[root@k8s-master1 ConfigMap_secret]# cat configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:
  name: configmap
  namespace: my-ns-xmcc
data:
  info: |
    username: xm          #配置了用户名和密码信息
    password: 123456
 
#使用此配置文件创建configmap
[root@k8s-master1 ConfigMap_secret]# kubectl apply -f configmap.yaml 
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
configmap/configmap configured
[root@k8s-master1 ConfigMap_secret]# kubectl get cm -n my-ns-xmcc 
NAME        DATA   AGE
configmap   1      3m3s
# 查看configmap详情
[root@k8s-master1 ConfigMap_secret]# kubectl describe cm configmap -n my-ns-xmcc
Name:         configmap
Namespace:    my-ns-xmcc
Labels:       <none>
Annotations:  <none>

Data
====
info:
----
username: xm
password: 123456

Events:  <none>

接下来创建一个deployment,将上面创建的configmap挂载进pod中

先用命令导出yaml文件

[root@k8s-master1 ConfigMap_secret]# kubectl create deploy deploy-xmcc -n my-ns-xmcc --image=centos-nginx:1.23.1 -oyaml >> deploy.yaml

修改yaml文件,加入configmap配置信息

[root@k8s-master1 ConfigMap_secret]# cat deploy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: deploy-xmcc
  name: deploy-xmcc
  namespace: my-ns-xmcc
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: deploy-xmcc
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: deploy-xmcc
    spec:
      containers:
      - image: centos-nginx:1.23.1
        imagePullPolicy: IfNotPresent
        name: centos-nginx
        resources: {}
        volumeMounts:     #configmap挂载上去
        - name: config
          mountPath: /configmap/config
      volumes:
      - name: config
        configMap:
          name: configmap
      dnsPolicy: ClusterFirst
      restartPolicy: Always

#使用配置文件创建deployment
[root@k8s-master1 ConfigMap_secret]# kubectl apply -f deploy.yaml 
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply

#查询资源
[root@k8s-master1 ConfigMap_secret]# kubectl get all -n my-ns-xmcc 
NAME                              READY   STATUS    RESTARTS   AGE
pod/deploy-xmcc-7b49c87f8-zg6sp   1/1     Running   0          57s

NAME                          READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/deploy-xmcc   1/1     1            1           7m44s

NAME                                     DESIRED   CURRENT   READY   AGE
replicaset.apps/deploy-xmcc-5d64d5c64d   0         0         0       7m44s
replicaset.apps/deploy-xmcc-7b49c87f8    1         1         1       57s

#进入容器
[root@k8s-master1 ConfigMap_secret]# kubectl exec -it -n my-ns-xmcc deploy-xmcc-7b49c87f8-zg6sp /bin/bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
[root@deploy-xmcc-7b49c87f8-zg6sp /]# cd /configmap/config/
[root@deploy-xmcc-7b49c87f8-zg6sp config]# ll
total 0
lrwxrwxrwx 1 root root 11 Sep 20 10:17 info -> ..data/info 
[root@deploy-xmcc-7b49c87f8-zg6sp config]# cat info 
username: xm
password: 123456
# 可以看到映射已经成功,每个configmap都映射成了一个目录 
# key--->文件 value---->文件中的内容 
# 此时如果更新configmap的内容, 容器中的值也会动态更新

 

标签:ConfigMap,xmcc,deploy,root,configmap,Secret,k8s,kubectl
From: https://www.cnblogs.com/xmwan/p/16710715.html

相关文章

  • K8S弹性伸缩
    1、传统弹性伸缩的困境从传统意义上,弹性伸缩主要解决的问题是容量规划与实际负载的⽭盾  蓝⾊⽔位线表示集群资源容量随着负载的增加不断扩容,红⾊曲线表示集群资源实......
  • k8s部署MySQL主从数据库
    参考:https://kubernetes.io/zh-cn/docs/tasks/run-application/run-replicated-stateful-application/我的测试集群root@master:~/mysql#kubectlgetnodes-owideNA......
  • k8s pv与pvc持久化存储(静态与动态)
    k8spv与pvc持久化存储(静态与动态)PersistenVolume(PV):对存储资源创建和使用的抽象,使得存储作为集群中的资源管理PV分为静态和动态,动态能够自动创建PV•PersistentVolumeC......
  • 14 张图详解 Zookeeper + Kafka on K8S 环境部署
    转载自:https://www.cnblogs.com/liugp/p/16706192.html一、概述ApacheZooKeeper 是一个集中式服务,用于维护配置信息、命名、提供分布式同步和提供组服务,ZooKeeper致......
  • k8s 容器自动重启 错误 代码
    参考文章https://betterprogramming.pub/understanding-docker-container-exit-codes-5ee79a1d58f6ExitCodesCommonexitcodesassociatedwithdockercontainersar......
  • 安装k8s系统初始化的shell脚本
    ]#catinit_centos7.sh#!/bin/bashexportLANG="en_US.UTF-8"init_yum_repo(){echo"===================初始化yumbase源========================="sleep2cu......
  • k8s 1.18证书更新
    1.证书过期k8s安装一年以后,证书会过期ubuntu@ip-172-31-25-85:~$kubectlgetpodsUnabletoconnecttotheserver:x509:certificatehasexpiredorisnotyetva......
  • k8s系列学习
    一、k8s介绍  一个k8s集群有master和node节点组成,每个节点需要安装对应的组件master节点:ApiServer:资源操作的唯一入口,接收用户输入的命令,提供认证、授权、API注......
  • 3.搭建K8S集群
    一,平台规划1.单master集群2.多master集群 ......
  • k8s给pod添加hosts
    ###1.背景线上待办功能一直不通,发现正式环境的待办系统域名无法访问,需要配置hosts。因为应用部署在云上,需使用k8s给pod添加域名IP映射。2.实战过程使用yaml方式创......