You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从自托管GitHub Actions Runner访问私有GKE控制平面

问题:自托管GitHub Actions Runner无法访问私有GKE控制平面(超时)

我正在尝试让自托管GitHub Actions Runner部署至私有GKE集群,目前Runner已成功启动,kubectl等工具也已安装,但执行kubectl命令时一直超时,推测是网络配置问题,但没找到解决办法。

流水线配置

deploy:
    name: Deploy
    runs-on: arc-runner-set
    environment: production

    permissions:
      id-token: write
      contents: read
      actions: read

    steps:
      - id: auth
        uses: "google-github-actions/auth@v2"
        with:
          credentials_json: "${{ secrets.GCP_CREDENTIALS }}"

      - uses: azure/setup-kubectl@v3
        with:
          version: "latest"

      - uses: google-github-actions/get-gke-credentials@v2
        with:
          cluster_name: ${{ env.GKE_CLUSTER }}
          location: ${{ env.GKE_ZONE }}

      - id: "get-pods"
        run: "kubectl get pods"

集群环境

这是一个私有Autopilot GKE集群,控制平面允许全局访问,我已经把本地笔记本IP加入集群授权网络,本地kubectl能正常运行。

错误信息

E0313 04:58:11.751123     108 memcache.go:265] couldn't get current server API group list: Get "https://34.28.33.63/api?timeout=32s": dial tcp 34.28.33.63:443: i/o timeout
Unable to connect to the server: dial tcp 34.28.33.63:443: i/o timeout
Error: Process completed with exit code 1.

注:34.28.33.63是集群的公开端点,可通过gcloud beta container clusters describe命令获取


解决方案

1. 将自托管Runner的IP加入GKE集群授权网络

  • 定位自托管Runner所在机器的公网IP:如果是GCE虚拟机,执行gcloud compute instances describe <instance-name> --zone <zone>获取;其他环境可通过curl ifconfig.me等命令获取
  • 登录GCP控制台,进入目标GKE集群详情页
  • 找到「授权网络」配置项,将Runner的公网IP以x.x.x.x/32格式添加到列表中
  • 保存配置后等待3-5分钟生效,重新触发流水线测试

2. 检查Runner所在网络的出站规则

  • 如果Runner部署在GCP VPC内,确认VPC防火墙规则允许出站访问TCP 443端口到GKE控制平面IP
  • 若使用Cloud NAT,验证NAT配置覆盖了Runner所在子网,且NAT网关具备公网访问权限
  • 排查是否有第三方安全组、防火墙设备阻断了Runner到GKE控制平面的流量

3. 手动验证Runner的网络连通性

  • 在Runner机器上执行telnet 34.28.33.63 443,若能连通则网络层面无问题;若无法连通,进一步排查路由、防火墙规则
  • 也可执行curl -v https://34.28.33.63/api,查看具体连接失败原因

4. 确认GKE凭证获取正确性(可选)

  • 在流水线中添加步骤,查看kubeconfig内容,确认server地址正确:
- run: cat ~/.kube/config
  • 确保google-github-actions/auth步骤已正确获取GCP权限,可添加gcloud auth list步骤验证身份

内容的提问来源于stack exchange,提问作者ArkadyB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 04:57:35