我正在尝试在 Aws eks 集群上部署微软流体框架,但 pods 进入 CrashLoopBackOff
I am trying to deploy the microsoft fluid framework on Aws eks cluster but the pods go in to CrashLoopBackOff
当我获取其中一个 pods 状态为 CrashLoopBackOff 的日志时
kubectl logs alfred
它returns以下错误。
error: alfred service exiting due to error {"label":"winston","timestamp":"2021-11-08T07:02:02.324Z"}
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26) {
errno: 'ENOTFOUND',
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'mongodb'
} {"label":"winston","timestamp":"2021-11-08T07:02:02.326Z"}
error: Client Manager Redis Error: getaddrinfo ENOTFOUND redis {"errno":"ENOTFOUND","code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"redis","stack":"Error: getaddrinfo ENOTFOUND redis\n at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26)","label":"winston","timestamp":"2021-11-08T07:02:02.368Z"}
我是 Kubernetes 和 Aws Eks 的新手。期待帮助。谢谢
如果您在 getaddrinfo 看到错误,它是 program/function 解析 dns 名称并连接外部服务。它正在尝试访问 redis 集群。您的 EKS 集群似乎没有连接。
但是,如果您将 运行 redis 作为 EKS 集群的一部分,请确保 provide/update 应用程序代码中的 kubernetes 服务 dns,或者将其设置为可以设置的环境变量就在部署之前。
它的 redis 和 mongodb,还有错误说你提供的主机名是 redis 和 mongodb,除非你在 [=20= 中映射它,否则它不会解析为 IP 地址] 文件实际上是不真实的。
提供正确的主机名,pods 将会出现。这是根本原因。
以上错误的产生是因为 mongo 和 redis 没有被服务公开。在我为实例创建 service.yaml 文件后,上述错误消失了。 Aws Eks 在 pods 中部署容器,这些容器分散在不同的节点上。为了让 mongodb 从一个 pod 与另一个 pod 通信,您必须为 mongodb 部署公开一个服务或又名“前端”。
当我获取其中一个 pods 状态为 CrashLoopBackOff 的日志时
kubectl logs alfred
它returns以下错误。
error: alfred service exiting due to error {"label":"winston","timestamp":"2021-11-08T07:02:02.324Z"}
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26) {
errno: 'ENOTFOUND',
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'mongodb'
} {"label":"winston","timestamp":"2021-11-08T07:02:02.326Z"}
error: Client Manager Redis Error: getaddrinfo ENOTFOUND redis {"errno":"ENOTFOUND","code":"ENOTFOUND","syscall":"getaddrinfo","hostname":"redis","stack":"Error: getaddrinfo ENOTFOUND redis\n at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26)","label":"winston","timestamp":"2021-11-08T07:02:02.368Z"}
我是 Kubernetes 和 Aws Eks 的新手。期待帮助。谢谢
如果您在 getaddrinfo 看到错误,它是 program/function 解析 dns 名称并连接外部服务。它正在尝试访问 redis 集群。您的 EKS 集群似乎没有连接。
但是,如果您将 运行 redis 作为 EKS 集群的一部分,请确保 provide/update 应用程序代码中的 kubernetes 服务 dns,或者将其设置为可以设置的环境变量就在部署之前。
它的 redis 和 mongodb,还有错误说你提供的主机名是 redis 和 mongodb,除非你在 [=20= 中映射它,否则它不会解析为 IP 地址] 文件实际上是不真实的。
提供正确的主机名,pods 将会出现。这是根本原因。
以上错误的产生是因为 mongo 和 redis 没有被服务公开。在我为实例创建 service.yaml 文件后,上述错误消失了。 Aws Eks 在 pods 中部署容器,这些容器分散在不同的节点上。为了让 mongodb 从一个 pod 与另一个 pod 通信,您必须为 mongodb 部署公开一个服务或又名“前端”。