问题标签 [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.

0 投票
1 回答
3235 浏览

kubernetes - 配置 Istio、Kubernetes 和 MetalLB 以使用 Istio LoadBalancer

我正在努力在裸机实例上使用 MetalLB、Kubernetes、Istio 进行配置的最后一步,即通过 Istio VirtualService 路由将网页从服务返回到外部世界。我刚刚将实例更新为

  • MetalLB(版本 0.7.3)
  • Kubernetes(版本 1.12.2)
  • Istio(版本 1.0.3)

我将从有效的方法开始。

所有补充服务都已部署,并且大部分都在工作:

  1. http://localhost:8001上的 Kubernetes 仪表板
  2. http://localhost:10010上的 Prometheus 仪表板(我在 9009 上还有其他内容)
  3. http://localhost:15000上的 Envoy 管理员
  4. http://localhost:3000上的 Grafana(Istio 仪表板)
  5. http://localhost:16686上的 Jaeger

我说的最多是因为自从升级到 Istio 1.0.3 后,我在 Jaeger 仪表板中丢失了来自 istio-ingressgateway 的遥测数据,我不知道如何将其恢复。我已经放弃了 pod 并重新创建,但没有用。

除此之外,MetalLB 和 K8S 似乎工作正常,并且负载均衡器配置正确(使用 ARP)。

我可以使用以下方法公开我的部署:

一切正常,我可以从外部负载平衡 IP 地址访问网页(此后我删除了暴露的服务)。

如果我在默认命名空间中创建 K8S 服务(我尝试了多个)

接着是网关和路由(VirtualService),我得到的唯一响应是网格外的 404。您会在网关中看到我使用保留字网格,但我已经尝试过这两种方法并命名特定网关。我还为特定的 URI 和端口尝试了不同的匹配前缀,您可以在下面看到。

网关

虚拟服务

我已经仔细检查了它不是在播放 DNS,因为我可以通过busybox 或使用 K8S 仪表板进入入口网关的外壳

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/shell/istio-system/istio-ingressgateway-6bbdd58f8c-glzvx/?namespace=istio -系统

并做两个

并且两者都成功运行,所以我知道 ingress-gateway pod 可以看到这些。Sidecar 在默认命名空间和 istio-system 命名空间中都设置为自动注入。

入口网关的日志显示 404:

192.168.224.168:80 是网关的 IP 地址。192.168.1.90:53960 是我的外部客户端的 IP 地址。

任何建议,我已经尝试从多个角度进行几天了,我觉得我只是错过了一些简单的东西。建议的日志可能会看?

0 投票
2 回答
139 浏览

virtualization - Hyper-v 备份解决方案

我可以在 Linux 中安装 Hyper-V 吗?假设我们的 Hyper-V 管理器安装在 windows server 中。我可以在 Linux 上备份吗?备份 Hyper-V 管理器的最佳解决方案是什么?

0 投票
2 回答
1956 浏览

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:

0 投票
0 回答
635 浏览

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

0 投票
1 回答
187 浏览

nginx - 使用来自不同子网的裸机服务器设置 Kubernetes 集群

我现在在做什么:

我拥有许多 VPS,我使用这些 VPS 来使用 Docker compose 部署应用程序,大多数机器来自不同的子网并具有公共静态 IP 地址。

对于每个新应用程序,我会选择一个随机 VPS,为新应用程序的子域的 DNS 分配 VPS 的 IP 地址,并将我的应用程序部署在 Nginx 代理 (jwilder Nginx) 后面的这个 VPS 中。

这种方法在我看来非常舒服,因为 jwilder 的 Nginx 几乎为我完成了工作,我只需要分配正确的 DNS。

我想要达到的目标:

出于学习的目的,我想把机器拿来做一个 Kubernetes 集群,这样我就可以更多地了解这项技术。我的想法是我只需将新子域的 DNS 分配给一个点,它也扮演负载均衡器的角色并将流量传递到相应的 Pod。

要将流量重定向到新应用程序,我只需配置负载均衡器。

我的问题:

我知道这个问题不是很精确,因为我不太了解 Kubernetes。此外,我的服务器不是来自像 Google 或 AWS 这样的云提供商,因此我无法使用他们的解决方案。他们甚至不是来自单一的云提供商,其中大多数来自我的大学,有些来自私有云提供商。

谁能告诉我如何实现这一目标?

0 投票
0 回答
9 浏览

amazon-ec2 - AWS EC2 裸机实例 | 获取串行控制台日志

我想从 AWS 的裸机实例中捕获串行控制台日志。目前,根据 AWS CLI,get-console-output API 可用于获取在特定实例转换时保存的控制台日志 (64KB)。

要获取当前日志,必须将 --latest 传递给获取控制台当前日志的查询。这也被限制为 64KB。我可以添加一个脚本来轮询控制台输出并在后处理中构建所有日志,但这可能太麻烦了。

有没有更简单的方法可以将控制台日志从 AWS 金属实例连续流式传输到我的机器?