Kubernetes
August 1, 2023
Pod не может сделать запрос к самому себе по ip адресу сервиса
Из пода не получается сделать запрос на себя же по ip адресу сервиса, который за ним наблюдает.
Если зайти в под и сделать curl -I <serviceIP>, то запрос повиснет и не выполниться.
Данное поведение наблюдается на кластерах с CNI Kubenet. При использовании Cilium таких проблем нет.
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
name: cam-nginx
namespace: default
labels:
app: nginx
environment: prod
annotations:
author: cameda
spec:
containers:
- name: nginx
image: nginx:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
- containerPort: 443
resources:
requests:
cpu: 300m
memory: 300Mi
limits:
memory: 400Mi
restartPolicy: Always
hostname: nginx
subdomain: web
---
apiVersion: v1
kind: Service
metadata:
namespace: default
name: nginx-service2
labels:
environment: prod
annotations:
author: cameda
spec:
type: ClusterIP
selector:
app: nginx
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
EOF
kubectl get svc | grep nginx-service2 nginx-service2 ClusterIP 10.21.26.32 <none> 80/TCP 4m3s
kubectl exec -ti cam-nginx -- /bin/bash
curl -I 10.21.26.32 HTTP/1.1 200 OK Server: nginx/1.25.1
August 1, 2023, 12:34
0 views
0 reposts