GCP:如何为 Python 测试代码设置 GKE 的用户 ID,首先使用我的 GCP 用户 ID?
GCP: how to set user id for GKE for Python test code, first with my GCP userid?
我正在调整我客户的测试代码,使其在 GKE 之外的应用程序上运行良好。但是 运行在 GKE 集群内访问端点 IP,我得到:
{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"forbidden: User \"system:anonymous\" cannot post path \"/\"","reason":"Forbidden","details":{},"code":403}
我知道当它投入生产时我需要一个服务帐户,但现在我只是想在登录时从命令行运行:
gcloud auth login
我该怎么做?我尝试将我的登录 ID 绑定到授权角色,但似乎没有成功。
system:anonymous 表示未经身份验证的用户正试图从您的集群中获取资源,这是被禁止的。您需要在 GKE 集群上创建 RBAC 配置文件。
如@Gari singh 所述,您可能正在尝试访问 Kube API 端点,而不是您应用程序的端点。要从您的应用程序访问端点,您需要连接到 pod 上的应用程序 运行ning。
从您的应用访问端点的步骤:
要将您的应用程序部署到您创建的 GKE 集群,您需要两个 Kubernetes 对象。
用于定义您的应用程序的部署。
定义如何访问您的应用程序的服务。
部署应用程序:
该应用程序有一个处理网络请求的前端服务器。您在名为 deployment.yaml 的新文件中定义 运行 前端所需的集群资源。这些资源被描述为部署。您使用 Deployments 创建和更新 ReplicaSet 及其关联的 Pods.
部署服务:
服务提供对一组 Pods 的单点访问。虽然可以访问单个 Pod,但 Pods 是短暂的,只能通过使用服务地址可靠地访问。在您的应用程序中,该服务定义了一个负载均衡器以从单个 IP 地址访问应用程序 Pods。此服务在 service.yaml 文件中定义。使用命令 kubectl get services.
获取服务的外部 IP 地址
查看部署的应用程序:
使用上一步中的外部 IP 地址在网络浏览器中加载应用程序,并查看您的 运行ning 应用程序:http://EXTERNAL_IP
或者,您可以对服务的外部 IP 地址进行 curl 调用:curl External_IP。这将是您的应用程序端点。
参考Deploying a language-specific-app and exposing applications using services获取信息。
我正在调整我客户的测试代码,使其在 GKE 之外的应用程序上运行良好。但是 运行在 GKE 集群内访问端点 IP,我得到:
{"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"forbidden: User \"system:anonymous\" cannot post path \"/\"","reason":"Forbidden","details":{},"code":403}
我知道当它投入生产时我需要一个服务帐户,但现在我只是想在登录时从命令行运行:
gcloud auth login
我该怎么做?我尝试将我的登录 ID 绑定到授权角色,但似乎没有成功。
system:anonymous 表示未经身份验证的用户正试图从您的集群中获取资源,这是被禁止的。您需要在 GKE 集群上创建 RBAC 配置文件。
如@Gari singh 所述,您可能正在尝试访问 Kube API 端点,而不是您应用程序的端点。要从您的应用程序访问端点,您需要连接到 pod 上的应用程序 运行ning。
从您的应用访问端点的步骤:
要将您的应用程序部署到您创建的 GKE 集群,您需要两个 Kubernetes 对象。
用于定义您的应用程序的部署。
定义如何访问您的应用程序的服务。
部署应用程序:
该应用程序有一个处理网络请求的前端服务器。您在名为 deployment.yaml 的新文件中定义 运行 前端所需的集群资源。这些资源被描述为部署。您使用 Deployments 创建和更新 ReplicaSet 及其关联的 Pods.
部署服务:
服务提供对一组 Pods 的单点访问。虽然可以访问单个 Pod,但 Pods 是短暂的,只能通过使用服务地址可靠地访问。在您的应用程序中,该服务定义了一个负载均衡器以从单个 IP 地址访问应用程序 Pods。此服务在 service.yaml 文件中定义。使用命令 kubectl get services.
获取服务的外部 IP 地址查看部署的应用程序:
使用上一步中的外部 IP 地址在网络浏览器中加载应用程序,并查看您的 运行ning 应用程序:http://EXTERNAL_IP
或者,您可以对服务的外部 IP 地址进行 curl 调用:curl External_IP。这将是您的应用程序端点。
参考Deploying a language-specific-app and exposing applications using services获取信息。