Help us learn about your current experience with the documentation. Take the survey.

工作空间故障排除

在使用 GitLab 工作空间时,您可能会遇到以下问题。

错误:Failed to renew lease

在创建工作空间时,您可能会在代理的日志中看到以下错误信息:

{"level":"info","time":"2023-01-01T00:00:00.000Z","msg":"failed to renew lease gitlab-agent-remote-dev-dev/agent-123XX-lock: timed out waiting for the condition\n","agent_id":XXXX}

此错误是由于 GitLab Kubernetes Agent 的一个已知问题引起的。 当代理实例无法续订其领导权租约时,就会发生此错误,导致 remote_development 等仅领导者模块关闭。

要解决此问题:

  1. 重启代理实例。
  2. 如果问题仍然存在,请检查您的 Kubernetes 集群的健康状况和连接性。

错误:No agents available to create workspaces

当您在项目中创建工作空间时,可能会收到以下错误:

No agents available to create workspaces. Please consult Workspaces documentation for troubleshooting.

此错误可能由多种原因引起。请按照以下故障排除步骤进行操作。

检查权限

  1. 确保您对工作空间项目和代理项目至少拥有 Developer 角色。
  2. 验证代理是否被允许在您工作空间项目的祖先组中。 有关更多信息,请参阅 允许代理

检查代理配置

验证您的代理配置中是否启用了 remote_development 模块:

remote_development:
  enabled: true

如果 GitLab Kubernetes Agent 的 remote_development 模块被禁用,请将 enabled 设置为 true

检查代理名称不匹配

确保您在 创建 GitLab Kubernetes Agent 令牌 步骤中创建的代理名称与 .gitlab/agents/FOLDER_NAME/ 中的文件夹名称相匹配。

如果名称不同,请重命名文件夹以完全匹配代理名称。

检查代理连接状态

验证代理是否已连接到 GitLab:

  1. 转到您的组。

  2. 选择 Operate > Kubernetes clusters

  3. 验证 Connection status 是否为 Connected。如果未连接,请检查代理日志:

    kubectl logs -f -l app=gitlab-agent -n gitlab-workspaces

错误:unsupported scheme in GitLab Kubernetes Agent Server address

当 Kubernetes Agent Server (KAS) 地址缺少必需的协议方案时,会发生此错误。

要解决此问题:

  1. 为您的 TF_VAR_kas_address 变量添加 wss:// 前缀。例如:wss://kas.gitlab.com
  2. 更新您的配置并重新部署代理。

错误:redirect URI included is not valid

在访问工作空间时,您可能会遇到关于无效重定向 URI 的 OAuth 错误。

此错误可能由以下原因引起:

  • OAuth 应用程序配置不正确。要解决此问题:

    1. 验证 GitLab 中您的 OAuth 应用程序重定向 URI 是否与您的域名匹配。
    2. 更新 OAuth 应用程序的重定向 URI。例如:https://YOUR_DOMAIN/auth/callback
  • 工作空间代理正在使用过时的 OAuth 凭据。要解决此问题:

    1. 验证代理是否正在使用最新的 OAuth 凭据。

    2. 重启工作空间代理:

      kubectl rollout restart deployment -n gitlab-workspaces gitlab-workspaces-proxy

错误:Workspace does not exist

您可能会在 VS Code 中收到以下错误:

Workspace does not exist

Please select another workspace to open.

当工作空间成功启动,但由于 Git 克隆操作失败而导致预期的项目目录缺失时,就会发生此问题。Git 克隆操作可能因网络问题、基础设施问题或被撤销的仓库权限而失败。

要解决此问题:

  1. 在错误对话框中提示选择另一个工作空间时,选择 Cancel

  2. 从 VS Code 菜单中,选择 File > Open Folder

  3. 转到 /projects 目录并选择 OK

  4. EXPLORER 面板中,查找与您的项目名称相同的目录。

    • 如果该目录缺失,则 Git 克隆操作完全失败。
    • 如果该目录存在但为空,则克隆操作已开始但未完成。
  5. 打开一个终端。从菜单中,选择 Terminal > New Terminal

  6. 转到工作空间日志目录:

    cd /tmp/workspace-logs/
  7. 检查日志中可能指示 Git 克隆失败原因的错误输出:

    less poststart-stderr.log
  8. 解决已识别的问题并重启您的工作空间。

如果问题仍然存在,请使用包含 Git 的可用容器镜像创建一个新的工作空间。