0
点赞
收藏
分享

微信扫一扫

在k8s中使用secret挂载rsa密钥对

一叶轻舟okok 2021-09-27 阅读 68
k8s

一,拿到或生成pem格式的密钥对。

过程略,假设拿到的文件名为private.pem和public.pem

二,在K8s集群中导入rsa文件。

命名为rsa-secret ,namespace为cgtest.

kubectl create secret generic rsa-secret --from-file=ssh-privatekey=private.pem --from-file=ssh-publickey=public.pem -n cgtest

后期,如果要更新,需要先delete(kubectl delete secret rsa-secret -n cgtest),再create.

三,在pod中挂载

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: golang-deploy
namespace: cgtest
spec:
replicas: 1
selector:
matchLabels:
app: golang-deploy
template:
metadata:
labels:
app: golang-deploy
spec:
nodeName: xxxxx
containers:
- name: golang
image: demo.harbor/golang:1.12.9-alpine3.10
imagePullPolicy: IfNotPresent
command: ["sh","-c","while true;do date;sleep 1;done"]
volumeMounts:
- name: secret-volume
readOnly: true
mountPath: "/etc/secret-volume"
volumes:
- name: secret-volume
secret:
secretName: rsa-secret

其中,volumes不带namespace,但会自动从Deployment下读namespace。

四,在应用中读取。

程序代码就从/etc/secret-volume目录下读取private.pem(私钥)和public.pem(公钥)

举报

相关推荐

0 条评论