Можно ли объединить малые конфигурации Kubernetes в большую? - PullRequest
0 голосов
/ 27 июня 2018

У меня есть вложенная структура проекта maven, некоторые из артефактов Maven содержат также конфигурации Kubernetes. Когда я завершу полное развертывание проектов, я хочу объединить все конфигурации Kubernetes и запустить их централизованно.

Это что-то вроде операторов импорта в Spring Application Context, конечно, я могу взять эту маленькую конфигурацию x и скопировать / вставить в один большой файл, но затем мне нужно сохранить изменения в 2 разных местах, чего я не хочу ...

Я не могу найти механизм «импорта», похожий на Spring в документации Kubernetes, я могу написать что-нибудь с Maven и Groovy, чтобы объединить все эти маленькие файлы конфигурации в один большой, но это какое-то направление, которое я действительно не понимаю » Я не хочу идти.

Фрагмент кода из конфигурации будет выглядеть примерно так ...


kind: Deployment
apiVersion: apps/v1beta2
metadata:
 name: apimanagementstore-deployment
 namespace: api-management
spec:
  replicas: 1
  selector:
   matchLabels:
    k8s-app: api-management-store
  template:
   metadata:
    labels:
     k8s-app: api-management-store
   spec:
    containers:
    - name: apimanagementstore
      image: localhost:5000/api_management_store
      ports:
      - containerPort: 8383
        protocol: TCP

---
#------------ Service ----------------#

kind: Service
apiVersion: v1
metadata:
 labels:
  k8s-app: api-management-store
 name: api-management-store
 namespace: api-management
spec:
 ports:
  - port: 8383
    targetPort: 8383
 selector:
  k8s-app: api-management-store

 

У меня есть несколько фрагментов (все они находятся в отдельном проекте Maven), и я хочу объединить их в один большой.

1 Ответ

0 голосов
/ 27 июня 2018

Сейчас нет возможности использовать что-то вроде include в Kubernetes. Возможно, в будущем они добавят такую ​​опцию.

Вы правы, что можете создать один большой файл и использовать разделители '---' для каждой новой конфигурации.

Однако у вас также есть другая опция: используйте ключ -f, например:

kubectl apply -f ./file1 ./file2 ./file3 etc 

Подробнее см. Документация Kubernetes

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