问题标签 [kubernetes-networking]

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 投票
4 回答
51117 浏览

kubernetes - Kubernetes 中的集群 IP 是什么?

我创建了一个由三个节点组成的集群:一个主节点,两个小节点。如何在 Kubernetes 中查看集群 IP?是主节点的IP吗?

0 投票
1 回答
5627 浏览

kubernetes - 为什么我们在 Kuberntes 部署/容器定义中需要一个端口/容器端口?

当我在 kubernetes 中定义例如部署时,有一个包含容器列表的部分,每个容器都包含一个端口数组,例如:

现在这里的文档明确表示它不会影响连接性:

要从容器公开的端口列表。在此处公开端口可为系统提供有关容器使用的网络连接的附加信息,但主要是信息性的。此处不指定端口不会阻止该端口被暴露。任何侦听容器内默认“0.0.0.0”地址的端口都可以从网络访问。无法更新。

现在看来它并没有真正影响任何东西,只是提供信息,但这究竟意味着什么,它在哪里使用?

我发现它的一种用途是,如果端口定义了一个名称,则可以通过该名称从服务中引用它。

是它还是这个规范有其他用途?

0 投票
0 回答
1172 浏览

kubernetes - 访问 kubernetes pod 内主机网络上的 ip 地址

如何访问主机网络中 IP 地址上的服务?

基本上,我在同一个网络上有 5 或 6 个 VMS,其中 3 个 VMS 用于创建 Kubernetes 集群。其中一个 VM 托管 Kubernetes (192.168.2.x) 外部的私有 npm 注册表。我正在使用在 Kubernetes 集群中运行的 gitlab 运行器。在 ci 管道的构建阶段进行 npm 安装时,由于 gitlab 构建运行器运行的 pod 无法访问主机网络上的私有 npm 注册表,该注册表通过 192.168.2.x 而不是在 Kubernetes 内簇。

有没有办法能够访问同一主机网络内的服务,但不能访问 Kubernetes 集群内的服务?

这是跑步者内部错误消息的示例:

$ npm install npm WARN 可选跳过可选依赖:fsevents@1.2.9 (node_modules/@angular/compiler-cli/node_modules/fsevents):npm WARN 网络跳过可选依赖:请求 https://devops.internal.ideam.co .za/repository/npm-group/fsevents失败,原因:连接 ETIMEDOUT 192.168.2.6:443

npm 错误!代码 ETIMEDOUT npm 错误!errno ETIMEDOUT npm 错误!对 > https://devops.internal.ideam.co.za/repository/npm-group/source-map的网络请求失败,原因:连接 ETIMEDOUT 192.168.2.6:443 npm ERR!网络 这是与网络连接有关的问题。

正如您所看到的,一旦受信任证书保护的 FQDN 解析为内部 IP 地址,就无法从 pod 内部访问 npm 注册表的主机 IP 地址。我已确保外部 FQDN 确实在调试 pod 中的 Kubernetes 集群中使用 busybox 和 nslookup 命令解析。

我提供了一个解释图来说明:

在此处输入图像描述

这是网络配置问题吗?有谁知道这是否可行或如何让它发挥作用?

0 投票
1 回答
89 浏览

kubernetes - 在 NetworkPolicy yaml 规范中混淆 Kubernetes 语义

ingress观察: under的字段值spec

案例 1:拒绝应用程序的所有流量。这里 ingress 将一个空数组作为它的值。

案例 2:允许应用程序的所有流量。这里 ingress 将一个空地图的列表项作为它的值。

我只是想知道,如果我要大声读出ingress上面的赋值值,我该如何阅读它?

0 投票
1 回答
14864 浏览

kubernetes - 外部 ip 待定 Kubernetes 负载均衡器

嗨,在 centos 中使用 kubeadm 安装了 Kubernetes 当我在 yaml 文件中使用类型负载均衡器创建部署时,外部 IpPending用于 Kubernetes LB,它卡在 Pending 状态

0 投票
0 回答
55 浏览

kubernetes-ingress - 在裸机安装cent os中找不到入口的IP地址

在 Cent OS 的裸机安装中找不到入口的 IP 地址。我使用 IP 池范围创建了 MetalLB 清单和 ConfigMap。所以我面临创建 igress 时找不到入口 IP 地址的问题 在此处输入图像描述

0 投票
1 回答
319 浏览

kubernetes - 具有服务作为节点端口的裸机 Nginx 控制器不起作用

嗨,我在社区和 Nginx 存储库中都使用了 Nginx 控制器,它们都适用于云LoadBalancer服务。作为 Nginx 控制器,社区和 Nginx 存储库都不能使用服务Nodeport“错误 404”。

404 Not Found

服务类型节点端口

0 投票
1 回答
6226 浏览

networking - 如何从其他 pod 解析 pod 主机名?

  • 我有 2 个 pod 在 2 个节点上运行,每个 pod 在不同的节点上运行。
  • 这些节点位于同一子网上,并且可以自己进行 TCP/UDP/ICMP。

这些 pod 有一些主机名,即:

  • 钻孔分期 75cddd789-kbzsq
  • 钻孔分期 75cddd789-amsrj

从 pod Drill-staging-75cddd789-kbzsq 我无法解析 Drill-staging-75cddd789-amsrj 的主机名,反之亦然。解析 self pod 的名称有效。

我尝试设置各种 dnsPolicies:

  • ClusterFirst:没有运气
  • 默认值:没有运气
  • ClusterFirstWithHostNet:没有运气,它事件无法解析它自己节点的主机名
  • 无:未尝试(我认为这不是一个好方法)
0 投票
1 回答
81 浏览

kubernetes-pod - 允许 AKS 集群中的所有 Pod 相互通信

试图找到一种好方法来允许在同一节点中的所有 pod 之间进行开放式通信。这是一个微服务架构,希望它们相互交互。宁愿不使用 NSG 并让它成为动态的。有没有使用 K8 网络或入口控制器的好的模式?

0 投票
1 回答
290 浏览

kubernetes - Kubernetes Service LoadBalancer“EXTERNAL-IP”仍然是“" 而不是使用工作节点的公共 IP 地址

我有 5 个 VPS,每个 VPS 都有一个公共网络接口,为此我配置了一个 VPN。

  • 3 个节点是 Kubernetes 主节点,我将 Kubelet--node-ip标志设置为它们的私有 IP 地址。
  • 3 个节点中的一个有一个用于 Kubernetes 主节点的 HAProxy 负载均衡器,监听私有 IP,因此所有节点都使用负载均衡器的私有 IP 地址来加入集群。
  • 2 个节点是 Kubernetes 工作人员,我没有设置 Kubelet--node-ip标志,因此它们的节点 IP 是公共地址。

集群很健康,我已经部署了我的应用程序及其依赖项。

现在我想从 Internet 访问应用程序,所以我部署了一个边缘路由器并创建了一个类型为LoadBalancer.

该服务创建良好,但从不将工作节点的公共 IP 地址作为EXTERNAL-IP.

手动分配 IP 地址是可行的,但显然希望它是自动的。

我已经阅读了有关MetalLb 项目的信息,但它似乎不适合我的情况,因为它应该有一系列 IP 地址来分发,而在这里我每个节点都有一个公共 IP 地址,而不是在同一范围内.

那么谁可以配置 Kubernetes,以便我的 LoadBalancer 类型的服务自动获取公共 IP 地址EXTERNAL-IP