У меня есть контейнер с приложением для обработки бэкэнда, который подключается только к другим сервисам, но не предоставляет никаких портов, которые он слушает. Например, в моем случае он подключается к JMS-брокеру и использует Rest API другого сервиса.
Я хочу развернуть этот контейнер вместе с JMS-брокером и сервером с Rest API для kubernetes. Поэтому в настоящее время у меня есть следующие объекты API kubernetes для приложения обработки бэкэнда:
---
kind: "Deployment"
apiVersion: "extensions/v1beta1"
metadata:
name: "foo-processing-module"
namespace: "foo-4"
labels:
foo.version: "0.0.1-SNAPSHOT"
k8s-app: "foo-processing-module"
annotations:
deployment.kubernetes.io/revision: "1"
description: "Processing Modules App for foo"
spec:
replicas: 1
selector:
matchLabels:
foo.version: "0.0.1-SNAPSHOT"
k8s-app: "foo-processing-module"
template:
metadata:
name: "foo-processing-module"
labels:
foo.version: "0.0.1-SNAPSHOT"
k8s-app: "foo-processing-module"
annotations:
description: "Processing Modules App for foo"
spec:
containers:
-
name: "foo-processing-module"
image: "foo/foo-processing-module-docker:0.0.1-SNAPSHOT"
resources: {}
terminationMessagePath: "/dev/termination-log"
terminationMessagePolicy: "File"
imagePullPolicy: "IfNotPresent"
securityContext:
privileged: false
restartPolicy: "Always"
terminationGracePeriodSeconds: 30
dnsPolicy: "ClusterFirst"
securityContext: {}
schedulerName: "default-scheduler"
strategy:
type: "RollingUpdate"
rollingUpdate:
maxUnavailable: "25%"
maxSurge: "25%"
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
---
kind: "Service"
apiVersion: "v1"
metadata:
name: "foo-processing-module"
namespace: "foo-4"
labels:
foo.version: "0.0.1-SNAPSHOT"
k8s-app: "foo-processing-module"
annotations:
description: "Processing Modules App for foo"
spec:
selector:
foo.version: "0.0.1-SNAPSHOT"
k8s-app: "foo-processing-module"
type: "LoadBalancer"
sessionAffinity: "None"
externalTrafficPolicy: "Cluster"
Однако, когда я использую kubectl create
, я получаю следующее сообщение об ошибке при создании вышеуказанных объектов API:
Error from server (Invalid): error when creating "foo.yml": Service "foo-processing-module" is invalid: spec.ports: Required value
error converting YAML to JSON: yaml: line 22: did not find expected <document start>
Что мне нужно сделать, чтобы устранить ошибку? Является ли kubernetes Service
даже правильным объектом API для использования в этом случае?