【发布时间】:2021-10-07 06:45:22
【问题描述】:
我正在尝试为我已部署的其中一个 pod 创建一个服务:NodePort,
以下是我的服务定义
apiVersion: v1
kind: Service
metadata:
name: voting-service
labels:
name: voting-service
app: demo-voting-app
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
nodePort: 30004
selector:
name: voting-app-pod
app: demo-voting-app
我正在使用以下命令部署此服务
kubectl create -f voting-app-service.yaml
这是错误
The Service "voting-service" is invalid: spec.ports[0].nodePort: Invalid value: 30004: provided port is already allocated
所以我尝试使用 netstat 和 lsof 命令查找使用端口 30004 的服务,但找不到使用该端口的任何服务。
➜ Voting-app kubectl create -f voting-app-service.yaml
The Service "voting-service" is invalid: spec.ports[0].nodePort: Invalid value: 30004: provided port is already allocated
➜ Voting-app sudo netstat -lntp | grep 30004
➜ Voting-app lsof -i :30004
➜ Voting-app
minikube 版本:v1.22.0 kubectl : 1.21 版本
【问题讨论】:
-
您可以在服务文件中更改端口并应用它。
-
@HarshManvar 是的,我同意你的观点,即使端口是空闲的,我如何才能找到为什么会出现此错误?
-
找到它,我的另一个 pod 使用该端口,使用 kubectl get svc 命令得到它。
标签: kubernetes kubectl minikube