使用来自浏览器的 REST api 列出 GKE 集群中的 pod

假设我想从客户端 Web 应用程序对 Kubernetes 对象进行操作。 该应用程序使用 OAuth2 将用户登录到 Google 并获取云平台身份验证范围。 现在,该应用可以调用 GKE API 等 Google Cloud API。 该应用现在可以枚举 GKE 集群:https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/list

我现在不明白的是如何调用 Kubernetes API。我需要连接到主服务器,进行身份验证并使用 Kubernetes 的 REST API。 所以,我有以下问题:

  1. 我如何连接到主站?我如何获得地址?
  2. 我如何与主人进行身份验证?

我已经研究过,我认为我可以通过调用 https://container.googleapis.com/v1/projects/XXX/locations/us-central1-a/clusters API 并获取 endpoint 属性来获取主端点。主授权信息似乎在 masterauth 中。我需要令牌思想...

我已尝试使用已知良好的令牌连接到主服务器,但浏览器的 fetch 函数使用 ERR_CERT_AUTHORITY_INVALID 拒绝了我的请求。

          // Error: net::ERR_CERT_AUTHORITY_INVALID
          const response = await fetch(
            "https://IP/api/v1/pods/",{
              headers: new Headers({
                "Authorization": "Bearer <token>","Content-Type": "application/json; charset=utf-8"
              }),}
          );

我能够从 MasterAuth 获取证书颁发机构信息,但我不知道如何使用它进行 HTTP GET 调用。

所以,我最紧迫的问题是:给定主端点 API 和 MasterauthclusterCaCertificateclientCertificate),我如何从浏览器调用 Kubernetes API。

zwlyuan 回答:使用来自浏览器的 REST api 列出 GKE 集群中的 pod

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/523.html

大家都在问