Я использую следующий код в statefulset.yml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: geth
namespace: prod
spec:
serviceName: geth-service
replicas: 2
selector:
matchLabels:
app: geth-node
template:
metadata:
labels:
app: geth-node
spec:
containers:
- name: geth-node
image: <My image>
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /
port: 8545
initialDelaySeconds: 20 #wait this period after staring fist time
periodSeconds: 15 # polling interval
timeoutSeconds: 5 # wish to receive response within this time period
readinessProbe:
httpGet:
path: /
port: 8545
initialDelaySeconds: 20 #wait this period after staring fist time
periodSeconds: 15 # polling interval
timeoutSeconds: 5
и у меня в ingress.yml
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: prod-ingress
namespace: prod
annotations:
kubernetes.io/ingress.class: "gce"
kubernetes.io/ingress.global-static-ip-name: "mystaticip"
spec:
tls:
- secretName: my-tls
hosts:
- myhost.com
rules:
- host: myhost
http:
paths:
- path: /rpc
backend:
serviceName: gethrpc-service
servicePort: 80
Мой контейнер выставляет порт 8545
, поэтому я настроил зонд, как указано выше, для моего statefulset
.
Когда я создаю этот набор состояний и вход, автоматически создается балансировщик нагрузки.
Я получаю две серверные службы (я думаю, два порта для двух узлов - я запускаю его на двух узлах)
Однако меня смущают следующие две проверки работоспособности, созданные для этих серверных служб.
1. Path: /healthz Port number: 30695
2. Path: / Port number: 30190
- Я не понимаю, почему эти проверки работоспособности различаются для разных узлов.
- Я настроил путь как
/
, поэтому у обоих IMO должен быть путь/
PS: Я использую кластер с двумя узлами и 2 модуля, по одному на каждом узле.