Kompose转换Docker Compose生成多文件?能否单文件定义K8s全栈?
关于K8s应用栈定义与UI上传的解答
1. 能否用单个文件定义完整的K8s应用栈?
当然可以!Kubernetes支持在单个YAML文件中通过---分隔符来定义多个资源对象(比如Deployment、Service、Ingress等)。
其实你用kompose的时候,只需要加个参数就能直接生成单文件的配置:
kompose convert -o k8s-stack.yaml
这个命令会把原本分散的Deployment、Service等所有资源合并到k8s-stack.yaml里。后续部署的时候,直接执行kubectl apply -f k8s-stack.yaml就能一次性创建所有资源,管理和维护起来也更方便。
2. 通过K8s UI上传栈是否必须逐个上传文件?
不需要逐个上传!以Kubernetes Dashboard为例,在“创建资源”的“从文件创建”选项中,你可以直接选择多个生成的YAML文件一次性上传;更高效的方式是用上面提到的合并后的单个文件,直接上传这一个文件就搞定了。
另外提一句,如果你习惯用命令行,kubectl apply -f ./(指当前目录下所有YAML文件)也能一次性部署所有资源,比UI操作更快捷。
内容的提问来源于stack exchange,提问作者Philip Kirkbride
相关产品推荐
相关产品推荐

