В сервисе Kubernetes отказано - PullRequest
0 голосов
/ 06 января 2019

Я хочу создать пример приложения с Kubernetes, но мне отказывают в соединении, если я пытаюсь подключиться к отзывчивому сервису в Kubernetes.

Например, если я подключаюсь с другого модуля к http://random -generator-svc: 5050 / , я получаю сообщение об ошибке, в котором отказано соединение.

это файл yaml для создания службы и развертывания для генератора случайных чисел:

apiVersion: v1
  kind: Service
  metadata:
    name: random-generator-svc
    labels:
      app: rand-gen
 spec:
   selector:
     app: rand-gen
     type: NodePort
     ports:
     - protocol: "TCP"
       port: 5050
       targetPort: 5050
       name: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: random-generator-deployment
  labels:
    app: rand-gen
spec:
  replicas: 2
  selector:
    matchLabels:
      app: rand-gen
  template:
    metadata:
    labels:
      app: rand-gen
  spec:
    containers:
    - name: random-generator-container
      image: toky03/random-generator-image:1.2
      ports:
      - containerPort: 5050

Это файл yaml, который определяет Сервис и Развертывание приложения «Вызывающий»:

apiVersion: v1
kind: Service
metadata:
  name: middle-tier-svc
  labels:
    app: rand-gen
spec:
  selector:
    app: rand-gen
  type: NodePort
  ports:
  - protocol: "TCP"
    port: 7070
    targetPort: 7070
    name: http

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: middle-tier-controller
  labels:
    app: rand-gen
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rand-gen
  template:
    metadata:
      labels:
        app: rand-gen
    spec:
      containers:
      - name: random-controller-container
        image: toky03/random-controller-image:1.2
        ports:
        - containerPort: 7070

Я изменил тип на NodePort, чтобы попытаться, если эта ошибка также существует, но я могу получить доступ к службе извне кластера. Возможно, есть проблема с моим распознавателем DNS Kubernetes?

Большое спасибо заранее за вашу помощь.

1 Ответ

0 голосов
/ 06 января 2019

Это из-за небольшой опечатки в вашем отступе. попробуйте это

apiVersion: v1
kind: Service
metadata:
  name: random-generator-svc
  labels:
    app: rand-gen
spec:
  selector:
    app: rand-gen
  type: NodePort
  ports:
  - protocol: "TCP"
    port: 5050
    targetPort: 5050
    name: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: random-generator-deployment
  labels:
    app: rand-gen
spec:
  replicas: 2
  selector:
    matchLabels:
      app: rand-gen
  template:
    metadata:
      labels:
        app: rand-gen
    spec:
      containers:
      - name: random-generator-container
        image: toky03/random-generator-image:1.2
        ports:
        - containerPort: 5050

если вы хотите, чтобы ваше приложение отображалось только внутри кластера, просто удалите type: NodePort, например:

apiVersion: v1
kind: Service
metadata:
  name: random-generator-svc
  labels:
    app: rand-gen
spec:
  selector:
    app: rand-gen
  ports:
  - protocol: "TCP"
    port: 5050
    targetPort: 5050
    name: http
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...