问题标签 [internal-load-balancer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ssl - SSL 上的 VIP URL 在 MVC 应用程序表单身份验证时立即注销
我在 MVC 4 C#.NET Web 应用程序中遇到问题。我的 Web 应用程序托管在两个 Web 服务器上,并且这两个 Web 服务器通过负载均衡器指向 VIP。当我尝试使用单个服务器 URL 时,应用程序运行良好。但是当我尝试使用 VIP URL 时,能够使用应用程序登录,如果我单击任何菜单,应用程序将再次进入登录屏幕。应用程序正在运行 SSL。我正在使用表单身份验证。
检查负载平衡器端,服务器配置正确。使用粘性会话。机器密钥在两个 Web 服务器中配置为相同。
为什么应用程序仅使用 VIP URL 注销。
我用 Fiddler 跟踪过,得到 302 错误。在把我踢出去时检查了 cookie,cookie 没有在浏览器和 SSL 上清除,cookie 显示两个具有相同的 AuthCookie 一个有内容,一个没有内容值。如果再次登录,可以登录但单击任何菜单相同的行为,它会被踢出。
amazon-web-services - 如何在具有私有拓扑和内部负载平衡器的 AWS 上连接到我的集群?
我正在使用以下命令创建集群:
kops 创建集群 --zones us-west-1c --master-size=m4.large --node-size=m5.large ${NAME} --associate-public-ip=false --topology private --api- loadbalancer-type internal --networking calico --vpc vpc-xxxxxxxx --cloud-labels="Creator=revor,Description=YM k8 cluster,ENV=int,Name=SMV_INT_YMK8,Requestor=Rey Reymond,code=5483"
集群在 aws 中创建。到目前为止,一切都很好。但问题是,当我跑步时,kops validate cluster
我得到:
验证期间验证集群 xxx.xxx.xx 出现意外错误:错误列出节点:获取https://api。xxx.xxx.xx/api/v1/nodes:拨号 tcp 172.30.xx.xx:443:getsockopt:连接被拒绝
当我跑步时,kubectl get nodes
我得到:
无法连接到服务器:拨打 tcp 172.30.xx.xx:443: i/o timeout
另外,当我跑步时,ssh -i ~/.ssh/id_rsa admin@api.xxx.xxx.xx
我得到:
sh:连接到主机 api。xxx.xxx.xx 端口 22:连接被拒绝
我的问题是为什么我无法连接到我的集群以及为什么会出现上述错误?
如上面的命令所示,我的集群被定义为具有私有拓扑,没有公共 IP 地址和内部负载均衡器。我想知道这是否意味着我不应该能够连接到我的集群并且预期会出现上述错误?
amazon-web-services - AWS 线索者 - 了解内部负载均衡器和入口
我在 AWS 中有一个集群,它设置为 Topology=Private 并且有一个内部负载均衡器。现在我正在尝试部署一个 Nginx 入口负载均衡器,以便将应用程序 pod 公开到互联网。
我试图了解在这样的设置中,我的内部负载均衡器(我相信它是弹性负载均衡器)的作用是什么。即使没有内部负载平衡器,我也可以进行此设置吗?事实上,如果没有内部负载均衡器,集群会失去哪些功能?
kubernetes - 增加 Kubernetes 内部负载均衡器/入口的 TCP 超时
我看到对于第 7 层流量,可以设置超时窗口。但是,我想为第 4 层/TCP 流量执行此操作。这可能吗?
gcloud - 无法将 http 运行状况检查附加到 gcloud (cli) 上的 https 后端服务
是否可以在后端服务 (https) 创建期间将其附加到 http 健康检查?
我问这个是因为如果我手动尝试(谷歌云网络控制台),我就能做到。
我的脚本如下:
我收到以下错误:
但如果我手动创建它,谷歌(网络控制台)允许我。
azure - Azure 内部负载均衡器主机名?
Azure 内部负载均衡器是否有隐藏的主机名?我知道公共的有,但我认为内部的在某些时候也有一个带有 *.internal.cloudapp.net 后缀的,类似于虚拟机:
google-cloud-platform - 内部负载平衡器:连接被拒绝
我正在尝试在 GCP 云上设置内部负载均衡器,问题是,当我尝试通过另一个属于同一 VPC 的实例访问相同的负载均衡器时,我面临“连接被拒绝”错误。已检查防火墙规则并交叉检查负载均衡器和尝试访问的独立实例是否位于同一子网中。
load-balancing - 在可变数量的服务器之间拆分流量的算法
我有一个 .NET Core 服务 AAA,它从另一个 Core 服务 BBB 检索一些数据。BBB 有一个内存缓存 (ConcurrentDictionary) 并部署到 10 个盒子。要缓存的数据的总大小约为 100GB。
AAA 将有一个运行 BBB 的服务器列表,我正在考虑做一些类似的事情ServerId = DataItemId % 10
,这样每个盒子都可以服务和缓存总数据集的 10%。我想不出当其中一个 BBB 框出现故障时该怎么办(例如,由于 Windows 更新)。
是否有一些算法可以分割流量,允许服务器上下运行,但仍将大部分请求重定向到已兑现相关数据的服务器?
rest - Pod 之间的 GKE 延迟不佳
我们在 kubernetes 集群 (GKE) 内的通信有一个非常奇怪的行为,具有不可接受的大延迟。对于具有 Memorystore 获取/存储操作和 CloudSQL 查询的端点,延迟在 600 毫秒和 1 秒之间跳跃。在开发环境中本地运行的相同设置(尽管没有 k8s)没有显示出这种延迟。
关于我们的架构:我们在 GKE 上运行一个 k8s 集群,使用 terraform 和服务/部署 (yaml) 文件进行创建(我在下面添加了这些)。我们正在运行两个节点 API (koa.js 2.5)。一个 API 通过入口向公众公开,并通过节点端口连接到 API pod。
另一个 API pod 可以通过 google 的内部负载均衡器进行私有访问。这个 API 连接到我们需要的所有资源(CloudSQL、云存储)。
这两个 API 还连接到 Memorystore (Redis)。
这些 pod 之间的通信由自签名的服务器/客户端证书保护(这不是问题,我们已经暂时将其删除以进行测试)。
我们检查了日志,发现从公共 API 到私有 API 的请求仅需要大约 200 毫秒才能到达。此外,私有 API 对公共 API 的响应大约需要 600 毫秒(从私有 API 的整个业务逻辑被抛出的那一刻开始计算,直到我们在公共 API 收到该响应)
我们真的没有东西可以尝试......我们已经将所有 Google Cloud 资源连接到我们的本地环境,这并没有显示出那种糟糕的延迟。
在完整的本地设置中,延迟仅为我们在云设置中看到的大约 1/5 到 1/10。我们还尝试从 0.100 毫秒区域内的公共 POD ping 私有 POD。
您有什么想法可以让我们进一步调查吗?这是关于我们的 Google Cloud 设置的 terraform 脚本
私有API的服务和部署
和公共的(包括入口)
nginx - 排查 OpenStack Octavia LBaaS v2 错误
我有两台 Ubuntu 18.04 裸机服务器。使用 devstack 部署,我建立了一个多节点(2 个节点)集群,其中一台服务器具有控制器服务和计算,而第二台服务器只有计算。在控制器节点中,我使用 Octavia 启用了 lbaas v2。
我创建了一个具有 1 个主节点和 2 个小节点的 Kubernetes 集群。一些初步测试是成功的。通过 Helm 部署 WordPress 创建了一个负载均衡器,我能够按预期访问该应用程序。
我现在正在尝试设置一个 nginx-ingress 控制器。当我部署我的 nginx-ingress 控制器 LoadBalancer 服务时,我可以看到在 OpenStack 中创建的负载均衡器。但是,尝试使用外部 IP 访问入口控制器总是会导致空回复。
使用 CLI,我可以看到负载均衡器、池和成员。成员条目表明存在错误:
但是,没有迹象表明错误是什么。日志中没有我能找到的相应错误。
使用 kubectl port-forward 我验证了 nginx 入口控制器已启动/运行并正确配置。问题似乎出在负载均衡器上。
我的问题是如何诊断错误是什么?
我只找到了一份与 lbaas v2 相关的故障排除指南,它声称我应该能够在运行时看到 q-lbaas-命名空间:ip netns list
. 但是,没有定义。
使用 helm --dry-run --debug 服务 yaml 是:
有趣的是,与以前的(wordpress)LoadBalancer 服务相比,我注意到 nginx-ingress externalRoutingPolicy 设置为Local,而 wordpress 指定了 Cluster。我更改了 nginx-ingress 图表的 values.yaml 以将 externalRoutingPolicy 设置为 Cluster,现在负载均衡器正在工作。
我们希望将策略保留在“本地”以保留源 IP。关于为什么它不起作用的任何想法?