问题标签 [cloud-bare-metal]
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.
kubernetes - 配置 Istio、Kubernetes 和 MetalLB 以使用 Istio LoadBalancer
我正在努力在裸机实例上使用 MetalLB、Kubernetes、Istio 进行配置的最后一步,即通过 Istio VirtualService 路由将网页从服务返回到外部世界。我刚刚将实例更新为
- MetalLB(版本 0.7.3)
- Kubernetes(版本 1.12.2)
- Istio(版本 1.0.3)
我将从有效的方法开始。
所有补充服务都已部署,并且大部分都在工作:
- http://localhost:8001上的 Kubernetes 仪表板
- http://localhost:10010上的 Prometheus 仪表板(我在 9009 上还有其他内容)
- http://localhost:15000上的 Envoy 管理员
- http://localhost:3000上的 Grafana(Istio 仪表板)
- http://localhost:16686上的 Jaeger
我说的最多是因为自从升级到 Istio 1.0.3 后,我在 Jaeger 仪表板中丢失了来自 istio-ingressgateway 的遥测数据,我不知道如何将其恢复。我已经放弃了 pod 并重新创建,但没有用。
除此之外,MetalLB 和 K8S 似乎工作正常,并且负载均衡器配置正确(使用 ARP)。
我可以使用以下方法公开我的部署:
一切正常,我可以从外部负载平衡 IP 地址访问网页(此后我删除了暴露的服务)。
如果我在默认命名空间中创建 K8S 服务(我尝试了多个)
接着是网关和路由(VirtualService),我得到的唯一响应是网格外的 404。您会在网关中看到我使用保留字网格,但我已经尝试过这两种方法并命名特定网关。我还为特定的 URI 和端口尝试了不同的匹配前缀,您可以在下面看到。
网关
虚拟服务
我已经仔细检查了它不是在播放 DNS,因为我可以通过busybox 或使用 K8S 仪表板进入入口网关的外壳
并做两个
和
并且两者都成功运行,所以我知道 ingress-gateway pod 可以看到这些。Sidecar 在默认命名空间和 istio-system 命名空间中都设置为自动注入。
入口网关的日志显示 404:
192.168.224.168:80 是网关的 IP 地址。192.168.1.90:53960 是我的外部客户端的 IP 地址。
任何建议,我已经尝试从多个角度进行几天了,我觉得我只是错过了一些简单的东西。建议的日志可能会看?
virtualization - Hyper-v 备份解决方案
我可以在 Linux 中安装 Hyper-V 吗?假设我们的 Hyper-V 管理器安装在 windows server 中。我可以在 Linux 上备份吗?备份 Hyper-V 管理器的最佳解决方案是什么?
kubernetes - 如何配置 Kubernetes 裸机入口控制器来监听端口 80?
我有一个 Kubernetes 设置,有 1 个主服务器和 1 个从属服务器,托管在 DigitalOcean Droplets 上。为了公开我的服务,我想使用 Ingresses。
由于我安装了裸机,我必须配置自己的入口控制器。 如何让它监听端口 443 或 80 而不是 30000-32767 范围?
为了设置入口控制器,我使用了本指南:https ://kubernetes.github.io/ingress-nginx/deploy/
我的控制器服务如下所示:
现在很明显,因为 NodePort 范围是 30000-32767,所以这个控制器没有映射到端口 80 或 443:
kubernetes - 将 LoadBalancer 用于裸机单节点 kubernetes 集群
环境:Ubuntu 18.06裸机,用kubeadm搭建集群(单节点)
我想通过端口 80 访问集群。目前我可以通过 nodePort:domain.com:31668/
但不能通过端口 80 访问它。我正在使用metallb
是否需要其他东西来处理传入流量?
所以当前的拓扑是:
负载平衡器 > 入口控制器 > 入口 > 服务
kubectl -n ingress-nginx 描述服务/ingress-nginx:
当我使用裸机环境时,我正在使用
metallb
.
metallb 配置:
入口控制器 yml 的:
curl -v http://192.168.1.240的输出(在服务器内部执行)
kubectl 描述入口文章服务入口
curl -vH '主机:elpsit.com' http://192.168.1.240/articleservice/system/ipaddr
nginx - 使用来自不同子网的裸机服务器设置 Kubernetes 集群
我现在在做什么:
我拥有许多 VPS,我使用这些 VPS 来使用 Docker compose 部署应用程序,大多数机器来自不同的子网并具有公共静态 IP 地址。
对于每个新应用程序,我会选择一个随机 VPS,为新应用程序的子域的 DNS 分配 VPS 的 IP 地址,并将我的应用程序部署在 Nginx 代理 (jwilder Nginx) 后面的这个 VPS 中。
这种方法在我看来非常舒服,因为 jwilder 的 Nginx 几乎为我完成了工作,我只需要分配正确的 DNS。
我想要达到的目标:
出于学习的目的,我想把机器拿来做一个 Kubernetes 集群,这样我就可以更多地了解这项技术。我的想法是我只需将新子域的 DNS 分配给一个点,它也扮演负载均衡器的角色并将流量传递到相应的 Pod。
要将流量重定向到新应用程序,我只需配置负载均衡器。
我的问题:
我知道这个问题不是很精确,因为我不太了解 Kubernetes。此外,我的服务器不是来自像 Google 或 AWS 这样的云提供商,因此我无法使用他们的解决方案。他们甚至不是来自单一的云提供商,其中大多数来自我的大学,有些来自私有云提供商。
谁能告诉我如何实现这一目标?
amazon-ec2 - AWS EC2 裸机实例 | 获取串行控制台日志
我想从 AWS 的裸机实例中捕获串行控制台日志。目前,根据 AWS CLI,get-console-output API 可用于获取在特定实例转换时保存的控制台日志 (64KB)。
要获取当前日志,必须将 --latest 传递给获取控制台当前日志的查询。这也被限制为 64KB。我可以添加一个脚本来轮询控制台输出并在后处理中构建所有日志,但这可能太麻烦了。
有没有更简单的方法可以将控制台日志从 AWS 金属实例连续流式传输到我的机器?