问题标签 [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 - 如何在 Kubernetes 上摆脱此错误“network: stat /var/lib/calico/nodename: no such file or directory”
我使用以下命令卸载了 calico:'kubectl delete -f calico.yaml'
并使用以下命令安装 weave:'export kubever=$(kubectl version | base64 | tr -d '\n')' 'kubectl apply -f " https://cloud.weave.works/k8s/net?k8s-version= $库贝弗"'
当我部署我的 pod 时,它们保持在“ContainerCreating”状态。当我检查 pod 日志时,我看到以下错误:
'networkPlugin cni 无法设置 pod "saccofrontend-d7444fd6d-998gf_default" 网络:stat /var/lib/calico/nodename:没有这样的文件或目录:检查 calico/node 容器是否正在运行并已挂载 /var/lib/印花布/'
我手动删除了这个文件。重新安装 docker 和 kubeadm 也没有帮助。仍然出现相同的错误。
请告知什么可能促使 kubelet 仍然使用 calico 作为 cni,即使我取消了它。
docker - Kubernetes Nodeport 保留源 IP
我有一个小型 Kubernetes on prem 集群(Rancher 2.3.6),由三个节点组成。集群内的部署由外部应用程序动态配置,并且始终将其副本计数设置为 1,因为这些是有状态的应用程序,不需要高可用性。
应用程序通过 NodePort 服务公开到 Internet,其中随机端口和 ExternalTrafficPolicy 设置为 Cluster。因此,如果用户请求三个节点之一,k8s 代理会将请求路由并 s-NAT 到具有应用程序 pod 的正确节点。
至此,一切正常。
当我们添加依赖于请求源 IP 的应用程序时,问题就开始了。由于 s-NAT 将请求 IP 替换为内部 IP,因此此应用程序无法正常工作。
我知道,将服务 ExternalTrafficPolicy 设置为本地将禁用 s-natting。但这也会破坏架构,因为并非每个 pod 都有一个正在运行的应用程序实例。
有没有办法保留原始客户端 IP 并仍然使用内部路由,所以我不必担心请求将落在哪个节点上?
kubernetes - kubeadm 裸机上的 Kubernetes 集群
我正在尝试在 Debian 10 上运行的 3 个裸机节点(1 个主节点和 2 个工作节点)上创建一个带有 kubeadm 的单个控制平面集群,并将 Docker 作为容器运行时。每个节点都有一个外部 IP 和一个内部 IP。我想在内部网络上配置一个集群并可以从 Internet 访问。为此使用了这个命令(如果有问题请纠正我):
我有:
初始化阶段成功完成,集群可从 Internet 访问。除了在应用网络后应该运行的 coredns 之外,所有 pod 都已启动并运行。
应用网络后,coredns pod 仍未准备好:
来自失败 pod 的一些日志:
核心:
有什么想法有什么问题吗?
kubernetes - Calico 节点状态返回 Calico 进程未运行
我在使用 Kubernetes 集群的 BGP Peers 时遇到问题。我的集群由 3 个主节点和 2 个工作节点构建,在 Unbuntu 18.04 上运行。etcd 是外部配置的,但在 2 个主节点上运行。最初使用 pod cidr 172.16.0.0/16 进行初始化,但最近更改为 192.168.220.0/24。我已经安装了 Calico 最新版本。当我为每个服务配置一个副本集时,每个似乎都工作正常。当我运行多个 pod 时,我的配置服务有时会出现连接问题,有时不会。
经过一番研究,我发现问题可能是 Calico 的错误配置。当我运行 calicoctl node status 时,我看到了这一点。
在印花布方面,我发现它与 BGP 对等互连有关,但我不知道出了什么问题。节点具有 IP 连接性。到端口 TCP 179 的 telnet 会话也成功。接下来我可以检查什么?任何帮助,将不胜感激。
kubernetes - 卸载calico后,新的pod卡在容器创建状态
卸载 calico 后,kubectl -f calico.yaml,无法在集群中创建新的 Pod。集群中的任何新 pod 都停留在容器创建状态。Kubectl describe 显示以下错误:
Warning FailedCreatePodSandBox 2m kubelet, 10.0.12.2 Failed create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "f15743177fd70c5eabf70c60be5b8b354e5346837d1b5d59bf99d1d1b5d6416c" network for pod "test-9465-768b57b5df-fv9d4": NetworkPlugin cni failed to set up pod "test-9465-768b57b5df-fv9d4_policy-demo" network: error getting ClusterInformation: connection is unauthorized: Unauthorized, failed to clean up sandbox container "f15743177fd70c5eabf70c60be5b8b354e5346837d1b5d59bf99d1d1b5d6416c" network for pod "test-9465-768b57b5df-fv9d4": NetworkPlugin cni failed to拆解吊舱“test-9465-768b57b5df-fv9d4_policy-demo”网络:获取 ClusterInformation 时出错:连接未授权:未授权]
networking - 具有 ipv6 地址的容器在 k8s/calico 环境中无法连接到外部
我正在尝试在 k8s 环境中测试 ipv6 连接,并安装了 calico 网络插件;问题是容器无法ping到ipv6网关或集群节点的其他地址,k8s和calico的版本是v1.18.2和calico v1.12(也试过v1.13);配置如下:
centos7,内核是4.4(升级)
开启ipv6转发
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.default.forwarding = 1
印花布配置:
实际上,我从主机用 tcpdump 捕获了消息,并且可以看到一些 icmp 请求进入了 like cali66e9f9aafee 接口,但看起来没有进一步处理,我检查了 ip6tables 并看到没有任何包进入 masqurade 的右链
尝试了很多次,但都失败了,我错过了什么吗?
问候
kubernetes - 印花布在我有两个接口的节点上不起作用,谢谢
请问一下Calico的设定,谢谢。
我的节点是多接口的,在初始化calico网络的时候,虽然我在calico.yml中定义了网络接口(请看截图),但是结果没有生效,请帮我检查一下yaml的配置。
非常感谢
请看这里的截图
kubernetes - Kubernetes - 容器上的 Calico CrashLoopBack
几天前我刚开始尝试 K8S,尝试学习 K8S,特别强调网络、服务网格等。
我在装有 Centos 7 和 K8S 的虚拟机上运行 2 个工作节点和 1 个主节点,并安装了 kubeadm。
Flannel 的默认 CNI。安装没问题,除了网络之外的一切都正常。我可以部署容器等,所以很多控制平面都在工作。
但是,网络无法正常工作,即使是同一工作节点中的容器到容器。我检查了所有常见的嫌疑人,veth,IP,MAC,单个工作人员的网桥,一切似乎都检查了……例如,正确网桥上的 MAC,即 cni0,IP 地址分配等。即使从busybox ping 到busybox ,我会看到 ARP 缓存被填充,但 ping 仍然无法正常工作....禁用所有 FW,启用 IP 转发等。不是 IPtables 专家,但看起来还不错.....登录到工作节点 shell 时我也可以pingbusybox 容器,但它们无法相互 ping 通......
我现在有一个问题,为什么即使安装了 flannel docker0 桥仍然存在,我可以删除它还是有一些与之相关的依赖项?我没有注意到容器的 veth 显示连接到 docker0 网桥,但 dockerbride0 关闭了……但是我关注了这个网站,它显示了一种不同的验证方式并显示连接到 cni0 的 veth,这非常令人困惑和令人沮丧。 ……
我放弃了 Flannel,因为我只是用 Flannel 来做实验,并决定尝试 Calico....
我遵循了 Calico 网站的安装程序……关于法兰绒的整理程序并不完全清楚,不知道这在哪里记录?……这是它变得越来越糟的地方……
我开始在 calico 容器和 coredns 上遇到崩溃循环,卡住创建,报告 calico 上的活力问题......这就是我被困的地方............并且需要一些帮助......
我已经在网上阅读并尝试了很多东西,并且可能已经解决了一些问题,因为可能有很多问题在起作用,但非常感谢任何帮助....
=== 安装信息和一些输出...
一些问题...
- 为 coredns 创建的容器......这是否取决于 Calico 的成功安装......问题是否相关......或者 coredns 安装工作是否应该独立于 CNI 安装?
kubernetes - 使用 Minikube (k8s) + Calico 插件设置 pod IP
我正在用 minikube + calico 插件做一些测试,看看我是否可以在创建 pod 时设置 pod IP。
我打开了 minikube 代理并发送了:
但似乎注释被忽略了。pod 是使用另一个 IP 创建的:
我检查了10-calico.conflist
文件,插件设置为使用calico-ipam
.
我错过了什么?
编辑:印花布版本:
输出kubectl get po --all-namespaces -o wide
: