我正在将Docker For Desktop与内置的Kubernetes集群一起使用。我已经安装了Pod
通过HTTP服务资源的,但是我不确定如何使用浏览器访问它。我具有以下ServiceSpec
将流量正确路由到的内容Pod
:
spec:
clusterIP: 10.99.132.220
externalTrafficPolicy: Cluster
ports:
- name: myport
nodePort: 31534
port: 8037
protocol: TCP
targetPort: 80
type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)
当我使用以下命令查询它时,我可以看到它的设置kubectl
:
$ kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
myservice LoadBalancer 10.99.132.220 localhost 8037:31534/TCP 1h
Run Code Online (Sandbox Code Playgroud)
如何使用浏览器访问此服务?
aed*_*edm 16
kubectl port-forward <my-pod-name> 4000:8037
Run Code Online (Sandbox Code Playgroud)
您的 Pod 的内部端口 (8037) 将可以在 上访问localhost:4000
。文档在这里。
Cor*_*ein 10
该服务将在您的浏览器中提供,网址为http://localhost:8037
请注意,端口8037
对应于对象port
上的ServiceSpec
属性。
如果您无法通过该 URL 访问该服务,则可能是以下几种情况之一,包括但不限于:
Service
您的集群中有另一个已声明该端口。删除另一个Service
,或将port
属性更改为无人认领的端口。Pod
没有运行并准备好。检查kubectl get pods
。小智 6
对于本地开发,您可能希望使用NodePort
服务类型(请参阅https://kubernetes.io/docs/concepts/services-networking/service/#nodeport)。nodePort
顾名思义,这会将给定的 绑定到节点的端口(对于 docker-on-desktop 应该是 localhost)。
然后该服务应该可用 ob http://localhost:31534。
归档时间: |
|
查看次数: |
1430 次 |
最近记录: |