【问题标题】:Not able to access app deployed on kubernetes cluster无法访问部署在 kubernetes 集群上的应用程序
【发布时间】:2018-09-10 07:13:36
【问题描述】:

访问部署在 Azure kubernetes 服务上的应用时出现以下错误

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
  "reason": "Forbidden",
  "details": {},
  "code": 403
}

我已按照https://docs.microsoft.com/en-us/azure/aks/tutorial-kubernetes-prepare-app此处给出的所有步骤进行操作

我知道这与身份验证和 RBAC 有关,但我不知道到底出了什么问题以及我应该在哪里进行更改。

【问题讨论】:

  • 您是否在不使用任何证书的情况下从客户端连接?
  • @NicolaBen 我正在从浏览器连接。该应用程序是一个基本的 nodejs 服务器。关于证书,我不知道应该在哪里配置它们
  • 哪一步出现错误?
  • 您能提供您的ServiceIngress 清单吗?
  • @CharlesXu-MSFT 应用部署成功。访问应用程序 simplegrap-agh-rgp-bangalor-ae1cfc-fac72fa1.hcp.southeastasia.azmk8s.io 时出现错误这是我的部署文件gist.github.com/preetb123/d5f895d9505e79e2d5d077f47e1f9bb2

标签: kubernetes azure-container-registry azure-aks


【解决方案1】:

只需按照您发布的link 中的步骤操作即可。你将成功地完成它。以下每一步的目的地:

  1. 创建图像并确保它可以正常工作。
  2. 创建 Azure 容器注册表并将映像推送到注册表中。
  3. 为 AKS 创建一个服务主体,让它可以从注册表中提取映像。
  4. 更改 yaml 文件并使其从 Azure 注册表中拉取映像,然后在 AKS 节点中创建 pod。

您只需要这四个步骤即可在 AKS 上运行应用程序。然后像第4步一样通过命令kubectl get service azure-vote-front --watch获取IP地址。如果无法访问应用程序,请再次仔细检查您的步骤。

另外,您可以通过命令kubectl describe pods 或使用kubectl describe pod podName 的命令查看一个pod 的所有pod 状态。

更新

我用你提供的图片和这里的结果进行测试:

并且可以获取服务信息,知道应该使用哪个端口来浏览。

【讨论】:

  • 我按照文章中给出的完全相同的方式执行了所有步骤。此外,pluralsight.com/courses/azure-container-service-big-picture 课程中给出了相同的步骤,我也做了同样的事情。
  • @Preetam 所有步骤都适合您。也许问题出在您的图像中。您介意为测试提供图片吗?
  • @Preetam 我认为您公开的端口可能有问题。您可以使用命令kubectl describe services gql-server-service查看信息。
  • 我已将图像上传到 docker hub hub.docker.com/r/preetb123/simple-graphql-server 应用程序暴露在 4000 端口
  • 我无法拉取图像。你试试看?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
相关资源
最近更新 更多