Kubernetes NodePort 自定义端口
Kubernetes NodePort Custom Port
有没有办法在 kubernetes 服务 YAML 定义中指定自定义 NodePort 端口?
我需要能够在我的配置文件中明确定义端口。
您可以在 Service
部署中设置类型 NodePort
。请注意,为您的 API 服务器配置了一个 Node Port Range
,选项为 --service-node-port-range
(默认为 30000-32767
)。您还可以通过在 Port
对象下设置 nodePort
属性来专门指定该范围内的端口,否则系统将为您选择该范围内的端口。
所以指定 NodePort
的 Service
示例将如下所示:
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
name: nginx
spec:
type: NodePort
ports:
- port: 80
nodePort: 30080
name: http
- port: 443
nodePort: 30443
name: https
selector:
name: nginx
有关 NodePort 的详细信息,请参阅 this doc. For configuring API Server Node Port range please see this。
您可以在 service.yaml 文件
中使用 nodeport 定义静态 NodePort
spec:
type: NodePort
ports:
- port: 3000
nodePort: 31001
name: http
你实际上可以 运行 这个命令看看你如何在 yaml 中实现它。
kubectl create service hello-svc --tcp=80:80 --type NodePort --node-port 30080 -o yaml --dry-run > hello-svc.yaml
https://pachehra.blogspot.com/2019/11/kubernetes-imperative-commands-with.html
是的,你可以自己定义这三个端口
apiVersion: v1
kind: Service
metadata:
name: posts-srv
spec:
type: NodePort
selector:
app: posts
ports:
- name: posts
protocol: TCP
port: 4000
targetPort: 4000
nodePort: 31515
需要在不创建yaml文件的情况下使用kubectl命令的,可以创建指定端口的NodePort服务:
kubectl create nodeport NAME [--tcp=port:targetPort] [--dry-run=server|client|none]
例如:
kubectl create service nodeport myservice --node-port=31000 --tcp=3000:80
您可以查看 Kubectl 参考以获取更多信息:
有没有办法在 kubernetes 服务 YAML 定义中指定自定义 NodePort 端口? 我需要能够在我的配置文件中明确定义端口。
您可以在 Service
部署中设置类型 NodePort
。请注意,为您的 API 服务器配置了一个 Node Port Range
,选项为 --service-node-port-range
(默认为 30000-32767
)。您还可以通过在 Port
对象下设置 nodePort
属性来专门指定该范围内的端口,否则系统将为您选择该范围内的端口。
所以指定 NodePort
的 Service
示例将如下所示:
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
name: nginx
spec:
type: NodePort
ports:
- port: 80
nodePort: 30080
name: http
- port: 443
nodePort: 30443
name: https
selector:
name: nginx
有关 NodePort 的详细信息,请参阅 this doc. For configuring API Server Node Port range please see this。
您可以在 service.yaml 文件
中使用 nodeport 定义静态 NodePortspec:
type: NodePort
ports:
- port: 3000
nodePort: 31001
name: http
你实际上可以 运行 这个命令看看你如何在 yaml 中实现它。
kubectl create service hello-svc --tcp=80:80 --type NodePort --node-port 30080 -o yaml --dry-run > hello-svc.yaml
https://pachehra.blogspot.com/2019/11/kubernetes-imperative-commands-with.html
是的,你可以自己定义这三个端口
apiVersion: v1
kind: Service
metadata:
name: posts-srv
spec:
type: NodePort
selector:
app: posts
ports:
- name: posts
protocol: TCP
port: 4000
targetPort: 4000
nodePort: 31515
需要在不创建yaml文件的情况下使用kubectl命令的,可以创建指定端口的NodePort服务:
kubectl create nodeport NAME [--tcp=port:targetPort] [--dry-run=server|client|none]
例如:
kubectl create service nodeport myservice --node-port=31000 --tcp=3000:80
您可以查看 Kubectl 参考以获取更多信息: