【问题标题】:Google Cloud Kubernete - Socket ServerGoogle Cloud Kubernetes - 套接字服务器
【发布时间】:2021-10-30 04:41:31
【问题描述】:

我是 Google 云服务的新手,遇到了问题。

我想将 Google Kubernetes 用于我在 .Net Core 中开发的 TCP 服务器。 我使用容器创建了一个集群和一个工作负载。

kubernetes 的第一个问题, Pod 错误:CrashLoopBackOff 并且没有最低可用性。

当我检查 pod 的日志时。我懂了; “无法获取 pod default/game-server-1-68446c9f7f-jfblf 的 pod 指标:没有已知的 pod 指标”

实际上,服务器运行良好,我看到服务器的输出,例如“服务器已启动并监听端口 4200”。每 5 分钟它就会不断崩溃。

第二个问题是,尽管我允许 4200 tcp 端口,但我无法从客户端连接服务器。

我错过了什么吗?你能帮帮我吗?

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: google-cloud-platform tcp google-kubernetes-engine


【解决方案1】:

如果您提供更多关于 (a) 您正在做什么的详细信息,将会有所帮助; (b) 你所经历的。请包括实际命令和实际输出,而不是总结。

您的问题非常广泛,您将从阅读 Kubernetes 文档和部署 .NET Core 应用程序中受益。

也就是说,您在 Kubernetes(引擎)上运行基于 .NET Core TCP 的应用的总体目标没有明显问题。

您的容器似乎有问题。假设(!?)它是一个运行 .NET Core 应用程序的 Linux 容器,您可以在本地运行该容器吗?

请包括您的部署和任何服务规范。

由于您使用的是 Google Kubernetes Engine (GKE),因此您可以通过多种方式连接到您的应用。你可以:

【讨论】:

    【解决方案2】:

    据我了解,您正在尝试在 GKE 上运行基于 .NET 的应用程序。在此过程中,您将在机器上开发的代码转换为 Docker 容器映像,然后在 Google Kubernetes Engine 上运行该映像。(source)

    对于Crashloopbackoff 错误:

    当 Kubernetes 找不到 var/run/secrets/kubernetes.io/serviceaccount 文件或我们授予更多 RBAC 权限时,会发生此错误。我们可以通过删除 MountFlags=slave 选项并重新启动 docker 来解决此问题。(source)

    Here 是一些类似的 crashloopbackoff 问题和解决方案。

    对于没有已知的 pod 指标日志:

    在填充缓存之前,Metrics Server 预计会报告“没有已知的 pod 指标”。新部署的指标服务器上的缓存可能为空,或者可能会丢失新部署的 pod 的值并在 60 秒内解析,因为默认指标每 60 秒被抓取一次。(source)

    对于客户端无法连接到服务器

    尝试检查是否没有人可以连接到服务器或某个位置的用户无法连接到服务器。

    Here 是针对此问题要遵循的一些故障排除步骤。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      • 2018-08-14
      • 1970-01-01
      • 2021-03-23
      • 2013-06-15
      • 1970-01-01
      • 2020-03-22
      相关资源
      最近更新 更多