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

亦庄开发区建设局网站网站建设中html网页

亦庄开发区建设局网站,网站建设中html网页,海南app开发公司,王野天个人简历k8s创建secret并在container中获取secret 本文使用的deployment和service与我的上一篇文章一样。link也放在下面了,如果不懂什么事deployment和service,可以先看我的上一篇文章。 k8s使用kustomize来部署应用 下面我们将通过创建secret开始。secret是我…

k8s创建secret并在container中获取secret

本文使用的deployment和service与我的上一篇文章一样。link也放在下面了,如果不懂什么事deployment和service,可以先看我的上一篇文章。
k8s使用kustomize来部署应用

下面我们将通过创建secret开始。secret是我们自己收到创建的,我们需要先通过下面的命令来创建分别存放username和password的文件。

echo -n 'admin' > ./username.txt
echo -n 'S!B\*d$zDsb=' > ./password.txt

下面我们通过一个命令把secret绑定到我们需要部署的命名空间,即dev-api中,secret的名字叫db-user-pass,存放有两对keypairs。

kubectl create -n dev-api secret generic db-user-pass \--from-file=username=./username.txt \--from-file=password=./password.txt

我们通过下面命令查看secret是否创建成功,如果有secret的详细信息,说明已经创建成功了。

# 查看secret
kubectl get secret -n dev-api
kubectl describe secret -n dev-api db-user-pass 

也可以使用下面命令解码secret看看。

kubectl get secret -n dev-api db-user-pass -o jsonpath='{.data.password}' | base64 --decode

方法一:使用挂载访问secret

下面我们更改deployment.yaml是的container中可以访问这个secret。

apiVersion: apps/v1
kind: Deployment
metadata:name: api-helloworld # 部署的名称# namespace: dev-api # 部署到哪个命名空间, 使用kustomize的话这里不能出现,需要在overlays/dev/kustomization.yaml 指定
spec:replicas: 2  # 设置副本数量为2selector:matchLabels:app: api-helloworld # 用于选择匹配的Pod标签template:metadata:labels:app: api-helloworld # Pod的标签spec:containers:- name: api-helloworld-c # 容器名称# image: docker.io/library/restfulapi:latest # For image in container, use ctr -n k8s.io images import restfulapi.tar to import imagesimage: restfulapi:1  # For image in dockerimagePullPolicy: IfNotPresent # 镜像拉取策略,如果本地没有就拉取ports:- containerPort: 80 # 容器内部监听的端口volumeMounts:- name: secret-volumemountPath:  "/etc/secrets"readOnly: truevolumes:- name: secret-volumesecret:secretName: db-user-pass

想对于没有修改之前的版本,这里主要加入了对volume以及volumeMounts的描述,volume把secret定义在volume上面了,volumeMount则是把volume挂载到Pod.

主要变化。

      containers:- name: api-helloworld-c # 容器名称# image: docker.io/library/restfulapi:latest # For image in container, use ctr -n k8s.io images import restfulapi.tar to import imagesimage: restfulapi:1  # For image in dockerimagePullPolicy: IfNotPresent # 镜像拉取策略,如果本地没有就拉取ports:- containerPort: 80 # 容器内部监听的端口volumeMounts:- name: secret-volumemountPath:  "/etc/secrets"readOnly: truevolumes:- name: secret-volumesecret:secretName: db-user-pass

最后,我们重新部署一下。

cd overlay/dev
kubectl kustomize | kubectl apply -f -

在这里插入图片描述
当确定好Pod已经起来以后,我们就可以进去Pod里面看看我们的secret了。

kubectl exec -it -n dev-api api-helloworld-6c7c74fcbd-22prm -- bash
ls /etc/secrets/

在这里插入图片描述
可以看得到secret已经可以成功范围了,并且值得注意的是,当作为volume挂载进来Pod的时候,secret会自动的进行base64解码,这里直接就可以访问明文了。

方法二:使用环境变量方式访问secret

deployment.yaml如下:

apiVersion: apps/v1
kind: Deployment
metadata:name: api-helloworld # 部署的名称# namespace: dev-api # 部署到哪个命名空间, 使用kustomize的话这里不能出现,需要在overlays/dev/kustomization.yaml 指定
spec:replicas: 2  # 设置副本数量为2selector:matchLabels:app: api-helloworld # 用于选择匹配的Pod标签template:metadata:labels:app: api-helloworld # Pod的标签spec:containers:- name: api-helloworld-c # 容器名称# image: docker.io/library/restfulapi:latest # For image in container, use ctr -n k8s.io images import restfulapi.tar to import imagesimage: restfulapi:1  # For image in dockerimagePullPolicy: IfNotPresent # 镜像拉取策略,如果本地没有就拉取ports:- containerPort: 80 # 容器内部监听的端口env:- name: SECRET_USERNAMEvalueFrom: secretKeyRef:name: db-user-passkey: username- name: SECRET_PASSWORDvalueFrom:secretKeyRef:name: db-user-passkey: password

上面主要是加入了env的相关描述,绑定到Pod里面的环境变量名分别为SECRET_USERNAME,SECRET_PASSWORD。同样,我们把deployment的变化直接apply到集群。

cd overlay/dev
kubectl kustomize | kubectl apply -f -

Pod确定起来以后,我们进去里面看看我们新绑定的env.

kubectl get pods -n dev-api
kubectl exec -it -n dev-api api-helloworld-797679c6c-5wk72 -- bash
env | grep SECRET

在这里插入图片描述
同样我们也可以在env中看到我们新绑定的secret,并且和卷绑定一样,可以看到是明文形式来存储的。

好了以上是本期分享的全部内容了,如果你觉得对你还有帮助,建议点赞分享并收藏哦。如果大家想对我表示肯定,扫描下面的二维码即可哦,原创不易,一分钱也是爱哦。
在这里插入图片描述

http://www.yayakq.cn/news/206793/

相关文章:

  • 如何微信做演讲视频网站山东手机网站建设
  • 达内网站建设什么是网站的入口
  • 营销型企业网站的类型用qt做网站可以吗
  • 交易所开发深圳网站制作网站在手机上内页图不显示
  • 网站优化包括哪些建设厅网站技术负责人要求
  • 福利站wordpress网站建设如何设置登录页面
  • 建设一个中英文双版的网站网站优化推广服务
  • 一个页面的网站技能培训有哪些科目
  • 国内电子商务网站有哪些手机怎么创网站免费
  • 怎样为网站设计关键词做网站需要多少钱 做
  • 写作网站云上海市建设工程安全生产协会网站
  • 那里建设网站软文营销经典案例200字
  • 做网站设计要多少钱网站建设最简单的教程视频教程
  • 番禺人才市场seo是什么意思为什么要做seo
  • 网页制作模板的网站代码网站建设遇到哪些攻击
  • 长沙做网站公司哪家ie浏览器哪个做网站稳定
  • 中山建设信息网站洛阳电商网站建设
  • 汕头网站制作电话代理网店怎么做
  • 做企业网站什么软件好公司电脑租用
  • 购物网站制作免费wordpress删除菜单
  • 开个网站做代理赚钱吗决定网站打开的速度
  • 网站建设存在的问题wordpress弹出登录
  • 婴儿网站模板网站开发维护人员
  • 门户网站优化应用商店下载app
  • 品牌的网站建设一般多少钱wordpress 伪静态 seo
  • 公司网站建设吧个好中国世达建筑公司排名
  • 企业网站开发课程培训网页版梦幻西游能赚钱吗
  • 可以看网站的浏览器有哪些深圳燃气招聘网最新招聘
  • 宁波网站制作好公司5000以上扣税标准表
  • 制作一个网站代码代运营公司哪个地方好