故障排除指南

故障

如果 Kolla 部署失败,通常是由于部署过程中按下了 CTRL-C,或者 globals.yml 配置文件存在问题导致的。

为了解决 Operators 环境配置错误的问题,Kolla 社区添加了一个预检功能,以确保部署目标处于 Kolla 可以部署的状态。要运行预检

kolla-ansible prechecks

如果在部署过程中发生故障,几乎总是发生在软件评估阶段。一旦 Operator 掌握了所需的少量配置选项,他们不太可能再遇到部署故障。

部署可以运行多次,但如果引导任务失败,进一步的部署操作将无法解决问题。在这种情况下,Kolla 的行为是未定义的。

从部署失败中恢复的最快方法是删除失败的部署

kolla-ansible destroy -i <<inventory-file>>

每次发布标签发生变化时,旧版本中的容器实现可能与新版本中的 Ansible playbook 不匹配。如果从 registry 运行多节点部署,在进行新的部署之前,每个节点的 Docker 镜像缓存必须使用最新的镜像进行刷新。要从本地 Docker registry 刷新 docker 缓存

kolla-ansible pull

调试 Kolla

可以通过在部署目标上执行以下命令来确定部署后的容器状态

docker ps -a

如果任何容器退出,则表示容器中存在错误。请通过提交 launchpad bug 或通过 IRC 联系开发人员寻求帮助。

可以通过执行以下命令来检查日志

docker exec -it fluentd bash

可以从 /var/log/kolla/SERVICE_NAME 读取所有容器中所有服务的日志

如果需要 stdout 日志,请运行

docker logs <container-name>

请注意,大多数容器不会将日志记录到 stdout,因此上述命令将不会提供任何信息。

要了解更多关于 Docker 命令行操作的信息,请参考 Docker 文档

日志卷 “kolla_logs” 链接到主机上的 /var/log/kolla。您可以在那里找到所有 kolla 日志。

readlink -f /var/log/kolla
/var/lib/docker/volumes/kolla_logs/_data

enable_central_logging 启用时,要使用 OpenSearch Dashboards 在 Web 浏览器中查看日志,请转到 http://<kolla_internal_vip_address>:<opensearch_dashboards_port>http://<kolla_external_vip_address>:<opensearch_dashboards_port>。使用 opensearch<opensearch_dashboards_password> 进行身份验证。

可以在 <kolla_install_path>/kolla/ansible/group_vars/all/opensearch.yml 中找到 <kolla_internal_vip_address><kolla_external_vip_address><opensearch_dashboards_port> 的值。可以在 /etc/kolla/passwords.yml 中找到 <opensearch_dashboards_password> 的值。