作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我创建了一个非常基本的 Ingress(下面的 yaml)之后,没有特殊的健康检查定义(在其他 Kubernetes 对象中也没有),Ingress 创建了一个 GCP 负载均衡器。
为什么这个 LB 有两个针对不同节点端口定义的健康检查(“后端服务”),一个针对根路径 /
一个反对/healthz
?我希望只看到一个。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress1
spec:
rules:
- host: example.com
http:
paths:
- backend:
serviceName: myservice
servicePort: 80
最佳答案
/
的原因健康检查
GKE 入口 Controller 的限制之一如下:
为了让 GKE 入口 Controller 使用您的 readinessProbes 作为运行状况检查,Ingress 的 Pod 必须在 Ingress 创建时存在。如果您的副本被缩放到 0 或创建入口时 Pod 不存在,则使用 /
的默认健康检查适用。
由于上述原因,它创建了两个健康检查。
从就绪探测到工作的健康检查有很多注意事项:
/
进行默认的后备健康检查是有意义的。
/healthz
的原因健康检查
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: l7-default-backend
namespace: kube-system
labels:
k8s-app: glbc
kubernetes.io/name: "GLBC"
kubernetes.io/cluster-service: "true"
spec:
replicas: 1
selector:
matchLabels:
k8s-app: glbc
template:
metadata:
labels:
k8s-app: glbc
name: glbc
spec:
containers:
- name: default-http-backend
# Any image is permissible as long as:
# 1. It serves a 404 page at /
# 2. It serves 200 on a /healthz endpoint
image: k8s.gcr.io/defaultbackend-amd64:1.5
livenessProbe:
httpGet:
path: /healthz
port: 8080
scheme: HTTP
initialDelaySeconds: 30
timeoutSeconds: 5
ports:
- containerPort: 8080
resources:
limits:
cpu: 10m
memory: 20Mi
requests:
cpu: 10m
memory: 20Mi
---
apiVersion: v1
kind: Service
metadata:
# This must match the --default-backend-service argument of the l7 lb
# controller and is required because GCE mandates a default backend.
name: default-http-backend
namespace: kube-system
labels:
k8s-app: glbc
kubernetes.io/cluster-service: "true"
kubernetes.io/name: "GLBCDefaultBackend"
spec:
# The default backend must be of type NodePort.
type: NodePort
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
k8s-app: glbc
关于kubernetes - 为什么 Kubernetes Ingress 在其负载均衡器上默认创建 *两个* 健康检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59553878/
我是一名优秀的程序员,十分优秀!