我试图通过GKE部署应用程序。到目前为止,我为应用程序的前端和后端创建了两个服务和两个部署。我使用“gce”控制器创建了一个ingress ressource,并映射了服务,如图所示
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
labels:
app: app
part: ingress
name: my-irool-ingress
annotations:
kubernetes.io/ingress.class: "gce"
kubernetes.io/ingress.global-static-ip-name: my-ip
spec:
backend:
serviceName: client-svc
servicePort: 3000
rules:
- http:
paths:
- path: /back
backend:
serviceName: back-svc
servicePort: 9000
- http:
paths:
- path: /back/*
backend:
serviceName: back-svc
servicePort: 9000
它几乎工作得很好(不是所有映射正确的根,但它工作得很好)。我在代码上添加了修改(只有应用程序的代码),我重建了图像并重新创建了服务,但入口似乎对我添加的修改和
我所有的服务都处于不健康状态
这是前台服务
apiVersion: v1
kind: Service
metadata:
labels:
app: app
part: front
name: client
namespace: default
spec:
type: NodePort
ports:
- nodePort: 32585
port: 3000
protocol: TCP
selector:
app: app
part: front
当我描述时,除了我的服务不健康之外,我什么都没有得到。在创作的那一刻,我不断地
警告GCE 6m负载平衡器控制器googleapi:错误409:资源“[project/idproject]/global/healthChecks/k8s-be-32585--17c7。。。。。。01’已存在,已存在
我的问题是:
>
上面显示的代码有什么错误?我是否应该将所有服务映射到端口80(默认入口端口,以便它可以工作?)
readinessProbe和livenessProbe是什么?我应该添加它们还是将它们映射到默认后端的服务就足够了?
对于您的第一个问题,删除并重新创建入口可能会解决问题。对于第二个问题,您可以在此处查看配置活动和准备状态探测的完整步骤。此外,正如这里定义的(作为pod的示例):
livenessProbe:指示容器是否正在运行。如果活性探测失败,kubelet将杀死容器,容器将遵循其重新启动策略。如果容器不提供活性探测,则默认状态为Success。
和readinessProbe:指示容器是否准备好为请求提供服务。如果就绪性探测失败,endpoint控制器将从与Pod匹配的所有服务的endpoint中删除Pod的IP地址。初始延迟前的默认准备状态为失败。如果容器不提供就绪探测,则默认状态为Success。
问题内容: 我遵循了负载均衡器教程:https : //cloud.google.com/container- engine/docs/tutorials/http-balancer 在使用Nginx映像时,当尝试使用自己的应用程序映像时,它工作正常后端切换为不正常。 我的应用程序重定向到/(返回302),但在pod定义中添加了一个: 我的入口看起来像: 服务配置为: 后端健康状况如下: 入口的规
我遵循了负载均衡器教程:https://cloud.google.com/container-engine/docs/tutorials/http-balancer当我使用Nginx映像时工作正常,当我尝试使用我自己的应用程序映像时,尽管后端切换到不健康。 我的应用程序重定向到/(返回302),但我在pod定义中添加了一个livenessProbe: 我的入口看起来像: 服务配置为: 入口中的后端
我正在学习如何使用入口在谷歌Kubernetes引擎上公开我的应用程序。我学习了几本教程,大致了解了需要什么。然而,我不知道为什么我的服务被标记为不健康,尽管它们可以从我直接定义的NodePort服务访问。 这是我的部署文件:(我删除了一些数据,但大部分保持不变) 在阅读时,我需要一个ReadinessProbe和LivinessProbe,以便GKE在我定义的路径上运行健康检查,并且通过使用我自
我正在学习如何使用入口来公开我的应用程序GKE v1.19。我按照GKE docs for Service、Ingress和BackendConfig的教程进行了以下设置。然而,一段时间后,我的后端服务仍然变得不健康。我的目标是覆盖入口控制器的默认“/”健康检查路径。 我在部署中定义了相同的运行状况检查。livenessProbe和readinessProbe下的yaml文件,它们似乎工作正常,因
我已经在端口80上配置了一个通过apache公开的web应用程序pod。我无法配置从internet访问的服务入口。问题是后端服务总是报告为不健康。 Pod配置: 服务配置: 入口配置: 这会导致后端服务报告为不健康。 健康检查设置:
因此,我们正在使用全局MTL部署istio 1.0.2,目前进展顺利。对于健康检查,我们为服务添加了单独的端口,并根据文档进行了配置: https://istio.io/docs/tasks/traffic-management/app-health-check/#mutual-tls-is-enabled 我们的应用程序端口现在位于 8080 上,运行状况检查端口位于 8081 上。完成此操作后