k8s применять файлы yaml не получают тот же результат из командной строки - PullRequest
0 голосов
/ 25 мая 2018

У меня есть приложение весенней загрузки.Я хочу загрузить на свой k8s (master + kubectl, 172.16.100.83) Наш реестр изображений находится по адресу 192.168.1.229:5000.

1) With command window
a. docker pull 192.168.1.229:5000/gearboxrack/gearbox-rack-eureka-server
b. kubectl run gearbox-rack-eureka-server --image=192.168.1.229:5000/gearboxrack/gearbox-rack-eureka-server --port=8761 
c. kubectl expose deployment gearbox-rack-eureka-server --type NodePort
[root@master3 supwisdom]# kubectl get svc
NAME                         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
gearbox-rack-eureka-server   NodePort    10.103.109.185   <none>        8761:30719/TCP   6s
kubernetes                   ClusterIP   10.96.0.1        <none>        443/TCP          1h

Затем я успешно запускаю приложение по 172.16.100.83:30719.Обратите внимание, что теперь порт генерируется случайным образом k8s.

Теперь я использую файл yaml, чтобы попытаться получить какой-то результат / цель.

eureka_pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: gearbox-rack-eureka-server
  labels:
    purpose: platform_eureka_demo
spec:
  containers:
  - name:  gearbox-rack-eureka-server
    image: 192.168.1.229:5000/gearboxrack/gearbox-rack-eureka-server
    ports:
        - containerPort: 8761

my eureka_svc.Файлы yaml

apiVersion: v1
kind: Service
metadata:
  name: gearbox-rack-eureka-server
  labels:
    name: gearbox_rack_eureka_server
spec:
  type: NodePort
  ports:
    - port: 8761
      nodePort: 31501
      name: tcp


[root@master3 supwisdom]# kubectl apply -f eureka_pod.yaml
pod "gearbox-rack-eureka-server" created

[root@master3 supwisdom]# kubectl apply -f  eureka_svc.yaml
service "gearbox-rack-eureka-server" created
[root@master3 supwisdom]# kubectl get services
NAME                         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
gearbox-rack-eureka-server   NodePort    10.99.100.123   <none>        8761:31501/TCP   11s
kubernetes                   ClusterIP   10.96.0.1       <none>        443/TCP          2h

Но теперь я пытаюсь 172.16.100.83:31501, я не смог получить тот же результат, что и командные строки.Что-то не так с моими шагами?

1 Ответ

0 голосов
/ 25 мая 2018

обычно службам требуется селектор , чтобы найти модуль.Также вам может потребоваться указать targetPort в спецификации сервиса.

Я думаю, что это должно работать в вашем случае.

Добавьте это к меткам pod

labels:
  app: my-app

Добавить это к услуге

spec:
  selector:
    app: my-app
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...