#kubernetes #fiware-orion
Вопрос:
У меня есть следующий манифест yaml для развертывания механизма Pub/Sub контекстного брокера Orion NGSI:
apiVersion: apps/v1
kind: Deployment
metadata:
name: orion
namespace: kostas
labels:
app: orion
spec:
replicas: 1
selector:
matchLabels:
app: orion
template:
metadata:
labels:
app: orion
spec:
containers:
- name: orion
image: fiware/orion:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 1026
args: ["-dbhost", "mongo:27017", "-logLevel", "INFO"]
А ниже приведен манифест yaml для соответствующей службы Nodeport
apiVersion: v1
kind: Service
metadata:
name: orion
namespace: kostas
spec:
selector:
app: orion
clusterIP: 10.48.0.8
type: NodePort
ports:
- protocol: TCP
port: 1026
targetPort: 1026
nodePort: 32001
Проблема в том, что манифест службы должен быть применен после манифеста развертывания, чтобы попасть в модуль.
С другой стороны, если я сначала применю манифест службы, он не сможет быть сопоставлен с развертыванием при его применении.
Есть какие-нибудь идеи о том, почему это происходит?
Для других микросервисов такой проблемы нет.
Должен ли я включить поле контейнера инициализации в манифест развертывания? Как я должен изменить свой манифест развертывания для такого случая?
Комментарии:
1. Я не понимаю, что вы подразумеваете под «это не может быть сопоставлено с развертыванием, когда оно применяется». Вы получаете сообщение об ошибке ?
2. Нет, мой сервис не отвечает никакой рабочей нагрузке. Как будто это не связано с блоками, созданными в ходе развертывания. Но если я применю сначала развертывание, а во-вторых, сервис, все будет выглядеть нормально. Мне нужно дождаться запуска модуля, прежде чем я применю свой манифест службы.
3. Там написано, что соединение отказало!
4. Это странное поведение, со мной никогда раньше не случалось :/ Вы уверены, что еще одно приложение с селектором «орион» еще не было создано ? Я не знаю тбх
5. Эта служба, по сути, предлагает API REST для операций CRUD с mongodb. Итак, если я сначала применю сервис orion, он соединится с mongo без базового модуля. Так что, может быть, кажется, что тайм-аут существует. Но если я сначала разверну Orion , он будет готов правильно установить соединение с mongo. Поэтому мне нужен способ отложить соединение с монго до того, как капсула ориона будет запущена и запущена. Вы можете подумать, что когда я захожу в контейнер orion и делаю запрос curl с localhost, он снова не отвечает. Итак, проблема в соединении Orion и Mongo db.