【发布时间】:2018-12-20 16:59:21
【问题描述】:
我正在尝试通过 GKE 部署应用程序。到目前为止,我为 App 的前端和后端创建了两个服务和两个部署。 我使用“gce”控制器创建了一个入口资源,并如图所示映射了服务
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
当我进行描述时,除了我的服务不健康之外,我什么也没得到。 在创造的那一刻,我不断得到 p>
警告 GCE 6m loadbalancer-controller googleapi:错误 409:资源 '[项目/idproject]/global/healthChecks/k8s-be-32585--17c7......01' 已经存在,已经存在
我的问题是:
上面显示的代码有什么问题?我应该将所有服务映射到端口 80(默认入口端口以便它可以工作吗?)
什么是 readinessProbe 和 livenessProbe?我应该添加它们还是将一个映射到服务到默认后端就足够了?
【问题讨论】:
标签: google-compute-engine kubernetes-ingress google-kubernetes-engine