gpt4 book ai didi

nginx - 使用 nginx-Ingress 在 Kubernetes 的集群外暴露一个 TCP 端口

转载 作者:可可西里 更新时间:2023-11-01 02:44:04 24 4
gpt4 key购买 nike

因此,我使用 Kubernetes 在 Google 云上设置了我的应用程序。我有一个 Pod,我想将其公开到需要 TCP 请求的集群之外。

我通过 ingress-nginx 了解到这是可能的并对此进行了研究。如 docs here 中所述,可以通过设置如下所示的 configMap 来完成:

apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-configmap-example
data:
9000: "default/my-service-name:7051

,但是没有清楚地描述它的完整用法,我也无法在文档中正确找到完整的示例。

我已经按照 Installation Guide 中的说明安装了 ingress-nginx但我不确定接下来要做什么来公开我的 Pod。

额外信息

  • 我想在集群外公开的 Pod 端口是 7051
  • 我有一个 NodePort 服务,它以我的 Pod 端口为目标,可以与 Ingress 一起使用以公开。

最佳答案

因此,为了实现这一点,您可以这样做:

  1. 首先创建您添加到帖子中的 configMap。
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-configmap-example
data:
9000: "default/my-service-name:7051
  1. 然后通过将此标志添加到容器参数来编辑您的 nginx-ingress-controller 部署,如下所示:

    ...
    containers:
    - name: nginx-ingress-controller
    image: "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1"
    imagePullPolicy: "IfNotPresent"
    args:
    - /nginx-ingress-controller
    - --default-backend-service=nginx-ingress/nginx-ingress-default-backend
    - --election-id=ingress-controller-leader
    - --ingress-class=nginx
    - --configmap=nginx-ingress/nginx-ingress-controller
    - --tcp-services-configmap=default/tcp-configmap-example
    ...
  2. 通过向 LoadBalancer 添加端口来编辑 LoadBalancer 服务

    ...
    ports:
    - name: http
    port: 80
    protocol: TCP
    targetPort: http
    - name: https
    port: 443
    protocol: TCP
    targetPort: https
    - name: some-service-port
    port: 7051
    protocol: TCP

希望对您有所帮助!

关于nginx - 使用 nginx-Ingress 在 Kubernetes 的集群外暴露一个 TCP 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53060092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com