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

docker - l2 cni插件与l3插件有什么区别?

l2 cni插件与l3 cni插件有什么区别?

L2 CNI 插件是否不提供对 Pod 的公共访问?L2 和 L3 插件的示例是什么

0 投票
3 回答
6709 浏览

networking - Kubernetes:无法访问后端:读取 udp 10.200.0.9:46159->183.60.83.19:53:i/o 超时

我使用 kubernetes v12,我的系统是 ubuntu 16。

我使用以下命令创建 DNS 资源。

创建 coredns 资源后:我检查资源状态。

  1. 检查 coredns 服务
  1. 检查代码 DNS pod 端点
  1. 我的 DNS 配置:
  1. 检查 CoreDNS pod 日志

我发现CoreDNS pod ip无法连接到节点 DNS 服务器 ip address

0 投票
3 回答
10348 浏览

kubernetes - Kubernetes 仪表板:获取 https://10.96.0.1:443/version:拨打 tcp 10.96.0.1:443:i/o 超时

我在 vagrant (1.14.0) 中有一个 Kubernetes 集群并安装了 calico。

我已经安装了 Kubernetes 仪表板。当我使用kubectl proxy访问仪表板时:

这是我的豆荚(仪表板经常重新启动):

dasbhoard pod 的日志:

我可以从主节点和节点远程登录到 10.96.0.1:443。

什么配置错误?集群的其余部分似乎工作正常,尽管我在 kubelet 中看到了以下日志:

kubelet 似乎在 master 上运行良好。集群是使用以下命令创建的:

0 投票
2 回答
259 浏览

kubernetes - 我可以将 k8s etcd 用于 Calico 吗?

Calico申请k8s集群有2个问题。

  1. Calico 为自己的数据创建 etcd,但我不想创建另一个 etcd,因为 k8s 已经有了它。我可以将 k8s etcd 用于 Calico 吗?

  2. Calico 准备 Typha 以使用 Kubernetes API 数据存储。那么,Typha 到底是做什么的呢?我阅读了 Typha 的代码,并假设 Typha 拍摄快照和增量以适应网络策略,并不断将它们广播到 Typha 连接到的所有客户端。但是我对golang不熟悉,所以我对自己的理解没有信心。

我对 Calico 和 k8s 完全陌生,所以如果我错过了与上述问题相关的一些文档,我很抱歉。

0 投票
1 回答
830 浏览

kubernetes - kubeadm + calico 3.6 单节点永远没有准备好

我在 Ubuntu 的存储库 (1.13.4) 和 calico 3.6 上使用 Ubuntu 仿生 (18.04) 和最新版本的 kubeadm,遵循他们的文档“使用 Kubernetes API 数据存储安装 - 50 个节点或更少”( https://docs.projectcalico .org/v3.6/getting-started/kubernetes/installation/calico)。

它开始于:

但是当我应用 calico.yaml 时,我的节点陷入了以下情况:

条件:类型状态 LastHeartbeatTime
LastTransitionTime 原因消息 ---- ------ ----- --------------- --- ------ ------- MemoryPressure False Mon, 15 Apr 2019 20:24:43 -0300 Mon, 15 Apr 20:21:20 -0300 KubeletHasSufficientMemory kubelet 有足够的可用内存 DiskPressure False 2019 年 4 月 15 日星期一 20:24:43 -0300 2019 年 4 月 15 日星期一 20:21:20 -0300
KubeletHasNoDiskPressure kubelet 没有磁盘压力
PIDPressure False 2019 年 4 月 15 日星期一 20:24:43 -0300 2019 年 4 月 15 日星期一 20:21:20 -0300 KubeletHasSufficientPID kubelet 有足够的 PID 可用 Ready False 2019 年 4 月 15 日星期一 20:24:43 -0300 星期一2019 20:21:20 -0300 KubeletNotReady
运行时网络未准备好:NetworkReady=false 原因:NetworkPluginNotReady 消息:docker:网络插件未准备好:cni 配置未初始化

当我看到系统 pod ( kubectl get pods -n kube-system) 时,我得到:

这可能是一个错误还是缺少某些东西?

0 投票
1 回答
72 浏览

kubernetes - 我用 kubeadm 创建了一个主集群,一切都很好,但 CoreDNS 没有工作

根据文档,我使用 kubeadm 创建了一个主集群,我是这样做的:

现在,一切都很好,所有的 pod 和服务都在运行,但是当我测试 CoreDNS 时,问题就出现了。我创建了一个 pod 来测试 dns:

它无法解析 Kubernetes。

我想可能是因为主 IP 是 10.0.197.143,而 CoreDNS 服务的 cluster-ip 是 10.96.0.10。如果我是对的,我该如何更改 cluster-ip 范围?

0 投票
1 回答
511 浏览

kubernetes - 使用 kubeadm 创建的 k8s 集群上的 pod 到 pod 通信问题

我在 GCP 上用 kubeadm(1 个 master + 2 个 worker)创建了一个 2 节点 k8s 集群,一切似乎都很好,除了 pod 到 pod 的通信。

因此,首先,集群中没有明显的问题。所有 pod 都在运行。没有错误,没有crushloopbackoffs,没有挂起的pod。

我强制使用以下场景进行测试:

这些是服务:

nginxnginy服务指向nginx-xxxnginy-xxxpod,并且正在运行nginxcurlers是带有 curl 和 ping 的 pod。其中一个在主节点上运行,另一个在 worker-node-1 上运行。如果我访问在 worker-node-1 (curler-7668c66bf5-6c6v8) 上运行的 curler pod 和curl同一节点上的 nginx pod,它工作正常。

如果我通过服务名称尝试相同的事情,它会像coredns运行一样工作一半;一个在worker-node-1上,另一个在worker-node-2上。我相信如果请求发送到在 worker-node-1 上运行的 coredns pod,它可以工作,但是当它发送到 worker-node-2 时,它不会。

所以,我的 pod 到 pod 通信肯定不起作用。我检查了 calico daemonset pod 的日志,但没有任何可疑之处。我确实在kube-proxypod 中有一些可疑的日志:

谁能告诉我问题是否可能是由于kube-proxyiptables 配置错误造成的?或者指出我遗漏的任何东西?

0 投票
1 回答
495 浏览

kubernetes - 虚拟机之间的 Calico 作为 Kubernetes 节点

我有一个运行在 Vsphere 之上的一些虚拟机的 kubernetes 集群。我为连接部署了 Calico IP-IP 插件,一切正常。我的问题是: 1)当 calico 在节点之间执行 BGP 路由时,这是否也发生在 IPIP 情况下,或者流量只是全网状 IPIP 隧道。2) 如果有 BGP 路由 --- 我如何检查它们?以及它们是如何通过管理程序进行宣传的?
3)如果不是......在我的情况下,数据包在 Pod 之间是如何流动的?

我试图检查 calicoctl 结果,但没有同行。一些IP路由结果: 192.168.0.0/24 via 172.16.5.226 dev tunl0 proto bird onlink 192.168.2.0/24 via 172.16.5.228 dev tunl0 proto bird onlink

0 投票
2 回答
1690 浏览

kubernetes - kubernetes networkpolicy namespaceSelector 在命名空间没有标签时选择

我正在尝试添加一个印花布网络策略,以允许我的命名空间与 kube-system 命名空间通信。但是在我的 k8s 集群中,kube-system 没有附加标签,所以我无法在其中选择 pod。以下是我尝试过的,但它不起作用。

我有一种方法可以仅按名称选择名称空间吗?

0 投票
0 回答
1085 浏览

kubernetes - 无法连接到部署在其他节点上的 pod

我使用 kubeadm ( https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ ) 在 AWS 上创建了一个 2 节点 kubernetes 集群、一个主节点和一个工作节点,并且我正在使用 Calico Networking。

kubectl get nodes将工作节点状态设为就绪。

我已经从主节点创建了部署(对于某些部署,使用选择器作为 workerNode 标签),我可以看到在工作节点上为一些部署创建了 pod。但问题是我无法从主节点或其他节点访问 pod ip(kubectl get ep)。所以 pod ip 只能在 pod 正在运行的节点上访问。

我需要做任何设置才能从主节点访问工作节点的 Pod 吗?

一项观察是,部署在 masterNode 上的 enpoints 为 192.168.179.101,192.168.179.105,而 Worker Node 上的 enpoints 为 192.168.97.5,192.168.97.8

谢谢。

DNS 吊舱 json

可疑的 DNS 日志:-