计算机不向横向报告

Sac*_*sic 3 cloud landscape juju openstack-autopilot

使用 openstack-installer 安装 Openstack 后,我开始使用 Landscape。一段时间后,在重新启动一切之后,在与 juju 挣扎之后(在使用 juju-core 1.20.x 重新启动后,Landscape 没有运行),Landscape 再次运行,以及 Openstack。

问题是没有计算机向 Landscape 报告。我每 5 分钟收到一封电子邮件,主题为“ [Landscape Alert] 18 台计算机在过去 5 分钟内未与 Landscape 联系”,即使所有服务器都已启动并正在运行。

我在 Openstack 上也面临着严重的问题(无法启动新实例、备份卷等),我猜这个问题是相关的。

And*_*ack 5

在通过对原始问题的评论进行调试会话后,我们发现了问题所在。

使用自签名证书时,apache2 魅力有一个错误,它会生成这样一个只有 30 天有效期的证书。

发生的事情是它过期了。这已在新版本的魅力中修复,因此我们要做的是升级到该版本并触发新的证书生成。

请按照以下步骤升级魅力并重新生成证书:

  1. 运行juju ssh apache2/0 'sudo rm -f /etc/ssl/certs/apache2.cert /etc/ssl/private/apache2.key /etc/ssl/certs/landscape_server_ca.crt'
  2. 运行juju upgrade-charm apache2。这将升级魅力,而新魅力一旦发现没有证书(在第一步中删除),将生成新的一对。
  3. 观察 的输出,juju debug-log直到它安静下来。
  4. 运行juju ssh apache2/0 'sudo service apache2 restart'(我将提交有关此步骤的错误:它不应该被需要,但现在是)

现在我们需要将这个新证书告诉客户。这有点棘手,因为客户端正在另一个 juju 环境中运行,该环境存在于 Landscape/0 单元上,类似于初始。按着这些次序:

  1. 获取新证书: juju scp apache2/0:/etc/ssl/certs/apache2.cert .
  2. 确保权限为 0644: chmod 0644 apache2.cert
  3. 验证它从现在起 10 年到期: openssl x509 -in apache2.cert -noout -enddate
  4. 将其上传到 Landscape/0: juju scp apache2.cert landscape/0:/tmp
  5. 登录横向/ 0: juju ssh landscape/0
  6. 更改横向用户外壳: sudo chsh -s /bin/bash landscape
  7. 变成风景: sudo -u landscape -i
  8. 指向云聚居环境: export JUJU_HOME=/var/lib/landscape/juju-homes/$(ls -1t /var/lib/landscape/juju-homes/|head -n 1)
  9. 运行此要确认朱朱在这种环境中工作:juju status。你应该看到很多 OpenStack 服务
  10. 将新证书告知景观客户端: juju set landscape-client ssl-public-key="base64:$(cat /tmp/apache2.cert|base64)"
  11. 观察输出juju debug-log直到它安静下来
  12. 随处重启景观客户端: juju run --service landscape-client 'sudo service landscape-client restart'
  13. 如果上述命令因不支持从属服务而失败,请运行以下命令: juju run --all 'sudo service landscape-client restart'

您可以登录客户端并使用 tail -f broker.log 文件查看 SSL 错误是否仍然存在。