怎么做网站二级页面,公司网站制作哪个公司好,东莞网站建设兼职,wordpress 媒体库 七牛简介#xff1a; 在生产环境中#xff0c;Elasticsearch 集群的证书可能会因为过期而导致集群无法正常工作。为了避免这种情况的发生#xff0c;我们需要及时更新证书#xff0c;并保证更新证书的过程中保持 Elasticsearch 集群的高可用性和数据安全性。 集群环境 ES集群版…简介 在生产环境中Elasticsearch 集群的证书可能会因为过期而导致集群无法正常工作。为了避免这种情况的发生我们需要及时更新证书并保证更新证书的过程中保持 Elasticsearch 集群的高可用性和数据安全性。 集群环境 ES集群版本v6.810和v7.13.4
加密参数配置
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
通过配置文件看到只针对集群中节点之间的通信进行了加密而且是自签的CA。
生成证书为您的Elasticearch集群创建一个证书颁发机构。例如使用elasticsearch-certutil ca命令
bin/elasticsearch-certutil ca --days 36500
为群集中的每个节点生成证书和私钥。例如使用elasticsearch-certutil cert 命令
bin/elasticsearch-certutil cert --days 36500 --ca elastic-stack-ca.p12 发现过期 通过批量扫描集群信息发现证书过期 GET /_ssl/certificates
[{path : certs/elastic-certificates.p12,format : PKCS12,alias : instance,subject_dn : CNElastic Certificate Tool Autogenerated CA,serial_number : e365c63bf8050b2d1a73025c37aaa6d8d0772f06,has_private_key : false,expiry : 2023-04-26T09:13:27.000Z},{path : certs/elastic-certificates.p12,format : PKCS12,alias : instance,subject_dn : CNinstance,serial_number : bff8e3ed43fcc2abc4e6951bd6064ed53ddb7b56,has_private_key : true,expiry : 2023-04-26T09:13:44.000Z},{path : certs/elastic-certificates.p12,format : PKCS12,alias : ca,subject_dn : CNElastic Certificate Tool Autogenerated CA,serial_number : e365c63bf8050b2d1a73025c37aaa6d8d0772f06,has_private_key : false,expiry : 2023-04-26T09:13:27.000Z}
]参考因素
是否会导致节点间通信异常是否需要重启节点滚动重启还是全部停掉再启动服务连接是否受影响数据一致性是否有保障 解决方案 及问题
基于ES6.8.10-ARC(通用3节点集群) 验证测试
遇到问题
将证书设置1天过期过期之后查看集群还是正常运行各种方式查看新证书确实都生效了
结论总结
1.批量下发证书从各个节点日志可以看出证书已更新 [2023-04-26T10:12:41,125][INFO ][o.e.x.c.s.SSLConfigurationReloader] [es_10.4.6.2_9211] reloaded [/work/idb/es9211/config/certs/elastic-certificates.p12] and updated ssl contexts using this file 2.集群中的某个节点重启时如果自己的证书和其他节点不一致可以启动但是无法被其他节点识别无法加入集群
直接替换证书自动就被其他节点识别到然后节点正常加入集群 3.查询命令
查询证书过期
GET /_ssl/certificates
验证证书是否有效
curl -X GET http://escluster111.es.zcinc.com:9211/_cluster/health?pretty -uelastic:OWRmNjA5MDlkNGM3 --cacert elastic-certificates.p12
GET /_nodes?filter_path**.transport.ssl 官网说明 关于证书更新的文档版本7.13
如果使用相同的CA签发新的证书替换原来的文件是不需要重启节点的
如果使用不同的CA签发新的证书替换原来的文件是需要滚动重启的
这里有3个点需要注意
没有小于7.13的版本文档说明但是我测试6.8.10重启和不重启都能查询到新的证书测试6.8.10证书过期集群依然可以正常使用读写、新连接都没有影响具体原因不清楚为了安全还是批量替换证书并滚动重启一遍
以下是官网文档说
Updating node security certificates | Elasticsearch Guide [7.13] | Elastic
使用相同的CA
Update certificates with the same CA | Elasticsearch Guide [7.13] | Elastic
使用不同的CA
Update security certificates with a different CA | Elasticsearch Guide [7.13] | Elastic