kubernetes - 如何在“暴露”后将 kubernetes 服务作为规范 yaml 获取?
问题描述
我对 kubernetes 很陌生,我发现它有点令人困惑,我想知道它到底是做什么 kubectl expose deployment xxx--type=LoadBalancer --name=xxx
的。所以我想知道是否有可能以某种方式将此服务提取到 yaml 规范定义中。
我知道我正在创建一项服务,但不确定他是如何自动计算出所有端口的。我想在一个文件中有同样的东西来运行它kubectl apply -f ./service.yaml
。
解决方案
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
推荐阅读
- javascript - 如何使中间件在页面加载之前完成对服务器的异步请求并提交到 Vuex 存储?
- angular - kendoGrid 弹出自定义验证,多个字段
- javascript - 我应该在测试中使用 toHaveBeenCalledTimes 来计算调用了多少次调度吗?
- javascript - 如果用户交互,则暂停自主功能?
- python - vscode 中的 Python 版本设置为 2.7,而 3.7 应该正在运行。如何修复工作区和用户设置以使其正常工作?
- hana - SAP HANA 历史表何时(不)使用,优点/缺点
- html - 在输入字段和 input-group-addon 之间添加标签
- java - 使用 maven 的基于 Spring 引导配置文件的 WAR
- vulkan - 为什么我需要每个交换链图像的资源
- scala - 具有可变十进制精度的双精度格式