当前位置: 首页 > article >正文

k8s的加密配置secret和应用配置configmap

目录

加密配置

secret的三种类型

创建opaque类型的两种方式

方法一

方法二

如何把secret挂载到pod当中

把secret作为环境变量传到pod当中

指定harbor私有仓库加密的secret配置

应用配置

configmap

创建configmap的方式

在pod里面用configmap做pod的环境变量

**用configmap把配置文件传到应用容器中

**configmap的热更新

**configmap的滚动更新


加密配置

加密配置:就是用来保存密码、token密钥对,以及其他敏感信息的k8s资源

secret的三种类型

1.service-account-token:k8s集群自建的,用来访问apiserver的secret,pod默认使用这种secret和apiserver进行通信。自动挂载到pod的目录 /run/secrets/kubernetes.io/serviceaccount目录

2.opaque:用户自定义的密码、密钥等等,默认类型就是opaque,语法是generic

3.kubernetes.io/dockerconfigjson:配置docker私有仓库的认证信息。

4.TLS:用来存储TLS或者SSL证书和私钥

创建opaque类型的两种方式

方法一

kubectl create secret generic secret1 --from-file=username.txt --from-file=password.txt

方法二

vim secret.yaml

如何把secret挂载到pod当中

把secret作为环境变量传到pod当中

查看变量

指定harbor私有仓库加密的secret配置

kubectl create secret docker-reqistry harbor1 --docker-server=192.168.233.55 --docker-username=admin --docker-password=123456      创建docker-reqistry私有仓库加密的secret

应用配置

应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中的容器。

configmap

语法和secret一样,但是configmap保存的不是加密的信息,就是用于应用的配置信息。

创建configmap的方式

方法一:kubectl create configmap conf1 --from-file=/opt/configmap/

方法二:

查看configmap:kubectl get cm

在pod里面用configmap做pod的环境变量

**用configmap把配置文件传到应用容器中

首先准备好一个配置文件

worker_processes  2;
events {
    worker_connections  1024;
}
http {
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8081;
        server_name  localhost;
        charset utf-8;
        location / {
            root   html;
            index  index.html index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
}

命令行:kubectl create configmap nginx-con --from-file=/opt/configmap/nginx.conf

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx11
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      labels:
        app: test
    spec:
      containers:
      - name: nginx
        image: nginx:1.22
        ports:
        - containerPort: 8081
        volumeMounts:
        - name: nginx-con1
          mountPath: /etc/nginx/
        - name: html-1
          mountPath: /usr/share/nginx/html/
      volumes:
      - name: nginx-con1
        configMap:
          name: nginx-con
      - name: html-1
        hostPath:
          path: /opt/html11
          type: DirectoryOrCreate

**configmap的热更新

先修改configmap

kubectl edit cm nginx-con

kubectl exec -it nginx11-5dc65d85d-hxkmw -- cat /etc/nginx/nginx.conf

此时就更新好了

**configmap的滚动更新

kubectl patch deployment.apps nginx11 --patch '{"spec": {"template": {"metadata": {"annotations": {"version/config": "20240116" }}}}}'

configmap的挂载点目录,权限是只读模式


http://www.kler.cn/a/301374.html

相关文章:

  • IDEA旗舰版编辑器器快速⼊门(笔记)
  • Java多线程回顾总结
  • Cyberchef配合Wireshark提取并解析TCP/FTP流量数据包中的文件
  • python语言基础-5 进阶语法-5.2 装饰器-5.2.2 简单装饰器
  • 【windows】校园网AP隔离解决方案笔记-解决校内设备之间无法互相通信的臭毛病-附破解程序
  • C++深度搜索(2)
  • 如何基于gpt模型抢先打造成功的产品
  • 【Leetcode152】乘积最大子数组(动态规划)
  • 音乐项目
  • JVM源码解析
  • 20道经典自动化测试面试题【建议收藏】
  • SpringMVC重点功能底层源码解析
  • Rocky Linux 9 初次安装后启用 SSH Root 远程登录
  • 使用Docker快速启动MySQL容器
  • Python知识点:如何使用Python进行文件压缩与解压缩
  • 证书学习(四)X.509数字证书整理
  • springcloud-GateWay
  • 大语言模型:AI 时代的文字计算器?
  • Vue2和Vue3子组件向父组件传值
  • INIC6081量产工具下载,initio6081开卡软件分享
  • 前端自定义下载文件名
  • 第一篇 第3章 不确定型分析 第4章 设备更新分析 第5章价值工程
  • 基于SpringBoot+Vue的超市外卖管理系统
  • vue3使用provide和inject传递异步请求数据子组件接收不到
  • 大文件切片上传-vue3.0
  • 如何在VUE3中使用函数式组件