问题标签 [calico]

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

kubernetes - 印花布 IP 混乱

我对 Calico IP 有点困惑:

如果我使用将 calico 添加到 kubernetes 集群

CALICO_IPV4POOL_CIDR 是 192.168.0.0/16 所以 IP 范围是 192.168.0.0 到 192.168.255.255

现在我已经使用以下方式启动了集群:

因此,现在 pod 的 IP 地址(使用 pod 网络 CIDR)将介于:20.96.0.0 到 20.111.255.255 之间

这两个不同的IP是什么。我的 Pod 正在获取 IP 地址 20.96.205.192 等等。

0 投票
0 回答
27 浏览

kubernetes - 如何获取 Kubernetes CNI 层的 http 调用详情?

我需要在 Kubernetes 的 CNI 层上获取 http 调用详细信息。我正在使用 calico 插件来管理网络策略。

0 投票
0 回答
44 浏览

kubernetes - 它在主人和工人之间有不同的默认网关

我已经安装了带有 master1 和 worker1 的 K8s 集群,它们有各自不同的默认网关。它可以在同一节点上的 Pod 之间进行通信。它无法在 master 上的 pod 和 worker 上的 pod 之间进行通信。我在节点之间配置了印花布覆盖以进行通信。你知道如何在 master 上的 pod 和 worker 上的 pod 之间进行通信吗?

主网关:10.41.2.1 工作网关:10.41.84.1

0 投票
0 回答
136 浏览

networking - Kubernetes Pod 出站流量 DNAT 规则

我们在防火墙后面的私有网络中运行K8S集群,使用讨厌的反向 NAT 规则阻止我们的主机通过公共 IP 连接到自己。

问题

从 pod 内部,我需要连接到203.X.X.X无法解析为公共 IP 的服务。但是我可以通过私有 IP 连接到这个服务192.Y.Y.Y

我可以在运行 pod 的节点上设置iptables规则,如下所示:

iptables -A OUTPUT -t nat -p tcp -d 203.X.X.X --dport 80 -j DNAT --to-destination 192.Y.Y.Y:80

然后我可以从节点成功连接到服务,但不能从该节点上运行的 pod 连接。

使用hostAliases的解决方案不起作用,因为我们:

  • 事先不知道主机名
  • 想要将所有到已知公共(无法访问)IP 的流量重新路由到相应的私有 IP

PS:我们使用 calico 作为网络插件

0 投票
0 回答
228 浏览

kubernetes - Calico Dual Stack 设置问题:服务无法访问其他节点的 pod

我正在尝试使用 calico cni 创建具有双栈 IPv4/IPv6 支持的多节点集群。以下是配置详情:

我使用以下命令创建了集群:

我已经使用以下参数配置了 calico.yaml:

在 kube-proxy 中设置 ipvs 模式之前,我可以使用 nodeport 32123 卷曲服务。但是在 kube-proxy 中设置 ipvs 模式后,我无法使用 nodeport 卷曲服务并得到以下错误:

以下是路线的详细信息:

有人对此有解决方案吗?

0 投票
1 回答
438 浏览

ssl - Kubernetes pod 无法访问 HTTPS 站点

刚刚使用kubespray. 3 master节点和3 worker节点 +2 haproxy主节点前面的节点,带有keepalived.

除了一件事,一切都完美无缺。当我尝试更新 pod 上alpineubuntu内部的软件包时:

快速调试显示我正在从 K8s 中的代理获取自签名 Traefik 默认证书

输出:

有没有办法禁用 SSL 终止?

kubespray我的安装是从master分支全新安装

Kubernetes 版本:v1.18.5

0 投票
1 回答
661 浏览

kubernetes - calico 无法 ping 其他使用 calico 网络创建的 POD

我设置了在 2 个不同的工作节点上运行的有状态 Pod,但我无法 ping 这些 Pod。以下是池文件:

第一个 pod 上的 IP 配置

另一个节点上的 IP Conf

Ping 状态

它不起作用。

我尝试了 ipipMode: Always 和 CrossSubnet 但没有任何效果。我不确定我错过了什么。另外,我不确定我何时给出块大小 24,为什么 IP 在 /32 CIDR 中。它们不是在 /24 CIDR 的范围内吗?

印花布 IPam 结果

印花布ipam块

Calico的借用IP列表

0 投票
1 回答
222 浏览

kubernetes - 如何从外部访问 pod IP

我是k8s的菜鸟。

我知道 pod IP 设置在范围内--cluster-cidr。例如。10.244.0.0/18

我的问题是如何从 k8s 集群外部访问 pod IP。

我听说有两种方法可以做到这一点:

    1. Docker桥接使用自定义的 Linux 桥接,一些技巧/etc/docker/daemon.json,然后在路由器设备上添加路由记录ip route add 10.244.0.0/18 via {k8sNodeIp}(或类似的东西,我不知道细节)。
    1. 与上面的类似,但他们似乎在没有“桥梁技巧”的情况下完成了这一点,只需添加一些路线记录(如果我错了告诉我)。

这些解决方案来自两个不同的团队。

不知道k8s网络插件有没有涉及,第一个用flannel,最后一个用calico.

任何关于此的文档?

0 投票
3 回答
1918 浏览

docker - kubeadm init 使用不正确的 IP 地址启动集群

我初始化了一个 5 节点的 k8s 集群,如下所示:

您现在应该将 pod 网络部署到集群。使用以下列出的选项之一运行“kubectl apply -f [podnetwork].yaml”: https ://kubernetes.io/docs/concepts/cluster-administration/addons/

然后,您可以通过以 root 身份在每个节点上运行以下命令来加入任意数量的工作节点:

根据上述说明,我运行以下命令:

但是当我检查控制平面组件 pod 时,我看到它们都初始化为

  1. 相同的IP地址

  2. 不正确的 CIDR => 似乎在主机网络中,这是一个很大的 NO-NO

出了什么问题,我该如何补救?kube-system ns 中的 pod 不应具有相同的 IP,并且绝对不能与主机位于同一网络中:

谢谢!

0 投票
2 回答
764 浏览

kubernetes - 如何更改calico监听默认端口?

我是 kubernetes 的初学者,我可以在最新的 calico.yaml 文件(在节点上安装 Calico)中看到监听默认 9099 端口的配置。

我正在几个节点上部署,并且该端口(9099)被占用,因为其他服务正在后台运行。

从日志中我可以看到:

日志来自 pod:

我们如何更新这个端口?在 yml 文件上我看不到端口。

我可以在 yml 文件中看到配置:

但这不是阻止我部署的端口。