对于与网络负载均衡的前提下使用externalIP在kubernetes服务

问题描述 投票:0回答:1

我有3个节点K8集群中的预置设置在我的公司,运行暴露的端口58047 TCP监听。

我们有一个网络负载平衡器,可以此节点上RR。

我可以公开的端口中的每个节点的主机所以NLB会照顾,或者我应该创建暴露将在NLB指定一个外部IP的服务。

这是最好的办法?

NAME                                    READY   STATUS    RESTARTS   AGE
pod/iothubdeployment-57bbb5f4d6-m62df   1/1     Running   1          50m
pod/iothubdeployment-57bbb5f4d6-r9mzr   1/1     Running   1          50m
pod/iothubdeployment-57bbb5f4d6-w5dq4   1/1     Running   0          50m

NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   5d18h

NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/iothubdeployment   3/3     3            3           56m

NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/iothubdeployment-57bbb5f4d6   3         3         3       50m
replicaset.apps/iothubdeployment-6b78b96dc5   0         0         0       56m 

我的部署定义

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: iothubdeployment
spec:
  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 67%
  minReadySeconds: 5
  selector:
    matchLabels:
     app: iothub
  template:
    metadata:
      labels:
        app: iothub
        version: 1.1.0
    spec:
      containers:
        - name: iothubpod
          image: gitlab.dt.local:5555/cere-brum/iot_gateway/iot_hub/iot_hub:latest
          imagePullPolicy: Always
          ports:
          - containerPort: 58047
            hostPort: 58000
            protocol: TCP
      imagePullSecrets:
        - name: regcred
kubernetes
1个回答
1
投票

看起来你直接试图揭露通过主机端口部署。这是不建议:应创建一个指示Kubernetes如何部署暴露在集群外的其它工作负载服务。

一个NodePort服务将允许你以正确曝光在每个节点上部署:那么你的负载均衡器可以被配置为连接到端口上的任何节点的IP地址的。

© www.soinside.com 2019 - 2024. All rights reserved.