美文网首页
在k8s中使用secret挂载rsa密钥对

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

作者: 万州客 | 来源:发表于2020-10-14 08:46 被阅读0次

    网上有好几种方法,我使用的不是直接写在yaml中,而是使用命令,全程不会接触和修改rsa的公私钥文件内容。

    一,拿到或生成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(公钥)

    相关文章

      网友评论

          本文标题:在k8s中使用secret挂载rsa密钥对

          本文链接:https://www.haomeiwen.com/subject/jkjipktx.html