Kubernetes代理多个端口

时间:2015-12-03 17:46:35

标签: kubernetes

当我打开多个端口时,是否可以使用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
}

1 个答案:

答案 0 :(得分:0)

您应该能够在末尾附加实际端口或端口名称。

顺便说一下,看起来你的主人没有防火墙,如果这是真的我建议不要让它在集群外可以访问并在你的localhost上运行kubectl代理,这将为主人创建一个代理,然后你可以点击: http://localhost:8001/api/v1/proxy/namespaces/test/services/influx:8083/