我有一个嵌套的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项目下),我想将它们合并为一个大代码片段。
答案 0 :(得分:3)
目前没有选择在Kubernetes中使用诸如include之类的东西。也许将来,他们会添加这样的选项。
很正确,您可以创建一个大文件,并为每个新配置使用'---'分隔符。
但是,您还有另一个选择:使用-f键,例如:
kubectl apply -f ./file1 ./file2 ./file3 etc
有关更多详细信息,请参阅Kubernetes documentation