问题标签 [project-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 回答
111 浏览

kubernetes - calico-etcd 未安排在 GKE 1.11 k8s 上

我最近将我的 GKE 集群从 1.10.x 升级到了 1.11.x,从那时起,我的calico-nodepod 无法连接到 etcd 集群并最终CrashLoopBackOff由于 livenessProbe 错误而告终。

我看到calico-etcdDaemonSet 需要状态 0 并且对此感到疑惑。节点选择器位于node-role.kubernetes.io/master=

从此类calico-nodes 的日志中:

DaemonSet 的状态:

k get nodes --show-labels

我没有修改任何印花布清单,它们应该是 GKE 提供的 1:1 配置。

我希望calico-nodes 连接到我的 Kubernetes 集群的 etc,或者连接到 DaemonSetcalico-etcd提供的一个。由于在 GKE 中没有我可以控制的主节点,我有点明白为什么calico-etcd处于状态 0,但是,calico-nodes 应该连接到哪个等?我的小型和基本设置有什么问题?

0 投票
2 回答
458 浏览

kubernetes - Kubernetes pod 的自定义传出网络路径

假设我有 2 个站点,S1,S2;每个都至少有一个 Kubernetes 工作人员。这两个站点在地理位置上相距甚远,并且在节点/工作器上具有不同的公共 IP。

kubernetes 是否提供任何现有机制来通过 S2 从 S1 中的 pod/容器路由传出的互联网流量?

目标是能够将 S2 中的公共 IP 用于 S1 中的 pod。

如果 k8s-federation 是解决方案的必要条件;那很好。

0 投票
0 回答
46 浏览

kubernetes - Kubernetes 网络:使用 Calico 从外部服务器连接到集群命名空间服务

我有一个 Kubernetes 集群,其中正在运行来自许多客户的项目。每个客户都有自己的命名空间。项目被管理。这意味着客户无法访问集群。

每个项目都在 PHP + MySQL 堆栈上实现。

我使用 Calico 作为集群的网络提供商。

我想为一些客户提供具有 ssh 访问权限的外部 VPS(纯 VPS,不是 kubernetes 集群的一部分)。应该允许这个 VPS 与客户命名空间上的服务(MySQL)连接(onl.

是否可以通过使用 Calico 或任何其他方式来实现这样的目标?

0 投票
2 回答
1064 浏览

docker - 在 kubeadm 集群中升级 calico-node 的问题

我将按照“单独升级组件”的链接升级 Calico 节点和 cni

方向非常清楚(我将封锁每个节点并为 and 执行步骤calico/cnicalico/node,但我不确定是什么意思

Update the image in your process management to reference the new version

wrt升级calico/node容器。

否则,我看不到其他问题。我们的环境是一个 k8s kubeadm 集群。

我想真正的问题是:我在哪里告诉 k8s 使用更新版本的calico/node图像?

编辑

回答上述问题:

我只是kubectl delete -f对两者都做了一个calico.yamlrbac-kdd.yaml然后kubectl create -f对这些文件的最新版本做了一个。

现在一切似乎都在 3.3.2 版本,但我现在在所有 calico-node pod 上都收到此错误:

Warning Unhealthy 84s (x181 over 31m) kubelet, thalia4 Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established with <node IP addresses here

我跑了calicoctl nodd status,得到了

我认为 134.xx168 无法访问是我收到上述健康检查警告的原因。

虽然不完全确定该怎么做。该节点在 k8s 集群中可用(这是 node thalia4):

编辑 2

calicoctl node status在 thalia4 上给了

虽然kubectl describe node thalia4给了

我认为这是一个防火墙问题,但我在 Slack 频道上被告知“如果你不使用主机端点,那么我们不会弄乱你主机的连接。听起来你有东西阻塞了端口 179在那台主机上。”

不知道那会在哪里?iptables 规则在所有节点上看起来都一样。

0 投票
1 回答
246 浏览

kubernetes - 似乎有些东西正在捕获到 pod 的 TCP 流量

我正在尝试使用 Kubeadm 使用 Calico (IPIP) 部署 Kubernetes。部署完成后,我正在使用这些清单部署 Calico

在应用它之前,我正在编辑 CALICO_IPV4POOL_CIDR 并将其设置为 10.250.0.0/17 以及使用 command kubeadm init --pod-cidr 10.250.0.0/17

几秒钟后,CoreDNS pod(例如获取地址 10.250.2.2)开始重新启动,错误为 10.250.2.2:8080 连接被拒绝。

现在有点挖掘:

从集群中的任何节点ping 10.250.2.2工作并到达 pod(pod net 命名空间中的 tcpdump 显示它)。

来自不同的 pod(在不同的节点上)curl 10.250.2.2:8080效果很好

从任何节点到curl 10.250.2.2:8080失败,连接被拒绝

因为它是 coredns pod,它在 53 上同时监听 udp 和 tcp,所以我从节点尝试了 netcat

nc 10.250.2.2 53- 连接被拒绝 nc -u 10.250.2.2 55- 有效

现在我已经为端口 8080 的源节点上的每个接口进行了 tcpdump,并且 curl 到 CoreDNS pod 甚至似乎都没有离开节点......所以 iptables?

我也试过编织、运河和法兰绒,似乎都有同样的问题。

我现在已经没有想法了......请指点?

0 投票
4 回答
21762 浏览

kubernetes - calico/node 未准备好:BIRD 未准备好:BGP 未建立

我正在运行 Kubernetes 1.13.2,使用 kubeadm 设置并努力让 calico 3.5 启动并运行。集群运行在 KVM 之上。

设置:

  1. kubeadm init --apiserver-advertise-address=10.255.253.20 --pod-network-cidr=192.168.0.0/16
  2. 修改后calico.yaml的文件包括:

    /li>
  3. 应用rbac.yaml, etcd.yaml,calico.yaml

输出kubectl describe pods

输出calicoctl node status

输出ETCD_ENDPOINTS=http://localhost:6666 calicoctl get nodes -o yaml

输出ETCD_ENDPOINTS=http://localhost:6666 calicoctl get bgppeers

输出来自kubectl logs

注意:上面的未知地址(10.255.253.14)是br0KVM主机下的IP,不太清楚为什么会出现。

0 投票
1 回答
1042 浏览

kubernetes - kubernetes 如何决定为 IPAM 调用哪个网络插件?

我试图了解 kubernetes 如何知道要调用谁来获取 Pod 的 IP 地址?ConfigMap 中提到过吗?

你能分享任何关于这方面的更多信息吗?

0 投票
4 回答
291 浏览

docker - 当 CNI 插件在容器级别工作时,kubernetes pod 如何获取 IP 而不是容器而不是它

当 CNI 插件在容器级别工作时,kubernetes pod 如何获取 IP 而不是容器而不是它?

同一个 pod 的所有容器如何共享同一个网络堆栈?

0 投票
1 回答
2197 浏览

mongodb - 无法通过 kubectl port-forward 连接到 mongodb 副本集

我正在尝试通过 kubectl 访问 mongodb 副本集,所以我不会将它暴露在互联网上,我不能使用 OpenVPN,因为 Calico 会阻止它。

所以我正在使用这个脚本:

我的连接字符串如下所示:

但是,我仍然无法连接到我的 mongodb 副本集,它说:

但是如果我使用直接连接,我仍然可以连接到每个节点!
这里可能有什么问题?如何连接到 mongodb 进行开发?

0 投票
1 回答
402 浏览

kubernetes - 如何使用 LoadBalancer IP 作为 pod 的传出/出站/出口 IP

我在阿里云上的 ManagedKubernetes 集群上有 1 个部署,服务 spec.type=LoadBalancer 我可以成功地使用该 IP 来处理传入流量

但是出站 ip 似乎仍然使用 NAT 网关 IP 进行具有 service spec.type=LoadBalancer 的部署

那么,如何将相同的 IP 用于使用 LoadBalancer 的部署的传出和传入流量?