我在 Ubuntu 16.04.5 LTS 服务器上设置了一个具有 SSL 安全性的 mongoDB 数据库,并且已经使用它几个月了。为了在 mongo 上设置 SSL,我遵循了 Medium.com 上 Rajan Maharjan 的教程(链接)。短暂未使用后回到我的服务器,我收到以下错误消息:
SSL peer certificate validation failed: certificate has expired
查看mongo日志,发现:
[PeriodicTaskRunner] Server certificate is now invalid. It expired on 2018-11-10T08:10:11.000Z
因此,我按照与第一次创建证书时相同的步骤,使用 rootCA.key 文件重新生成并重新签署了所有证书。我用以下命令重新启动了 mongod:
service mongod restart
现在我有“自签名证书”错误:
MongoDB shell version v4.0.2
connecting to: mongodb://IP:port/
2018-11-21T13:11:10.584+0000 E NETWORK [js] SSL peer certificate
validation failed: self signed certificate
2018-11-21T13:11:10.584+0000 E QUERY [js] Error:
couldn't connect to server IP:port, connection attempt failed:
SSLHandshakeFailed: SSL …Run Code Online (Sandbox Code Playgroud) 我正在 kubernetes 集群上运行同一个应用程序的 3 个部署。我最近开始为其中一个部署设置资源请求和限制。
resources:
limits:
cpu: 350m
memory: 225Mi
requests:
cpu: 250m
memory: 150Mi
Run Code Online (Sandbox Code Playgroud)
设置这些后,与2 个未更改的部署相比,受影响的 Pod 的计算时间要长得多,这对我理解的 kubernetes 文档没有意义。
运行kubectl top pods允许我确认我的 pod 正在或低于请求的资源运行。在可视化计算时间(Prometheus+Grafana)时,很明显其中一个部署明显变慢:
两次部署在 ~ 60 毫秒,一次部署在 ~ 120 毫秒
由于这是我所做的唯一更改,我不明白为什么会出现性能下降。我错过了什么吗?
移除 cpulimit但保留requestpod 性能,使其恢复到应有的水平。请记住,这些 pod 运行在 cpu 请求级别(大约 250mCPU),比限制低 100mCPU。
附加信息:这些 pod 正在运行 NodeJS 应用程序。