AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[load-balancing](server)

Martin Hope
Mark
Asked: 2024-06-29 00:08:58 +0800 CST

K8s - LoadBalancer 服务需要 NodePort 吗?

  • 5

我正在阅读本教程,它说我们需要定义NodePort何时使用服务类型LoadBalancer。

但我见过LoadBalancer没有提供 的服务类型的实现nodePort。这是如何工作的?哪一个是正确的?

截屏: 在此处输入图片描述

load-balancing
  • 1 个回答
  • 37 Views
Martin Hope
zip_000
Asked: 2024-06-21 01:48:18 +0800 CST

重定向到新域名的 HSTS 最佳方法

  • 5

情况:我们管理的一个网站迁移到了一个新的托管解决方案,并且将拥有一个新域名。客户希望保留旧域名,并将其重定向到托管解决方案中的新域名(我们基本上无法控制)。

我在 AWS 应用程序负载均衡器级别添加了 301 重定向。它可以很好地将流量从旧 URL 分流到新 URL。但问题是,安全人员要求旧 URL(如果要继续)需要使用 HSTS 标头进行响应。这有点超出我的能力范围,我还没有想出很好的解决方案。

我能想到的唯一可行的解​​决方案(尚未测试,因为我希望有更好的解决方案)是在后端维护服务器,让其在提供重定向之前提供 HSTS 标头。这似乎有点过分 - 维护服务器只是为了添加标头。

阅读此处的文档和其他线程,听起来我不能将 HSTS 标头直接添加到 ALB 响应中。

我想现在看到的选择是:

  1. 说服客户放弃旧域名
  2. 让安全人员相信旧域名没有 HSTS 是可以接受的
  3. 保持服务器运行以提供 HSTS(如果可行的话)
  4. 还有别的吗?
load-balancing
  • 1 个回答
  • 26 Views
Martin Hope
Jo Colina
Asked: 2024-03-10 22:33:39 +0800 CST

K3S:了解网络模型并应用TLS证书

  • 7

为了更多地了解 K8S,我开始运行单个服务器/节点 K3S 集群作为家庭实验室。但我相信我对网络模型的理解已经陷入僵局,也许是针对 K3S 的。

到目前为止一切顺利,除了我想将 TLS 证书应用于我设置的一些服务+入口。

在其中一个中,我将 TLS 证书配置为机密并将其应用到与该服务关联的 Ingress,但是我总是得到TRAEFIK DEFAULT CERT,您可以在此处查看。

据我了解,K3S 附带了预先打包的 Traefik 和 ServiceLB,以便不依赖云服务的外部负载均衡器(AWS 等)。我的第一个猜测是 Traefik 会“发现”我的 Ingress 中设置的路由并代理 TLS 流量,从而使用我设置的证书。显然情况并非如此,所以我想我需要为 Traefik 实例本身设置一个 TLS 证书。

我的问题是

  • 如何在 K3S 中设置此证书?如果我计划让多个项目/域访问此集群,我是否需要通配符证书?(我更喜欢管理每个项目的证书)
  • ServiceLB和Traefik在K3S网络模型中的作用是什么?如果 Traefik 收到 80 和 443 流量,是否只是将流量转发到 ServiceLB,然后由 ServiceLB 将其转发到 Ingress 资源?

如果需要,这是我的入口/服务配置


resource kubernetes_service_v1 snitch_service {
  metadata {
    name = "snitch"
    namespace = module.namespace.name
  }


  spec {
    selector = {
      app = "snitch"
    }

    type = "LoadBalancer"

    port {
      name = "main"
      port = 3010
      target_port = 3000
      node_port = 30003
    }
  }
}



resource kubernetes_secret_v1 tls_secret {
  metadata {
    name = "snitch-tls-cert"
    namespace = "my-namespace"
  }

  type = "kubernetes.io/tls"

  data = {
    "tls.crt" = base64encode(my_certificate)
    "tls.key" = base64encode(my_certificate_private_key)
  }
}


resource kubernetes_ingress_v1 snitch_ingress {
  metadata {
    name = "snitch"
    namespace = "my-namespace"

    annotations = {
      "ingress.kubernetes.io/ssl-redirect" = "false"
    }
  }

  spec {
    tls {
      hosts = [local.subdomain]
      secret_name = "snitch-tls-cert"
    }

    rule {
      host = local.subdomain

      http {
        path {
          path = "/"
          path_type = "Prefix"

          backend {
            service {
              name = "snitch"
              port {
                number = 3010
              }
            }
          }
        }
      }
    }
  }
}

谢谢你!

load-balancing
  • 2 个回答
  • 81 Views
Martin Hope
N. J
Asked: 2023-10-24 20:42:28 +0800 CST

具有网络负载均衡器第 3 层/第 4 层(IP 协议)的负载均衡 LDAPS

  • 5

我正在尝试设置一个网络负载均衡器,它根据第 3 层/第 4 层(IP 协议)数据将流量引导到健康的服务器。

问:这适用于 LDAP over SSL (LDAPS) 吗?(我知道第 7 层根据需要执行 TLS/SSL 解密)

我有一个网络负载均衡器,我的两个后端服务器正在运行 LDAP 服务。
运行可以ldapsearch得到如下结果:

目标 询问 地位
后端服务器1 ldapsearch -x -H ldap://<Backend1> 成功的
后端服务器1 ldapsearch -x -H ldaps://<Backend1> 成功的
后端服务器2 ldapsearch -x -H ldap://<Backend2> 成功的
后端服务器2 ldapsearch -x -H ldaps://<Backend2> 成功的
网络负载均衡器 ldapsearch -x -H ldap://<NLB> 成功的
网络负载均衡器 ldapsearch -x -H ldaps://<NLB> 不成功_

关于如何解决这个问题有什么建议吗?

编辑: 运行时ldapsearch -x -H ldaps://<NLB>出现以下错误:

ldap_sasl_interactive_bind: Can't contact LDAP server (-1)
        additional info: (unknown error code)

添加-d1选项:

ldap_url_parse_ext(ldaps://ipa.example.com)
ldap_create
ldap_url_parse_ext(ldaps://ipa.example.com:636/??base)
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP ipa.example.com:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 10.141.4.23:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
attempting to connect:
connect success
TLS: hostname (ipa.example.com) does not match common name in certificate (ipa2.exmaple.com).
TLS: can't connect: (unknown error code).
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

那么...似乎我需要将证书附加到证书中包含 ipa1 和 ipa2 的 NLB?我不确定云提供商是否支持此功能。

注意:我无法通过 SSH 访问 NLB,因为它是一项托管服务。

load-balancing
  • 2 个回答
  • 34 Views
Martin Hope
Szyszka947
Asked: 2023-07-21 17:12:32 +0800 CST

多个负载均衡器如何工作

  • 5

假设我们x每秒面临请求数,其中x是单个负载均衡器无法处理的请求数量。

所以我们必须使用多个负载均衡器来处理所有请求,是吗?但如何呢?我需要对负载均衡器场进行负载均衡吗?糟糕的主意,最后还会出现单个负载均衡器必须处理所有请求的情况。

那么如何使用多个负载均衡器来处理海量的请求呢?

load-balancing
  • 1 个回答
  • 52 Views
Martin Hope
SiegeX
Asked: 2023-07-09 02:13:51 +0800 CST

操作指南:在没有 SAN 的情况下跨 3 个以上节点进行块或文件复制

  • 8

设置

我使用 Nginx(网络服务器)、Neo4J(数据库)和 Wildfly(应用程序服务器)管理当前存在于单个节点上的网站的后端。该网站获得了足够的流量,当前“一体式”节点上的存储和内存资源都受到限制,因此我实例化了另外两个仅运行 WildFly 的 VPS 节点(总共 3 个)。

我已成功将 Nginx 配置为基于网站 URI 中包含的用户 ID 在 3 个节点上使用“哈希”负载平衡功能,以确保用户一致路由到运行 Wildfly 的同一 VPS 节点以优化缓存。

3 个节点中的每个节点都有自己的 150GB 高可用性块存储(由 VPS 提供商维护),其中包含安装的单个/images目录,Wildfly 应用程序将在其各自的节点上读取/写入图像文件。

更新

图像文件应该是一次写入/多次读取(至少对于标称情况),因此始终会创建新图像,但现有图像很少更新。此外,由于 Nginx 的哈希负载平衡,每个 Wildfly 节点都应该拥有路由到它的客户端所需的所有图像。复制的需求实际上有两个方面:

  1. 它使得添加或删除 Wildfly 节点变得透明,因为每个节点都拥有来自其他节点的所有数据
  2. 由于所有内容都整合到一处,因此备份变得更加容易

此外,每个 VPS 节点都是专用千兆位 VLAN 的一部分,VPS 提供商为同一数据中心(我的所有节点都在其中)中的所有节点启用该 VLAN。复制数据将遍历的就是此链接。

问题

/images因为应用程序现在是分布式的,所以我希望完全复制 3 个节点上的每个目录。虽然 Nginx 的“哈希”负载平衡确保每个用户的节点使用一致,但我希望目录的内容是/images所有三个节点的联合,以防其中一个节点出现故障并且需要在整个网络中重新分配用户。其他可用节点。

问题

解决上述问题的最佳方法是什么?据我了解,rsync这不是适合这项工作的工具。有一个服务器故障问题,本质上很相似,但它已经有 12 年历史了,我相信从那时起,数据复制已经取得了一些进展。

在我的研究中,我发现了GlusterFS,它看起来很有前途,但目前还不清楚如何设置它来解决我的问题。我是否会将每个节点上的每个高可用性块存储设备设为单个“砖块”,然后将其组合成单个 Gluster 卷?我想我然后/images在这个单一的 Gluster 卷上创建目录并通过本机 FUSE 客户端将其安装到每个节点?我的直觉告诉我这是不正确的,因为每个节点同时既是客户端又是服务器,因为它们都为 Gluster 卷提供“砖块”和读/写功能,这似乎非常规。

load-balancing
  • 1 个回答
  • 82 Views
Martin Hope
ns15
Asked: 2023-01-25 06:00:52 +0800 CST

负载均衡器可以平衡在同一个 TCP 连接上收到的多个请求吗?

  • 5

(下面是一个假设场景,当我发现 gRPC 负载平衡的复杂性以及由于长期存在的 TCP 连接而效率低下时,我想到了这个问题)

假设有一个 HTTP 客户端维护单个 TCP 长期连接,用于向位于 HA 代理后面的 API 服务发出 HTTP 1.1 请求。该服务有多个冗余服务器部分,我想平衡不同上游服务器之间同一 TCP 连接上的所有请求。这样的事情可能吗?

我知道客户端可以打开多个连接到 LB,这将有助于解决问题。

但我想知道是否可以使用某些 HA 代理配置直接执行此操作。如果没有,为什么缺少这样的功能?是由于某种网络/HTTP 协议限制吗?还是因为有其他解决方法,所以从来不需要这样的功能?

假设 TLS 在 HA 代理处终止,因此它可以执行 L7 路由。HAProxy 也只是一个例子,任何其他 LB/代理,如 Envoy、Nginx 都具有此功能?

load-balancing
  • 1 个回答
  • 47 Views
Martin Hope
Daniel
Asked: 2022-02-15 17:45:27 +0800 CST

我可以有 2 个公共子网和一个 EC2 实例来创建负载均衡器吗?

  • 0

所以我最终想在 AWS 上设置一个经典的负载均衡器,并且我有一个带有 2 个公共子网的 VPC,但是现在我不确定我是否可以将这两个子网用于那个 EC2 实例,还是需要两个 ec2 实例?

load-balancing amazon-ec2 subnet amazon-web-services
  • 1 个回答
  • 105 Views
Martin Hope
RustyShackleford
Asked: 2022-02-15 06:49:53 +0800 CST

使用 AWS ALB 实现 mTLS

  • 1

如果我的基础架构中有一个带有下游 ECS 目标组的 ALB,SSL/TLS 是否总是在 ALB 处终止?

如果是这样,我唯一的选择是 ELB/NLB 来保留 SSL/TLS 上下文吗?

load-balancing amazon-web-services amazon-alb amazon-elb nlb
  • 1 个回答
  • 2455 Views
Martin Hope
Omid Shojaee
Asked: 2022-01-19 02:54:42 +0800 CST

503 负载均衡器处于活动状态时服务不可用

  • 0

我们有两台来自 Hetzner 的云服务器。网络服务器是 Nginx。两台服务器是相同的(硬件、软件和我们的 Web 应用程序)。

LetsEncrypt 证书安装在两台服务器上。Nginx 配置为重定向http到https.

DNS 服务器是 Cloudflare。我们手动将域 A 记录的 IP 地址从服务器 A 切换到服务器 B,反之亦然。

现在我们已经在 Hetzer 中创建了一个负载均衡器,其中包含我们的两台服务器和一项服务:https 443 -> 443.

一旦我们将我们域的 A 记录的 IP 地址更改为 LB 的 IP 地址,我们就会收到503 service unavailable.

请协助。

load-balancing
  • 0 个回答
  • 542 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve