是否可以将小型Kubernetes配置与大型配置组合在一起

时间:2018-06-27 07:47:34

标签: kubernetes

我有一个嵌套的Maven项目结构,其中一些Maven Artefacts也包含Kubernetes配置,当我完全部署项目时,我想结合所有Kubernetes配置并集中运行。

这类似于Spring Application Context的“ import”语句,我当然可以采用这个小的配置x并将其复制/粘贴到一个大文件中,但是然后我必须在2个不同的地方维护更改,而我不想...

我在Kubernetes文档中找不到类似于Spring的“导入”机制,我可以用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 :(得分:3)

目前没有选择在Kubernetes中使用诸如include之类的东西。也许将来,他们会添加这样的选项。

很正确,您可以创建一个大文件,并为每个新配置使用'---'分隔符。

但是,您还有另一个选择:使用-f键,例如:

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

有关更多详细信息,请参阅Kubernetes documentation