为入口负载均衡器设置自定义端口

时间:2017-09-01 14:34:43

标签: kubernetes devops rancher

我的配置如下。如何为入口负载均衡器设置不同的端口?

服务:

kind: Service
apiVersion: v1
metadata:
  name: docker-service
  namespace: mp-prod
spec:
  type: NodePort
  selector:
    app: dockerprod
  ports:
    - name: http
      protocol: TCP
      port: 0909
      targetPort: 8909

入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: dockeringress
  namespace: mp-prod
spec:
  backend:
    serviceName: docker-service
    servicePort: 0909

2 个答案:

答案 0 :(得分:0)

目前没有便携式(在不同类型的入口/云提供商之间)实现此目的。

您可以使用类似proxy-to-server的内容并自行创建L4负载均衡器。

答案 1 :(得分:0)

也许您可以尝试一下。

  1. 添加这样的ConfigMap
kind: ConfigMap
apiVersion: v1
metadata:
  name: nginx-config
data:
   public-ports: "80;443;<custom port>"
   private-ports: "80;443;<custom port>"
  1. 像这样在您的入口中添加注释
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.bluemix.net/tcp-ports: "serviceName=docker-service ingressPort=<custom port> servicePort=0909"
  name: dockeringress
  namespace: mp-prod
spec:
  backend:
    serviceName: docker-service
    servicePort: 0909

之后,您可以通过入口通过特定端口访问服务。