首页 > 解决方案 > 如何在“暴露”后将 kubernetes 服务作为规范 yaml 获取?

问题描述

我对 kubernetes 很陌生,我发现它有点令人困惑,我想知道它到底是做什么 kubectl expose deployment xxx--type=LoadBalancer --name=xxx的。所以我想知道是否有可能以某种方式将此服务提取到 yaml 规范定义中。

我知道我正在创建一项服务,但不确定他是如何自动计算出所有端口的。我想在一个文件中有同样的东西来运行它kubectl apply -f ./service.yaml

标签: kubernetes

解决方案


kubectl expose 不会自动分配端口。如果 deploymwnt yaml 中提到了任何端口定义,那么只有它使用该端口。否则会出现如下错误:

error: couldn't find port via --port flag or introspection 

在运行时分配端口使用:

kubectl expose deployment xxx --type=NodePort --name=xxx --port=80 --target-port=8080

您可以通过运行以下命令获取 yaml:

kubectl get service xxx -o yaml

推荐阅读