故障排除指南¶
故障¶
如果 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> 的值。