@SSSSTTTTAAAASSSS

Kubernetes: не могу связать 2 pod-a вместе?

Добрый день.
Начал изучение kubernetes. Есть API которое получает запросы по http на порту 8085, потом коннектится к gRPC на порту 9000, который выступает как хранилище данных. Создал в докере образы контейнеров, запушил их.
Написал 2 файла Deployment и 2 Сервиса.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: http-http-deployment
  labels:
    app: http-http
spec:
  replicas: 1
  selector:
    matchLabels:
      app: http-http
  template:
    metadata:
      labels:
        app: http-http
    spec:
      containers:
        - name: http-http
          image: stasbigunenko/http_http
          ports:
            - containerPort: 8085

apiVersion: apps/v1
kind: Deployment
metadata:
  name: http-grpc-deployment
  labels:
    app: http-grpc
spec:
  replicas: 1
  selector:
    matchLabels:
      app: http-grpc
  template:
    metadata:
      labels:
        app: http-grpc
    spec:
      containers:
        - name: http-grpc
          image: stasbigunenko/http_grpc
          ports:
            - containerPort: 9000

Сервисы соотвтственно
apiVersion: v1
kind: Service
metadata:
  name: http-service
spec:
  selector:
    app: http-http
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8085

apiVersion: v1
kind: Service
metadata:
  name: grpc-service
spec:
  selector:
    app: http-grpc
  ports:
    - protocol: TCP
      port: 81
      targetPort: 9000

И запуская сервис http он коннектит, но не может связаться с моим контейнером gRPC сервера. Понимаю, что вопрос глупый, и где-то в сервисе ошибка, но никак понять не могу как правильно мне надо их связать. Оба сейчас в состоянии running.
Если кто может помогите пожалуйста, где надо что подправить. Если требуется каая-то доп. информация, тоже прошу сообщить добавлю.
  • Вопрос задан
  • 358 просмотров
Решения вопроса 1
Одним из вариантов исправления будут такие манифесты
apiVersion: apps/v1
kind: Deployment
metadata:
  name: http-http-deployment
  labels:
    app: http-http
spec:
  replicas: 1
  selector:
    matchLabels:
      app: http-http
  template:
    metadata:
      labels:
        app: http-http
    spec:
      containers:
        - name: http-http
          image: stasbigunenko/http_http
          env:
            - name: PORT_HTTP
              value: ":8085"
            - name: GRPC
              value: "grpc-service:9000"
          ports:
            - containerPort: 8085
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: http-grpc-deployment
  labels:
    app: http-grpc
spec:
  replicas: 1
  selector:
    matchLabels:
      app: http-grpc
  template:
    metadata:
      labels:
        app: http-grpc
    spec:
      containers:
        - name: http-grpc
          image: stasbigunenko/http_grpc
          env:
            - name: TCP_PORT
              value: ":9000"
          ports:
            - containerPort: 9000
---
apiVersion: v1
kind: Service
metadata:
  name: http-service
spec:
  selector:
    app: http-http
  ports:
    - protocol: TCP
      port: 8085
---
apiVersion: v1
kind: Service
metadata:
  name: grpc-service
spec:
  selector:
    app: http-grpc
  ports:
    - protocol: TCP
      port: 9000
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы