我已经安装了Hachicorp并设置了TLS配置。我现在的目标是让vault.service在更新TLS证书的情况下自动重新加载。
官方的文档说:
tls_key_file (string:,reloads on)-指定证书私钥的路径。它需要一个PEM编码的文件。如果密钥文件是加密的,将提示您在服务器启动时输入密码。当使用SIGHUP重新加载配置时,密码必须在密钥文件之间保持不变。在SIGHUP上,Vault启动时设置的路径将用于重新加载证书;在Vault运行时修改此值对SIGHUP没有任何影响。
这是否意味着当对tls_key_file进行更改时,服务会重新加载自己?还是我应该加入额外的逻辑?
vault.service
[Unit]
After=network.service hostname.service consul-init.service consul.service
Description="Hashicorp Vault - A tool for managing secrets"
Documentation=https://www.vaultproject.io/docs/
StartLimitInterval=200
StartLimitBurst=5
[Service]
User=vault
Group=vault
PermissionsStartOnly=true
ExecStart=/usr/bin/vault server -config="{{vault_server_config_file}}"
ExecReload=/usr/bin/kill -HUP $MAINIP
CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK
LimitNOFILE=65536
LimitMEMLOCK=infinity
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target发布于 2021-04-06 19:20:29
保险库告诉您,启动后不能更改tls_key_file文件名,如果您将证书内容发送给SIGHUP,可以重新加载证书内容。
如果单元被重新加载,系统单元将发送一个SIGHUP,这是服务的一种常见模式,其中这是一个重新加载信号。
还需要额外的逻辑,因为Vault没有监视文件中的更改。我建议在安装证书后,在证书更新脚本中重新加载vault.service。
https://serverfault.com/questions/1059452
复制相似问题