我正在尝试为我部署的其中一个 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 版本
任何帮助,非常感谢。
答案 0 :(得分:0)
正如@HarshManvar 提到的,您可以更改服务文件中未分配的端口。
后来您发现端口 30004
已经分配,因为有一个 pod 使用该端口:
kubectl 获取 svc | grep 30004