首页 > 其他分享 >在k8s中使用secret存储敏感数据与四种用法

在k8s中使用secret存储敏感数据与四种用法

时间:2023-10-01 11:34:52浏览次数:37  
标签:kubectl -- secret master 敏感数据 k8s root


当需要存储敏感数据时可以使用,secret会以密文的方式存储数据。

创建secret的四种方法

(1)通过--from-literal

#每个--from-literal对应一个信息条目

kubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=123456

(2) 通过--from-file

#每个文件内容对应一个信息条目。

[root@k8s-master ~]# echo -n admin > ./username

[root@k8s-master ~]# echo -n 123456 > ./password

[root@k8s-master ~]# kubectl create secret generic mysecret1 --from-file=./username --from-file=./password

secret/mysecret1 created

[root@k8s-master ~]#

(3)通过--from-env-file

#文件env.txt中每行Key=Value对应一个信息条目

[root@k8s-master ~]# cat <<EOF > env.txt

> username=admin

> password=123456

> EOF

[root@k8s-master ~]# kubectl create secret generic mysecret2 --from-env-file=env.txt

secret/mysecret2 created

[root@k8s-master ~]#

(4)通过YAML配置文件

文件中的敏感数据必须是通过base64编码后的结果

在k8s中使用secret存储敏感数据与四种用法_kubernetes

在k8s中使用secret存储敏感数据与四种用法_linux_02

通过kubectl describe secret查看条目的Key

在k8s中使用secret存储敏感数据与四种用法_linux_03

使用 kubectl edit secret mysecret查看value

在k8s中使用secret存储敏感数据与四种用法_文件名_04

过base64将Value反编码

在k8s中使用secret存储敏感数据与四种用法_敏感数据_05

当pod挂载secret后, Value则以明文存放在容器挂载的路径文件中

在k8s中使用secret存储敏感数据与四种用法_敏感数据_06

默认情况下会以 数据条目的Key作为文件名

自定义存放数据的文件名

在k8s中使用secret存储敏感数据与四种用法_linux_07

配置pod使用环境变量方式使用secret

在k8s中使用secret存储敏感数据与四种用法_敏感数据_08

在k8s中使用secret存储敏感数据与四种用法_文件名_09

缺点:环境变量方式无法支持secret动态更新

标签:kubectl,--,secret,master,敏感数据,k8s,root
From: https://blog.51cto.com/HMJP/7672465

相关文章

  • The name org.freedesktop.secrets was not provided by any .service files 报错问
    在搭建cicddocker靶场的时候出现这个问题,由于是第一次遇到,就想记录下来 通过各种搜索资料搜索发现只要安装如下包就没问题 1apt-yinstallgnome-keyring 这样做之后,一切都可以这样就可以了 ......
  • Go每日一库之128:podinfo(k8s微服务模板)
    项目介绍官方Github:PodinfoPodinfo是一个用Go制作的小型web应用程序,它展示了在Kubernetes中运行微服务的最佳实践。它已实现的技术指标(截选自官方README.md):里面每一项技术指标的实现方式,其实都可以拿出来单独讲好久,相关理论也有好多。这里我只是讲针对这个项......
  • gitlab--在 k8s 里通过 helm 部署 runner、使用缓存 cache、使用制品 artifacts
    安装helm链接:https://www.cnblogs.com/zouzou-busy/p/16134885.html配置chart存储库#添加chart存储库[root@master1~]#helmrepoaddgitlabhttps://charts.gitlab.io"gitlab"hasbeenaddedtoyourrepositories#查看存储库[root@master1~]#helmrepolist......
  • 使用 Terraform 创建K8S集群
    Terraform是一个开源的基础设施即代码(InfrastructureasCode,IaC)工具,由HashiCorp公司开发和维护。它用于自动化和管理云基础设施、服务和资源的创建、配置和部署。Terraform允许开发人员和运维团队以声明性的语言描述基础设施,并使用代码的方式来管理基础设施,从而提高......
  • k8s 安装笔记
    安装dockeryum-yinstallyum-utilsdevice-mapper-persistent-datalvm2yum-config-manager-y--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyumlistdocker-ce--showduplicates|sort-ryuminstall-ydocker-ce-cli-23.0.6dock......
  • k8s版本v1.24,kubectl top pod 报错:error: Metrics API not available
    k8s版本:v1.24.4kubectltoppod报错:error:MetricsAPInotavailable报错Readinessprobefailed:HTTPprobefailedwithstatuscode:500vimcustom-resources.yamlapiVersion:v1kind:ServiceAccountmetadata:labels:k8s-app:metrics-servername:metrics......
  • k8s版本v1.24,kubectl top pod 报错:error: Metrics API not available
    k8s版本:v1.24.4kubectltoppod报错:error:MetricsAPInotavailable报错Readinessprobefailed:HTTPprobefailedwithstatuscode:500vimcustom-resources.yamlapiVersion:v1kind:ServiceAccountmetadata:labels:k8s-app:metrics-servername:metrics-......
  • k8s-CKA-2022真题
    目录1.创建pod2.创建deployment和service3.设置节点不可用4.修改deployment数量为65.添加标签6.创建多容器7.deployment版本升级回退8.创建用户和授权9.创建NetworkPolicy,9.1 创建02NetworkPolicy10.创建ingress11.创建一个pv12.创建pvc13.查看日志14.添加一个名为busybox15.......
  • k8s持久化存储01 emptyDir hostPath
    本质上,K8svolume是一个目录,这点和Dockervolume差不多,当Volume被mount到Pod上,这个Pod中的所有容器都可以访问这个volume,常用的类型有这几种:emptyDirhostPathPersistentVolume(PV)&PersistentVolumeClaim(PVC)StorageClass01.emptyDiremptyDir是最基础的Volume类型,pod内的容器......
  • k8s 版本升级1.18.0>>>1.18.20
    1.1升级步骤注意kubectl命令主节点执行,yum命令需要升级的服务器执行;查看当前系统支持的所有k8s版本和当前版本yumlist--showduplicateskubeadm--disableexcludes=kubernetes2.1.1升级控制节点1、查看当前版本和升级计划(即可以从目前版本升级到哪个版本)kubectlversion#匹配......