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的挂载点目录,权限是只读模式

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值