gpt4 book ai didi

docker - 具有多个后端端口的kubernetes负载均衡器

转载 作者:行者123 更新时间:2023-12-02 11:49:37 24 4
gpt4 key购买 nike

我有一个具有三种不同后端类型的应用程序。他们每个人都在不同的端口上监听(例如8080、8180、8280)。
现在,我想使用http://example.com:{8080,8180,8280}访问它们。为了安全起见,每个服务应运行两个Pod。

  • 具有多个后端的yaml文件应如何显示,每个后端都有不同的端口?
  • 我可以在同一文件中包含副本的定义吗?还是在kubernetes中有某种主文件可以包含其他文件?
  • 最佳答案

    为此,您将创建多个服务,有关详细信息,请参见http://kubernetes.io/docs/user-guide/services/

    一个示例可能看起来像(使用yaml,也可以使用json):

    apiVersion: v1
    kind: Service
    metadata:
    name: yourservice_1
    namespace: default
    labels:
    component: yourcomponent
    spec:
    type: NodePort
    selector:
    component: yourcomponent
    ports:
    - name: http
    port: 8080
    protocol: TCP
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: yourservice_2
    namespace: default
    labels:
    component: yourcomponent
    spec:
    type: NodePort
    selector:
    component: yourcomponent
    ports:
    - name: http
    port: 8081
    protocol: TCP
    ---
    Etc.

    并回答问题的第二部分:

    --- 在单个文件中具有多个定义(可以是服务,可以是任何kubernetes yaml)。

    但是,我建议为服务使用一个单独的文件,因为它们通常通常只加载一次,并为您的pod定义提供一个单独的文件(因为更改的频率会更高)。

    多重服务定义要注意的一件事:在(至少我使用的Kubernetes 1.3.5 / 1.3.6,版本)中,存在一个失控的pod问题,其中选择器的某些组合导致kubernetes的启动与尽可能多的 pod 。为防止这种情况:测试和试验。只要您避免这种情况,它就会起作用。

    也可以使用一个服务入口点,并且可以将其定义为:
    apiVersion: v1
    kind: Service
    metadata:
    name: yourservice_1
    namespace: default
    labels:
    component: yourcomponent
    spec:
    type: NodePort
    selector:
    component: yourcomponent
    ports:
    - name: http
    port: 8080
    protocol: TCP
    - name: http2
    port: 8081
    protocol: TCP
    - name: http2
    port: 8082
    protocol: TCP

    关于docker - 具有多个后端端口的kubernetes负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41419988/

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