Ssl 由于LB运行状况检查,vault节点中的连续TLS握手错误日志
由于负载平衡器每5秒ping一次vault节点,我每5秒就会收到连续的TLS握手错误。Kube负载平衡器正在使用ping ping我的vault节点Ssl 由于LB运行状况检查,vault节点中的连续TLS握手错误日志,ssl,tcp,load-balancing,hashicorp-vault,kubernetes-health-check,Ssl,Tcp,Load Balancing,Hashicorp Vault,Kubernetes Health Check,由于负载平衡器每5秒ping一次vault节点,我每5秒就会收到连续的TLS握手错误。Kube负载平衡器正在使用ping ping我的vault节点 nc-vz-podip podPort每5秒 我已经在config.hcl中禁用了客户端证书验证,但仍然可以在vault的kubectl日志中看到以下日志 kubectl logs pod-0 -n mynamespace [INFO] http: TLS handshake error from 10.x.x.x:60056: EOF 202
nc-vz-podip podPort
每5秒
我已经在config.hcl中禁用了客户端证书验证,但仍然可以在vault的kubectl日志中看到以下日志
kubectl logs pod-0 -n mynamespace
[INFO] http: TLS handshake error from 10.x.x.x:60056: EOF 2020-09-02T01:13:32.957Z
[INFO] http: TLS handshake error from 10.x.x.x:23995: EOF 2020-09-02T01:13:37.957Z
[INFO] http: TLS handshake error from 10.x.x.x:54165: EOF 2020-09-02T01:13:42.957Z
下面是我的config.hcl,我正在通过kube配置映射加载它
apiVersion: v1
kind: ConfigMap
metadata:
name: raft-config
labels:
name: raft-config
data:
config.hcl: |
storage "raft" {
path = "/vault-data"
tls_skip_verify = "true"
retry_join {
leader_api_addr = "https://vault-cluster-0:8200"
leader_ca_cert_file = "/opt/ca/vault.crt"
leader_client_cert_file = "/opt/ca/vault.crt"
leader_client_key_file = "/opt/ca/vault.key"
}
retry_join {
leader_api_addr = "https://vault-cluster-1:8200"
leader_ca_cert_file = "/opt/ca/vault.crt"
leader_client_cert_file = "/opt/ca/vault.crt"
leader_client_key_file = "/opt/ca/vault.key"
}
retry_join {
leader_api_addr = "https://vault-cluster-2:8200"
leader_ca_cert_file = "/opt/ca/vault.crt"
leader_client_cert_file = "/opt/ca/vault.crt"
leader_client_key_file = "/opt/ca/vault.key"
}
}
seal "transit" {
address = "https://vaulttransit:8200"
disable_renewal = "false"
key_name = "autounseal"
mount_path = "transit/"
tls_skip_verify = "true"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_cert_file = "/opt/ca/vault.crt"
tls_key_file = "/opt/ca/vault.key"
tls_skip_verify = "true"
tls_disable_client_certs = "true"
}
ui=true
disable_mlock = true
因为我使用的是外部开源vault映像,我的负载平衡器是一个内部LB(具有内部CA证书)。我怀疑我的vault pod在尝试ping端口8200时无法识别负载平衡器提供的CA证书(TCP侦听器由vault在此端口上启动)
这些日志是无害的,不会引起任何问题,但它们是我想要避免的不必要的噪音。我的vault节点正在使用https,其功能似乎没有问题
尽管我已明确指定了TLS\u disable\u client\u certs=“true”
当我的LB尝试使用nc-vz-podip podPort
My vault版本为1.5.3消息与客户端证书或CA证书无关,无论客户端是否提供证书,都会发生TLS握手 相反,这是因为创建并建立了TCP连接,并且Go库现在想要启动TLS握手。相反,另一方(健康检查器)只是挂断,TLS握手从未发生。Go然后记录此消息 你说它是无害的是正确的,这纯粹是港口活力健康检查的副作用。然而,这是垃圾和恼人的 你有两个基本的选择来解决这个问题:
除了删除TLS警告消息外,运行状况端点还允许您检查活动节点和未密封节点。感谢您的解释。不幸的是,禁用运行状况检查对我来说不是一个选项,因为负载平衡器属于我组织中的另一个团队。vault本身有什么方法可以禁用这种噪音吗?没有。我从来没有说过禁用健康检查,只是为了更改执行的健康检查的类型。与其他团队交谈并让他们进行更改,
/sys/health
检查提供了更好的功能,并将使您的vault部署更加可靠。我可以使用pod中的就绪探测器将健康检查移动到/sys/health。但这不会停止TCP健康检查,因为这超出了我的控制范围,属于其他团队,因此不会停止垃圾邮件。但至少我知道这只是噪音,可能只是忽略它。