问题标签 [cni]

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 回答
1454 浏览

kubernetes - 如何添加 IP 路由以便 Kubernetes 集群地址通过适当的适配器

我已按照以下链接说明在独立服务器上单独安装Kubernetes cluster( one Master and one Worker- Node) 。CentOS-8 OS

https://www.tecmint.com/install-a-kubernetes-cluster-on-centos-8/

Weave-Net - CNI plugin installed按照上面的链接。现在我可以在我们的 K8s Master & Worker-Node 服务器中看到下面的新网络适配器。

但问题出在主机服务器无法ping (Or) access any of our remote site/location IPs(下面给出 ping 响应)。而Local IPs are pinging & accessible.

同样从主机服务器尝试连接我们的远程LDAP server through telnet它显示下面的错误消息。

在我们的K8s Master& Worker-Node serverhave 中23 network adaptersStatically network IP已经配置好了,那么需要为默认路由中可达的 K8s CNI 配置任何额外的配置吗?

ip route show&route -n输出如下。

尝试使用以下命令将编织路线更改为默认值。它执行成功,但仍然是同样的问题。

假设如果我运行ifconfig weave down一切正常。但要使用 Kubernetes 集群,我需要Weave-net network adapter. 所以请帮我添加 IP 路由,以便我的 Kubernetes 集群地址通过适当的适配器,这样我就可以访问我们的本地和远程位置服务器。

0 投票
1 回答
206 浏览

go - K8s中如何根据与pod的交互获取用户的ip

我想根据他与 Pod 的交互来获取用户(客户端)的 IP,(我正在考虑获取用户 IP 并根据他的 IP 定位他)

我制作了下图以更好地解释我的问题,我唯一能找到的可能改善情况的方法是修补服务并将 externalTrafficPolicy 设置为“Local”,这样服务将保留用户的 IP。

但仍然不确定我应该如何甚至在哪个部分检查用户的 IP。是否可以从 pod 外部监控用户的活动?任何想法?

(我正在使用golang)

使用 NodePort 作为服务的 k8s 集群

更新:为了更清楚,我不是在创建 Pod,在下面的场景中,客户端负责并且可以创建不同的 Pod 和容器,甚至是他们需要的服务,这就像他们的试验台,所以我不能编辑他们容器文件,但我可能能够在他们的容器旁边调出另一个容器,然后可以使用这篇文章https://stackoverflow.com/a/27971761/9350055上的答案来查找客户端的 ip。你认为这行得通吗?

微型容器 - 单个 pod 中的两个容器

0 投票
1 回答
154 浏览

kubernetes - 无法使用外部交换机在 Ubuntu Hyper-V 服务器上解析 Kubernetes 中的名称

我正在尝试设置一个单节点 Kubernetes 集群,以便在我的 Windows Hyper-V 上运行的 Ubuntu Server 18.04.2 VM 上进行测试。我使用标准命令安装 Docker apt install docker.io,并使用该命令初始化 Kubernetes 集群,kubeadm init --pod-network-cidr=10.244.0.0/16 然后添加 Flannel CNI,kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml然后使用其“稳定”Helm 图表安装 rabbitmq-ha。

如果 VM 使用 Hyper-V 的“默认开关”,那么一切都按预期工作。我还有一个“Extra Switch”配置为“外部网络”,选中“允许管理操作系统共享此网络适配器”,指向我的无线适配器。当我在办公室时,Ubuntu VM 设置为使用此“Extra Switch”,我的笔记本电脑和 Ubuntu VM (eth0) 的 IP 地址设置为 10.XXX,一切正常。

当我在家时,Ubuntu VM 设置为使用相同的“Extra Switch”,我的笔记本电脑和 Ubuntu VM (eth0) 的 IP 地址设置为 192.168.XX,rabbitmq pod 抛出错误并不断重启,与记录的错误消息:

Failed to get nodes from k8s - {failed_connect,[{to_address,{"kubernetes.default.svc.cluster.local",443}}, {inet,[inet],nxdomain}]}

做一些谷歌研究告诉我rabbitmq pod无法解析名称“kubernetes.default.svc.cluster.local”。

将“apiserver-advertise-address”添加到 kubeadm inti,设置为我笔记本电脑的 192.168.XX IP 地址,并没有什么不同。

我还尝试使用 Wea​​ve Works 而不是 Flannel,并在“kubeadm init”命令中省略了 CIDR,但我在家里的“Extra Switch”上遇到了相同的 rabbitmq 错误,同时在家庭默认交换机上工作并在办公室网络上工作.

那么我错过了什么?在 Hyper-V 和外部交换机下运行时是否需要 Ubuntu 网络设置?还是我缺少 Kubernetes 或 Docker 配置设置?谢谢!

0 投票
1 回答
433 浏览

kubernetes - 无法使用 multus 向 pod 添加第二个接口 - minikube

我正在尝试使用 multus-cni 部署具有第二个接口的 pod。但是,当我部署我的 pod 时,我只看到一个接口是主接口。不创建辅助接口。

我按照快速入门指南中的步骤安装 multus。

环境:Microsoft Windows 10 Enterprise Kubernetes v1.18.3 on Docker 19.03.12 上的 minikube v1.12.1

多版本 --cni-version=0.3.1

$00-multus.conf

$1-k8s.conf

$87-podman-bridge.conflist

$multus.kubeconfig

Pod yaml 信息:

0 投票
1 回答
190 浏览

kubernetes - Calico CNI networkPolicy 不影响节点上运行的 pod

我一直在尝试在我的集群(k8s 裸机)上实施网络策略,但似乎没有在集群节点上运行的 Pod 上实施任何策略,仅在直接在主服务器上运行的 Pod 上实施。

我试过的:

  • 一个单一的命名空间,带有一个主节点和一个带有 calicoctl 的 calico CNI,带有 k8s 数据存储(我可以看到两个节点上运行的 calico/calicoctl 容器)
  • 两种 networkPolicy 类型(networking.k8s.io/v1 和 projectcalico.org/v3)
  • 应用简单的拒绝任何入口/出口策略并测试 ping 到 8.8.8.8(主节点上的 pod 被阻塞,其他节点上的 pod 仍然可以 ping)

感谢你的帮助

0 投票
1 回答
824 浏览

kubernetes - 允许使用 Istio CNI 插件从初始化容器向 Kubernetes API 发出请求

我配置了 istio,但没有启用 CNI 插件。

那时,我有一个带有服务帐户的 init 容器,它会调用 Kubernetes API 来验证几件事(通过 kubectl)。

由于我启用了 CNI 插件,因此该初始化容器失败并显示以下消息:

与服务器 10.23.64.1:443 的连接被拒绝 - 您是否指定了正确的主机或端口?

我尝试删除所有网络策略以查看是否是问题所在,但结果相同。我还提供了这个 pod 使用 cluster-admin 角色的服务帐户,但它没有起到作用。

我测试了 Istio 的 1.6 和 1.7 分支。

这里有什么问题?没有这个 init 容器的其他 pod 可以正常工作。

0 投票
1 回答
173 浏览

kubernetes - Calico 在我的 k8s 中运行良好,但我无法在节点上 Ping clusterip

我按照官网的步骤安装了calico,可以正常运行,log也没有报错。但是我ping clusterip的时候,ping不通,pod日志也没有报错,所以找不到问题所在。有

从下面的操作记录可以看出,curl serviceip和curl podip都没有在节点上工作。但是如果进入pod,serviceip和podip都可以通过curl连接

0 投票
1 回答
354 浏览

kubernetes - 在 kubernetes 中使用 service Mesh 时还需要 CNI 吗?

一旦我开始在 Kubernetes 集群中使用服务网格(例如 Istio),是否仍然需要 CNI(例如 Flannel、Calico)?

0 投票
0 回答
603 浏览

kubernetes - Kubernetes - 部署卡在容器创建状态 - CNI 失败

我已经建立了一个裸机 K8 集群,并且正在使用 weavenet CNI。我正在尝试部署 nginx,但 pod 卡在containercreating status 中。当我检查日志时,我发现它正在寻找法兰绒 CNI。我没有使用法兰绒!我正在使用 weavenet CNI 并且不确定如何解决这个问题

Kubectl 输出

Kubcetl 获取节点输出

0 投票
1 回答
566 浏览

kubernetes - 不同主机中的 pod 和服务以及 pod 之间的 calico 网络连接失败

我已经实现了一个多主 HA kubernetes 集群,并希望按照此处所述的硬件实现 Calico 。我能够完成所有步骤,并且不同节点中的 pod 和服务以及 pod 和其他 pod 之间没有连接。

唯一不同的是,我在 AWS 中使用了两个不同的 AZ,我想这应该不是问题。我可以看到 pod 正在获取 IP,并且 calico 网络接口正在创建,但仍然可以看到我解释的连接。Node 甚至没有公共互联网访问权限。我在指南中进行了完全相同的 BGP 配置,但没有运气,而且在涉及多可用区部署时,我不太确定 BGP 配置中需要更改的内容。我不太了解 Calico BGP 配置。

不幸的是,calicoctl node diags 没有正确运行,也没有提供更多信息来继续前进。

我希望您能提出宝贵的想法和建设性的批评来解决这个问题。