kube-proxy Не удалось найти конечную точку для default / tomcat: http: отсутствует запись службы

Я использую OS Centos 7. My Pod:

apiVersion: v1
kind: Pod
metadata:
  name: tomcat
spec:
  containers:
  - image: ec2-73-99-254-8.eu-central-1.compute.amazonaws.com:5000/tom
    name: tomcat
    command: ["sh","-c","/opt/tomcat/bin/deploy-and-run.sh"]
    volumeMounts:
    - mountPath: /maven
      name: app-volume
    ports:
    - containerPort: 8080
  volumes:
  - name: app-volume
    hostPath:
      path: /maven

Моя служба:

apiVersion: v1
kind: Service
metadata:
  name: tomcat
spec:
  ports:
    - name: http
      port: 80
      targetPort: 8080
      protocol: TCP
  selector:
    name: tomcat

Сервисы выглядят так:

# kubectl get svc
NAME         CLUSTER_IP      EXTERNAL_IP   PORT(S)   SELECTOR      AGE
kubernetes   10.254.0.1      <none>        443/TCP   <none>        14h
tomcat       10.254.206.26   <none>        80/TCP    name=tomcat   13h

И стручки:

# kubectl get pod
NAME      READY     STATUS    RESTARTS   AGE
tomcat    1/1       Running   0          13h

И когда я запускаю Curl:

curl 10.254.206.26
curl: (56) Recv failure: Connection reset by peer

Логи Kube-proxy в этот момент показывают что-то вроде этого:

kube-proxy[22273]: Couldn't find an endpoint for default/tomcat:http: missing service entry
kube-proxy[22273]: Failed to connect to balancer: missing service entry

Но когда я запускаю curl непосредственно на IP-адрес пода и порт 8080 - он работает нормально. Когда я запускаю команду kubectl get endpoints

NAME         ENDPOINTS             AGE
kubernetes   195.234.109.11:6443   14h
tomcat       <none>                14h

Поле ENDPOINTS в этом выводе со значением «none» выглядит странно. Что случилось?


person Valentyn Tymku    schedule 20.03.2016    source источник


Ответы (1)


Сервисы работают по соответствию этикеток. Вы пытаетесь найти соответствие по названию вашего модуля. Попробуйте изменить метаданные для своего модуля на

metadata:
  name: tomcat
  labels:
    name: tomcat

и посмотрите, поможет ли это.

person Robert Bailey    schedule 20.03.2016
comment
Большое спасибо! Проблема была в этикетках. - person Valentyn Tymku; 20.03.2016