python - 如果没有为定义为 NodePort 的 k8 服务定义 nodeport no 会发生什么?
问题描述
假设我有 4 个部署文件,为此我有 1 个组合服务文件,它将为所有 4 个服务(deployment.yaml)创建服务对象。现在我只想公开 1 个服务 pod 作为 NodePort 服务,为此我定义了 nodeport 以及端口和目标端口。对于其余 3 项服务,我只定义了端口和目标端口,而不是节点端口。问题是,在这种情况下,K8 主机是否为未定义节点端口的 3 个服务的其余部分分配一些随机节点端口?服务.YAML:
我总是可以为 4 个服务声明 4 个 nodePorts。但是 K8s Master 将如何处理以下清单更让我有兴趣探索我的应用程序部署
apiVersion: v1
kind: Service
metadata:
name: myapp-uwsgi-service
namespace: myspace
labels:
central-app: myapp-uwsgi
spec:
clusterIP: 10.3.0.106
type: NodePort
selector:
central-app: configuration-uwsgi
ports:
-
name: service-app-1
port: 10010
targetPort: 10010
nodePort: 32123
-
name: service-app-2
port: 10011
targetPort: 10011
-
name: service-app-3
port: 10012
targetPort: 10012
-
name: service-app-4
port: 10013
targetPort: 10013
我的期望和理解是 3 个服务应用程序的其余部分将从 K8s 主服务器分配一些随机节点端口。
解决方案
服务类型 nodeport 会将随机端口分配给服务 YAML 中定义的其他端口。在您的情况下,您最终会得到四个节点端口
推荐阅读
- reactjs - React Redux Firebase 无法获取 firebase.storage
- c - 关于数组的困惑
- discord - 让 Discord Bot 检查它是否对自己的帖子做出反应
- r - 从 r 中的数据框(或矩阵)中查找前 n 个最大值
- loops - 带有用户输入的汇编程序 Intel x86 循环 n 次
- forms - 选择相同元素时Vue表单选择发出事件
- excel - 将值从 30 本书复制到一本书 - Excel VBA
- codenameone - Cloudinary 图像未显示在 IOS 调试版本上
- r - 为什么将.txt文件导入R时所有变量都压缩为一列
- c - readlines 函数将文本从文件逐行插入到指针传递的字符串数组中