vault 重启后自动解封的

1,前言
vault HA 模式,leader挂掉后会自动选举出新的leader,原leader降级为follower,但最少要保证有一个follower是解封状态,才可以选举出新的leader,而pod重启之后,会处于Seal状态,不解封的话无法作为follower,所以重启自动解封是必要的需求,官方推荐自动解封方式有许多种,但基本上都是用类似密码机的方式,具体参考官网文档: https://www.vaultproject.io/docs/v1.9.x/configuration/seal ,本文仅针对不使用文档中的方式 简单实现自动解封,有条件的话建议使用官方推荐方法实现自动解封。

2,创建解封脚本并将其创建为secret

  • 解封脚本vault_unreal.sh
点击查看代码
    #!/bin/sh
    vault operator unseal  Naioja2XND6Okz9NmOdKlnC+s54lkiHZeGote2Vve6Gh 
    sleep 3
    vault operator unseal  2uya4Usc9jqMx03MMbuUjAFXYrmopoDo9fFF7520KjdK 
    sleep 3 
    vault operator unseal  xfrUTv7CBtxU6h384d5A+kle8N5V12+VS2uX+iN5os09
    sleep 3
  • 将脚本创建为secret
    kubectl create secret generic vault-unreal --from-file=vault_unreal.sh -n vault

3,statefulset中添加挂载和启动检测

点击查看代码
startupProbe:
          exec:
            command:
            - /bin/sh
            - -ec
            - sh /tmp/sh/vault_unreal.sh
          failureThreshold: 3
          periodSeconds: 20
          successThreshold: 1
          timeoutSeconds: 1


挂载:
volumeMounts:
   - mountPath: /tmp/sh
      name: vault-unreal
volumes:
   - name: vault-unreal
        secret:
          defaultMode: 420
          secretName: vault-unreal

4,重启单个pod后,pod会自动解封。

posted @ 2022-09-16 16:29  戴红领巾的少年  阅读(228)  评论(0编辑  收藏  举报
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接