当我打开多个端口时,是否可以使用kubernetes api服务器的代理功能转到我在服务上打开的特定端口?
我看过swagger api规范,似乎没有任何参数可以选择服务的潜在多个端口之一。
我有这个涌入服务:
apiVersion: v1
kind: Service
metadata:
labels:
base_name: influx
name: influx
namespace: test
spec:
clusterIP: 10.3.0.12
ports:
- name: admin-panel
nodePort: 32646
port: 8083
protocol: TCP
targetPort: 8083
- name: api
nodePort: 32613
port: 8086
protocol: TCP
targetPort: 8086
- name: snapshots
nodePort: 30586
port: 8087
protocol: TCP
targetPort: 8087
selector:
base_name: influx
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
我试图通过kubernetes api代理访问admin-pannel,如下所示:
https://kube-master/api/v1/proxy/namespaces/test/services/influx
导致503错误
{
kind: "Status",
apiVersion: "v1",
metadata: { },
status: "Failure",
message: "no endpoints available for service "influx"",
reason: "ServiceUnavailable",
code: 503
}
答案 0 :(得分:0)
您应该能够在末尾附加实际端口或端口名称。
顺便说一下,看起来你的主人没有防火墙,如果这是真的我建议不要让它在集群外可以访问并在你的localhost上运行kubectl代理,这将为主人创建一个代理,然后你可以点击: http://localhost:8001/api/v1/proxy/namespaces/test/services/influx:8083/