k8s的配置资源管理

1、configmap*:1.2加入新的特征(重点)

2、secret:保存密码,token,保存敏感的k8s资源(保存加密的信息)

(1)敏感的k8s资源,这类数据可以直接存放在镜像中,但是放在secret中可以更方便的控制,减少暴露的风险,保存加密的信息

3、secret的类型

(1)查看secret:kubectl get secrets

(2)创建secret:kubectl create secret            

secret的类型

docker-registry

存储docker仓库的认证信息,以及docker组件的认证信息(私有)

generic

secret的默认模式,加密类型Opaque,base64加密编码的secret信息,存储的是用户自定义的密码、密钥等等信息

tls

TLS/SSL,用于存储证书和私钥,https

系统自带的类型:kubernetes.io/service-account-token

用来访问系统的apiserver,pod会默认使用这个kubernetes.io/service-account-token创建的secret和apiserver通信,而且会自动挂载到pod的/run/secret/kubernetes.io/service-account目录中

4、pod引用secret的三种方式

(1)挂载:把secret挂载到pod当中的一个或者多个容器上的卷里面
(2)把secret作为容器的环境变量,设定环境变量
(3)docker-registry可以作为集群拉取镜像时使用,使用secret可以实现免密登录

6、创建方式(以generic为例)

(1)第一种:指定文件提取信息
①陈述式
echo "hyde" > username.txt
echo "123" > password.txt

创建generic实例:
kubectl create secret generic mysecret --from-file=/opt/username.txt --from-file=/opt/password.txt

②声明式:

* data中保存的是加密的内容

7、secret的引用方式

(1)第一种:挂载的方式,将加密的信息传到容器的指定目录中(保存的是加密的内容,容器内部可以解密,可以直接引用)
①陈述式
kubectl create secret generic mysecret2 --from-file=/etc/passwd --from-file=/etc/shadow
kubectl apply -f guazai.yaml

②声明式

(2)第二种:把secret作为容器的环境变量

(3)第三种:docker-registry可以作为集群拉取镜像时使用,使用secret可以实现免密登录
kubectl create secret docker-registry myharbor --docker-server=20.0.0.72 --docker-username=admin --docker-password=123456

8、secret总结

(1)创建方式:陈述式、申明式创建
(2)引用方式:挂载使用、设定环境变量、docker-registry

9、Configmap(重

(1)Configmap:保存不需要加密的信息
(2)Configmap是1.2引用的功能,应用程序会从配置文件、命令参数、以及环境变量中读取配置信息
(3)configmap在创建容器中,给其注入需要的配置信息,既可以是单个的属性,也可以是整个容器的配置文件
(4)configmap是键值对形式

10、configmap的创建方式

(1)陈述式
①指定文件创建,可以是一个文件,也可以是多个文件

kubectl create configmap hobby --from-file=/opt/configmap/hyde.txt --from-file=/opt/configmap/yyy.txt

②使用字面值直接创建
kubectl create configmap hobby1 --from-literal=hyde=choccy --from-literal=yyy=ice

(2)声明式(以键值对的形式保存)

11、configmap的引用

(1)设置环境变量

(2)数据卷使用configmap(重)
①配置nginx的配置文件

②创建configmap:
kubectl create configmap nginx-con --from-file=/opt/nginx-configmap/nginx.conf

③创建pod

(3)configmap的热更新

①通过数据卷的形式,把配置文件传给了pod内部容器

②configmap的热更新:在pod运行的情况下,对configmap的配置信息进行修改,直接生效,反映到容器当中

③configmap的热更新不会触发pod的滚动更新机制(deployment)

④version/config来触发滚动更新的机制

①修改configmap

②配置文件同步生效

③version/config来触发滚动更新的机制
kubectl patch deployments.apps nginx2 --patch '{"spec": {"template": {"metadata": {"annotations": {"version/config": "20240116"}}}}}'

12、总结
(1)secret:主要作用是保存加密文件,主要的使用方式就是挂载方式
(2)configmap:把配置文件传给容器,主要方式也是挂载方式
(3)configmap的热更新:热更新可以在直接反映到容器的内部,也不会触发pod的更新机制,如果不是需要重启的配置,都可以直接生效
(4)version/config来触发滚动更新,需要重启的,可以重启pod
(5)更新:就是把配置信息重新传到容器内,重启也是一样
(6)configmap就是把配置信息传给容器,键值对形式保存的,非加密的信息

相关推荐

  1. k8s配置资源管理

    2024-01-17 08:14:03       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 08:14:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 08:14:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 08:14:03       82 阅读
  4. Python语言-面向对象

    2024-01-17 08:14:03       91 阅读

热门阅读

  1. openxml获取sheet所有的数据二维数组

    2024-01-17 08:14:03       45 阅读
  2. RAG词嵌入召回质量评估

    2024-01-17 08:14:03       46 阅读
  3. Vim 用法详解

    2024-01-17 08:14:03       56 阅读
  4. jQuery 正则表达式 验证表单

    2024-01-17 08:14:03       52 阅读
  5. 在 SpringBoot中的WebSocket使用介绍

    2024-01-17 08:14:03       56 阅读
  6. npm install 卡住不动的六种解决方法

    2024-01-17 08:14:03       67 阅读
  7. @Transactional注解不生效的几种场景

    2024-01-17 08:14:03       62 阅读
  8. python爬虫01-爬虫介绍

    2024-01-17 08:14:03       61 阅读
  9. Python桌面程序开发指南

    2024-01-17 08:14:03       52 阅读
  10. ACM论文LaTeX模板解析(五)| TODO

    2024-01-17 08:14:03       63 阅读
  11. mongoose安装和使用(超详细)

    2024-01-17 08:14:03       40 阅读
  12. 网络命令ping和telnet

    2024-01-17 08:14:03       44 阅读
  13. Go语言和C++语言比较

    2024-01-17 08:14:03       60 阅读
  14. css垂直水平居中的几种实现方式

    2024-01-17 08:14:03       56 阅读