【问题标题】:Kubernetes : Expose service internally within VPNKubernetes:在 VPN 内部公开服务
【发布时间】:2019-01-04 14:39:08
【问题描述】:

我已经使用 kops 创建了 kubernetes 集群

kops create cluster \
    --dns-zone=vpc.abc.in \
    --master-zones=ap-southeast-1a,ap-southeast-1b,ap-southeast-1c \
    --zones=ap-southeast-1a,ap-southeast-1b,ap-southeast-1c \
    --node-count 3 \
    --topology private \
    --networking flannel-vxlan \
    --node-size=t2.medium \
    --master-size=t2.micro \
    ${NAME}

我正在使用私有拓扑和内部负载均衡器。

每当我创建 type=LoadBalancer 的服务时,它都会创建一个面向公众的 ELB,并且 url 可以公开访问。

我想部署 Elastic Search 和 kibana 并使其仅在 VPN 内部可用。我们已经设置了 VPN。

如何使服务在 VPN 中可访问?

【问题讨论】:

    标签: elasticsearch kubernetes kibana kops


    【解决方案1】:

    在您的服务定义中添加以下注释:

    service.beta.kubernetes.io/aws-load-balancer-internal: '"true"'
    

    完整示例:

    kind: Service
    apiVersion: v1
    metadata:
      name: my-service
      annotations:
        service.beta.kubernetes.io/aws-load-balancer-internal: '"true"'
    spec:
      selector:
        app: MyApp
      ports:
      - protocol: TCP
        port: 80
        targetPort: 9376
      type: LoadBalancer
    

    这将提供一个内部 ELB,而不是外部。

    【讨论】:

    • 我确实尝试过,它成功了...这为服务创建了内部负载平衡器...谢谢
    猜你喜欢
    • 1970-01-01
    • 2020-01-31
    • 2020-04-11
    • 2020-04-07
    • 2019-01-10
    • 1970-01-01
    • 2020-06-15
    • 2021-12-21
    • 2018-08-19
    相关资源
    最近更新 更多