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

networking - 带有网络策略 + calico 的 GKE 拒绝语句

我正在使用 Google Cloud 运行托管集群,因此它可以选择启用NetworkPolicy,并且在后端使用 calico。我遇到的问题,看起来我只能使用 api 版本networking.k8s.io/v1

我正在尝试创建策略,该策略将禁用来自 pod 的任何内部出口 traefik,并允许任何进出外部网络的入口 + 出口。

使用 calico API,它看起来像这样:

或以下政策的否定版本:

所以我有 2 个问题: 1. 是否可以使用networking.k8s.io/v1API 重现上述规则?2. 我能否以某种方式projectcalico.org/v3在托管 GKE 集群上启用 API?

0 投票
0 回答
165 浏览

kubernetes - Pod 没有在使用 kubespray 添加到 k8s 集群的新节点上获得计划/分配的 IP 地址

使用 kubespray 将工作节点添加到现有集群。已加入集群的节点,但节点上计划的新 pod 失败并出现错误“get https://10.233.0.1 : dial tcp 10.233.0.1: 443 connection denied”

网络插件 - 以 ipvs 模式运行的 calico kube-proxy

  1. 从新的工作节点,可以连接到超过 6443 的主服务器 IP 地址
  2. 从新的工作节点,无法通过端口 443 访问集群 ip 10.233.0.1
  3. Calico、nodelocaldns 和 kube-proxy pod 在新节点上处于运行状态
  4. Kube-proxy 日志显示错误“无效的 nodeIP,使用 127.0.0.1 作为 nodeIP 初始化 kube-proxy”无法写入事件:'Post https://127.0.0.1:6443/api/v1/namespaces/default/events dial tcp 127.0 .0.1:6443 连接被拒绝”
  5. ipvsadm -ln 输出不显示任何服务
  6. ip addr show 输出不显示 kube-ipvs0 和 calico 接口

有人可以帮忙吗。谢谢

0 投票
0 回答
963 浏览

kubernetes - 带有 Calico 的 k8s,POD 容器无法在 ip 外 ping

我的 k8s 使用 Calico。在我的容器中,我只能 ping 节点和其他 pod。当我尝试访问我的 gitserver 时,它失败了。

以下是一些信息: 在容器中

在节点

参考https://docs.projectcalico.org/v3.10/networking/external-connectivity 我尝试执行

它返回

根据calicoctl get ippool -o yaml的输出,接缝配置正确natOutgoing: true,不需要修改。k8s容器的ip ↓</p>

但是在 k8s pod 容器中,我无法 ping 我的 gitserver。我也只是在使用相同图像的节点上运行了一个 docker 容器,它工作正常,git clone 成功。

0 投票
1 回答
3780 浏览

kubernetes - Kubernetes API 服务器无法启动:找不到 api-server(master-host) 主机

我已经使用 kubeadm 设置了 Kubernetes 集群,它运行良好。我能够部署 pod 和服务。我曾尝试重新启动集群,它过去没有任何问题。突然,几天后,我不得不重新启动我的机器(在 vms 上托管集群)并且集群开始没有出现。无法理解为什么现在开始发生这种情况。有人可以帮我解决这个问题吗?

这是我的集群的外观:

所有节点(ubuntu 仿生)都托管在一个虚拟盒子上。

有关集群的更多详细信息:

我想强调一下我目前在重新启动 kubelet 时遇到的错误:

主节点上的 docker ps 命令: 在此处输入图像描述

0 投票
1 回答
775 浏览

kubernetes - 如何在特定节点 Kubernetes 上更改 PODcidr

我已经在裸机中设置了一个带有 kubeadm 的 kubernete 集群。

集群运行良好。

接下来我连接了一些工作节点。

但是由于某种原因,分配了 Pod 的其他 IP 地址。

现在,当您部署服务时,如果它安装在这些新节点之一上,则会出现错误。

错误 - “NetworkPlugin cni 未能设置 pod”

我不想做 init (kubeadm init --pod-network-cidr= ),原因很明显,我害怕破坏一切

我使用 Calico 作为 CNI 插件

/var/lib/kubelet/config.yaml:

``

0 投票
2 回答
1778 浏览

kubernetes - Kubernetes 1.17 containerd 1.2.0 与 Calico CNI 节点未加入主节点

我正在使用 containerd 和 Calico 作为 CNI 在 CentOS 8 上设置 kubernetes 集群。使用 kubeadm 命令设置主节点,它处于就绪状态。

当我将节点加入主节点时,节点未处于就绪状态。我在下面看到日志文件的消息。

解决此错误的任何提示?

0 投票
1 回答
3109 浏览

kubernetes - 无法理解 ESX VM 上具有 Kubernetes 集群的节点上的 dmesg 输出

多亏了 kubespray,我配置了一个在 ESX 上的虚拟机上运行的 Kubernetes 测试集群。在配置文件中,我告诉 Kubespray 使用 calico 作为 CNI 配置我的集群,并使用默认 CIDR。

当我使用 vSphere 访问 VM 或dmesg在我的 VM 上运行命令时,我的主服务器上有以下输出:

我的工人的这个输出

我真的很难理解这些日志。它似乎与带有IPVS : rr消息的 calico 相关联,并且每个 ip 地址都对应于集群中的一个服务 IP。但是我没有在我的清单文件中配置任何节点,[calico-rr]因为它是可选的,它在这里是为了改善大型集群之间的 BGP 通信。

据我了解,这是在配置新 pod 和服务期间出现的输出,当我应用 yaml 文件安装 linkerd 时。这与准备探测有关吗?在服务/pod 准备好之前弹出消息?

真正的问题是这些日志正在向 vSphere 上的控制台发送垃圾邮件,我真的不知道如何摆脱它们。

我搜索了有关其他线程的更多信息,但我发现并没有太大帮助。

更新 :

我对 IPVS 有更多的了解:rr 错误。https://kubernetes.io/blog/2018/07/09/ipvs-based-in-cluster-load-balancing-deep-dive/ 链接到kube-proxy使用的IPVS负载均衡。

但我仍然不知道如何通过 vSphere 在我的 ESX 控制台上不显示这些日志。

更新 2:

对于使用 Kubespray 安装 Kubernetes,我只是按照下面的指南并如上所述更改了清单文件。

虚拟机操作系统:Centos 7.7 1908

Kubernetes 版本:1.16.3

Kubespray 版本:release-2.12

Kubespray 入门指南:https ://github.com/kubernetes-sigs/kubespray/blob/master/docs/getting-started.md

0 投票
3 回答
3199 浏览

kubernetes - Calico:networkPlugin cni 设置 pod 失败,i/o 超时

我在我的 k8s 节点上部署一些 pod 时遇到问题。错误如下:

Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "7da8bce09dd6820a65754073b1b4e52e640291dcb82f1da87ae99570c6964d1b" network for pod "webservices-8675d4667d-7mdf9": networkPlugin cni failed to set up pod "webservices-8675d4667d-7mdf9_default" network: Get https://[10.233.0.1]:443/api/v1/namespaces/default : 拨号 tcp 10.233.0.1:443: i/o 超时

但是,部署了一些 pod,例如kubernetes-dashboard

在此处输入图像描述

更新:

coredns的部署:

Web服务的部署:

0 投票
0 回答
61 浏览

amazon-web-services - Kubernetes 上的 NetworkPolicies 并不总是获取源 IP

我目前正在通过and保护我的EKS集群,所以我正在做一些测试以了解它们是如何工作的,我为 PoC 部署了如下结构:NetworkPoliciesCalico

Nginx pod 是使用deployment.yaml 部署的,只有 1 个副本。我还部署了一个 Kubernetes NodePort 服务,NLB 指向该服务。我添加了一个简单的 NetworkPolicy 来阻止所有流量,除了来自我的cidr(Internet)的流量。这按预期工作。

但是,检查nginx logsIP显示不是“真实的IP”,它是一个节点(这是从一个节点重定向到正确节点的IP预期行为),并检查标题,没有任何迹象或类似的迹象。kube-proxyX-Forwarded-For

echo-server为了查看完整的请求和标头,我部署了一个具有相同结构的。令我惊讶的是,它NetworkPolicy不再起作用,我无法在本地 IPIP上使用我的真实NetworkPolicyIP。我必须允许节点cidr才能工作。

来自官方Kubernetes页面(NetworkPolicies: Behavior of to and from selectors

集群入口和出口机制通常需要重写数据包的源 IP 或目标 IP。在发生这种情况的情况下,没有定义这是发生在 NetworkPolicy 处理之前还是之后,并且对于网络插件、云提供商、服务实现等的不同组合,行为可能会有所不同。

但是我不确定这是导致这种行为的原因,如果是这样:

  • 是什么原因导致NetworkPolicies能够获得真实IP?难道不应该在到达服务之前采取行动吗?
  • 当服务存在但不与其他服务一起使用时,我如何能够使用真实源 IP 作为过滤器Nginx>(我也尝试NetworkPolicies直接添加到Kibanapod,但它不起作用)
0 投票
1 回答
705 浏览

kubernetes - Calico 节点无法使用服务器的 IP 地址构建

当我将k8s工作节点添加到主控平面时,calico-node的pod报错显示服务器的ip连接不健康。

我使用 kubeadm 创建集群,主节点似乎可以工作了。当我加入其他工作节点时显示此错误,看起来印花布网络框架在它们之间无法正常工作。

显示kubectl get nodes两个节点都准备好​​了。

显示kubectl get pods --all-namespaces命名空间kube-system中有两个calico-node pod,都是上面的报错显示。