• (2022版)一套教程搞定k8s安装到实战 | ConfiMap


    视频来源:B站《(2022版)最新、最全、最详细的KubernetesK8s)教程,从K8s安装到实战一套搞定》

    一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

    附上汇总贴:(2022版)一套教程搞定k8s安装到实战 | 汇总_COCOgsta的博客-CSDN博客


    一般用ConfigMap去管理一些配置文件,或者一些大量的环境变量信息。

    ConfigMap将配置和Pod分开,有一个nginx,nginx.conf -> configmap。更易于配置文件的更改和管理。

    Secret:Secret更倾向于存储和共享敏感、加密的配置信息。

    ConfigMap中文地址:kubernetes.io/zh/docs/tas…

    生成special-config的configmap

    1. kubectl create configmap special-config --from-literal=special.how=very
    2. 复制代码

    test-env-pod.yaml

    1. apiVersion: v1
    2. kind: Pod
    3. metadata:
    4. name: dapi-test-pod
    5. spec:
    6. nodeName: k8s-node01
    7. containers:
    8. - name: test-container
    9. image: busybox:1.28
    10. imagePullPolicy: IfNotPresent
    11. command: [ "/bin/sh", "-c", "env" ]
    12. envFrom:
    13. - configMapRef:
    14. name: special-config
    15. env:
    16. # Define the environment variable
    17. # - name: SPECIAL_LEVEL_KEY
    18. # valueFrom:
    19. # configMapKeyRef:
    20. # # The ConfigMap containing the value you want to assign to SPECIAL_LEVEL_KEY
    21. # name: special-config
    22. # # Specify the key associated with the value
    23. # key: special.how
    24. - name: test
    25. value: test-value
    26. - name: mysqlHostAddress
    27. value: 10.10.10.10
    28. - name: mysqlPort
    29. value: "3306" # only string
    30. restartPolicy: Never
    31. 复制代码
    1. [root@k8s-master-lb ~]# kubectl apply -f test-env-pod.yaml
    2. pod/dapi-test-pod created
    3. [root@k8s-master-lb ~]# kubectl get pods
    4. NAME READY STATUS RESTARTS AGE
    5. busybox 1/1 Running 31 15d
    6. dapi-test-pod 0/1 Completed 0 4s
    7. nginx-66bbc9fdc5-mbqkf 1/1 Running 4 16d
    8. nginx-66bbc9fdc5-x7vkl 1/1 Running 2 16d
    9. web-0 1/1 Running 2 15d
    10. web-1 1/1 Running 4 15d
    11. web-2 1/1 Running 4 15d
    12. [root@k8s-master-lb ~]# kubectl logs -f dapi-test-pod
    13. mysqlPort=3306
    14. KUBERNETES_SERVICE_PORT=443
    15. KUBERNETES_PORT=tcp://10.96.0.1:443
    16. mysqlHostAddress=10.10.10.10
    17. test=test-value
    18. HOSTNAME=dapi-test-pod
    19. SHLVL=1
    20. HOME=/root
    21. KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
    22. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    23. KUBERNETES_PORT_443_TCP_PORT=443
    24. KUBERNETES_PORT_443_TCP_PROTO=tcp
    25. KUBERNETES_SERVICE_PORT_HTTPS=443
    26. KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
    27. special.how=very
    28. KUBERNETES_SERVICE_HOST=10.96.0.1
    29. PWD=/
    30. [root@k8s-master-lb ~]#
    31. 复制代码

    把ConfigMap挂载到容器中

    1. [root@k8s-master-lb ~]# cat test-env-pod.yaml
    2. apiVersion: v1
    3. kind: Pod
    4. metadata:
    5. name: dapi-test-pod
    6. spec:
    7. nodeName: k8s-node01
    8. containers:
    9. - name: test-container
    10. image: busybox:1.28
    11. imagePullPolicy: IfNotPresent
    12. command: [ "/bin/sh", "-c", "sleep 3600" ]
    13. volumeMounts:
    14. - name: config-volume
    15. mountPath: /mnt
    16. envFrom:
    17. - configMapRef:
    18. name: special-config
    19. env:
    20. # Define the environment variable
    21. # - name: SPECIAL_LEVEL_KEY
    22. # valueFrom:
    23. # configMapKeyRef:
    24. # # The ConfigMap containing the value you want to assign to SPECIAL_LEVEL_KEY
    25. # name: special-config
    26. # # Specify the key associated with the value
    27. # key: special.how
    28. - name: test
    29. value: test-value
    30. - name: mysqlHostAddress
    31. value: 10.10.10.10
    32. - name: mysqlPort
    33. value: "3306" # only string
    34. restartPolicy: Never
    35. volumes:
    36. - name: config-volume
    37. configMap:
    38. name: special-config
    39. [root@k8s-master-lb ~]#


     

  • 相关阅读:
    数字电路:常见的锁存器浅析
    手机异步发送短信验证码解决方案-Celery+redis
    SQL Server教程 - T-SQL-事务(TRANSACTION)
    从统计语言模型到预训练语言模型---预训练语言模型(Transformer)
    初识 Node.js 与内置模块:初识 Node.js及Node.js 环境的安装
    Java基础知识(知识点)二
    创宇区块链 | 6 月安全月报
    黑灰产技术手段不断“进阶”,如何防御双十二“羊毛党”?
    开源大模型RAG企业本地知识库问答机器人-ChatWiki
    C++ Reference: Standard C++ Library reference: C Library: cstdio: getc
  • 原文地址:https://blog.csdn.net/guolianggsta/article/details/126442286