在SO上有许多类似问题的答案,它们都展示了我期望的部署方式,但我的部署并非如此。
我可以使用YAML文件来分配外部IP - 我将其分配为与节点IP地址相同的值。但无论哪种方法都导致无法连接到服务。我还应指出,10个复制的pod均匹配选择器。
运行
- 我正在Windows 10上运行Minikube 0.25,Kubernetes 1.9。
- 我已成功创建了一个节点、一个复制控制器,并且单个Pod模板已经被复制了10次。
- 该节点是Minikube,并分配了IP地址10.49.106.251。
- 仪表板可在10.49.106.251:30000处获得。
我使用YAML文件部署服务,但该服务从未被分配外部IP - 如果我使用kubectl expose
也会得到相同的结果。
我使用的YAML文件:
kind: Service
apiVersion: v1
metadata:
name: hello-service
spec:
type: NodePort
selector:
app: hello-world
ports:
- protocol: TCP
port: 8080
我可以使用YAML文件来分配外部IP - 我将其分配为与节点IP地址相同的值。但无论哪种方法都导致无法连接到服务。我还应指出,10个复制的pod均匹配选择器。
运行
kubectl get svc
命令的结果如下:默认情况下,在更新外部IP后:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-service NodePort 10.108.61.233 <none> 8080:32406/TCP 1m
hello-service NodePort 10.108.61.233 10.49.106.251 8080:32406/TCP 1m
我一直在跟随的教程和其他SO上的答案显示了类似于以下结果:
hello-service NodePort 10.108.61.233 <nodes> 8080:32406/TCP 1m
区别在于外部IP设置为<nodes>
我在本地运行时遇到了许多问题 - 这只是另一种情况吗,还是有其他人已经找到了解决外部IP分配问题的方法?