如果定义为NodePort的k8服务没有定义nodeport no会怎样?
What will happen if nodeport no is not define for k8 service which defined as NodePort?
假设我有 4 个部署文件,为此我有 1 个组合服务文件,它将为所有 4 个服务创建服务对象 (deployment.yaml)。现在我只想将 1 个服务 pod 公开为 NodePort 服务,为此我定义了节点端口以及端口和目标端口。
对于其余的 3 个服务,我只定义了端口和目标端口,而不是节点端口。
问题是,在这种情况下,K8 master 是否为未定义节点端口的其余 3 个服务分配了一些随机节点端口?
Service.YAML:
我总是可以为 4 个服务声明 4 个节点端口。但是 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 中定义的其他端口。在您的情况下,您最终会得到四个节点端口
假设我有 4 个部署文件,为此我有 1 个组合服务文件,它将为所有 4 个服务创建服务对象 (deployment.yaml)。现在我只想将 1 个服务 pod 公开为 NodePort 服务,为此我定义了节点端口以及端口和目标端口。 对于其余的 3 个服务,我只定义了端口和目标端口,而不是节点端口。 问题是,在这种情况下,K8 master 是否为未定义节点端口的其余 3 个服务分配了一些随机节点端口? Service.YAML:
我总是可以为 4 个服务声明 4 个节点端口。但是 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 中定义的其他端口。在您的情况下,您最终会得到四个节点端口