问题标签 [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.
kubernetes - calico-etcd 未安排在 GKE 1.11 k8s 上
我最近将我的 GKE 集群从 1.10.x 升级到了 1.11.x,从那时起,我的calico-node
pod 无法连接到 etcd 集群并最终CrashLoopBackOff
由于 livenessProbe 错误而告终。
我看到calico-etcd
DaemonSet 需要状态 0 并且对此感到疑惑。节点选择器位于node-role.kubernetes.io/master=
。
从此类calico-node
s 的日志中:
DaemonSet 的状态:
k get nodes --show-labels
:
我没有修改任何印花布清单,它们应该是 GKE 提供的 1:1 配置。
我希望calico-node
s 连接到我的 Kubernetes 集群的 etc,或者连接到 DaemonSetcalico-etcd
提供的一个。由于在 GKE 中没有我可以控制的主节点,我有点明白为什么calico-etcd
处于状态 0,但是,calico-node
s 应该连接到哪个等?我的小型和基本设置有什么问题?
kubernetes - Kubernetes pod 的自定义传出网络路径
假设我有 2 个站点,S1,S2;每个都至少有一个 Kubernetes 工作人员。这两个站点在地理位置上相距甚远,并且在节点/工作器上具有不同的公共 IP。
kubernetes 是否提供任何现有机制来通过 S2 从 S1 中的 pod/容器路由传出的互联网流量?
目标是能够将 S2 中的公共 IP 用于 S1 中的 pod。
如果 k8s-federation 是解决方案的必要条件;那很好。
kubernetes - Kubernetes 网络:使用 Calico 从外部服务器连接到集群命名空间服务
我有一个 Kubernetes 集群,其中正在运行来自许多客户的项目。每个客户都有自己的命名空间。项目被管理。这意味着客户无法访问集群。
每个项目都在 PHP + MySQL 堆栈上实现。
我使用 Calico 作为集群的网络提供商。
我想为一些客户提供具有 ssh 访问权限的外部 VPS(纯 VPS,不是 kubernetes 集群的一部分)。应该允许这个 VPS 与客户命名空间上的服务(MySQL)连接(onl.
是否可以通过使用 Calico 或任何其他方式来实现这样的目标?
docker - 在 kubeadm 集群中升级 calico-node 的问题
我将按照“单独升级组件”的链接升级 Calico 节点和 cni
方向非常清楚(我将封锁每个节点并为 and 执行步骤calico/cni
)calico/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.yaml
,rbac-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 规则在所有节点上看起来都一样。
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?
我也试过编织、运河和法兰绒,似乎都有同样的问题。
我现在已经没有想法了......请指点?
kubernetes - calico/node 未准备好:BIRD 未准备好:BGP 未建立
我正在运行 Kubernetes 1.13.2,使用 kubeadm 设置并努力让 calico 3.5 启动并运行。集群运行在 KVM 之上。
设置:
kubeadm init --apiserver-advertise-address=10.255.253.20 --pod-network-cidr=192.168.0.0/16
修改后
/li>calico.yaml
的文件包括:- 应用
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)是br0
KVM主机下的IP,不太清楚为什么会出现。
kubernetes - kubernetes 如何决定为 IPAM 调用哪个网络插件?
我试图了解 kubernetes 如何知道要调用谁来获取 Pod 的 IP 地址?ConfigMap 中提到过吗?
你能分享任何关于这方面的更多信息吗?
docker - 当 CNI 插件在容器级别工作时,kubernetes pod 如何获取 IP 而不是容器而不是它
当 CNI 插件在容器级别工作时,kubernetes pod 如何获取 IP 而不是容器而不是它?
同一个 pod 的所有容器如何共享同一个网络堆栈?
mongodb - 无法通过 kubectl port-forward 连接到 mongodb 副本集
我正在尝试通过 kubectl 访问 mongodb 副本集,所以我不会将它暴露在互联网上,我不能使用 OpenVPN,因为 Calico 会阻止它。
所以我正在使用这个脚本:
我的连接字符串如下所示:
但是,我仍然无法连接到我的 mongodb 副本集,它说:
但是如果我使用直接连接,我仍然可以连接到每个节点!
这里可能有什么问题?如何连接到 mongodb 进行开发?
kubernetes - 如何使用 LoadBalancer IP 作为 pod 的传出/出站/出口 IP
我在阿里云上的 ManagedKubernetes 集群上有 1 个部署,服务 spec.type=LoadBalancer 我可以成功地使用该 IP 来处理传入流量
但是出站 ip 似乎仍然使用 NAT 网关 IP 进行具有 service spec.type=LoadBalancer 的部署
那么,如何将相同的 IP 用于使用 LoadBalancer 的部署的传出和传入流量?