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 @   戴红领巾的少年  阅读(286)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
点击右上角即可分享
微信分享提示