我正在使用Docker For Desktop和内置的Kubernetes集群。我已经安装了一个通过HTTP提供资源的Pod
,但我不确定如何使用我的浏览器访问它。我有以下ServiceSpec
正确路由到Pod
的流量:
spec:
clusterIP: 10.99.132.220
externalTrafficPolicy: Cluster
ports:
- name: myport
nodePort: 31534
port: 8037
protocol: TCP
targetPort: 80
type: LoadBalancer
当我用kubectl
查询时,我可以看到它的设置:
$ kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
myservice LoadBalancer 10.99.132.220 localhost 8037:31534/TCP 1h
如何使用浏览器访问此服务?
该服务将在您的浏览器http://localhost:8037上提供
请注意,端口8037
对应于port
对象上的ServiceSpec
属性。
如果您无法通过该URL访问该服务,那么它可能是以下几种方式之一,包括但不限于:
Service
声称该端口。删除其他Service
,或将port
属性更改为无人认领的端口。Pod
没有运行准备就绪。检查kubectl get pods
。对于本地开发,您可能希望使用类型NodePort
作为服务(请参阅https://kubernetes.io/docs/concepts/services-networking/service/#nodeport)。这将名称所示的给定nodePort
绑定到节点的端口(对于桌面上的docker应该是localhost)。
然后该服务应该是ob http://localhost:31534。