问题标签 [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.
networking - 带有网络策略 + calico 的 GKE 拒绝语句
我正在使用 Google Cloud 运行托管集群,因此它可以选择启用NetworkPolicy
,并且在后端使用 calico。我遇到的问题,看起来我只能使用 api 版本networking.k8s.io/v1
。
我正在尝试创建策略,该策略将禁用来自 pod 的任何内部出口 traefik,并允许任何进出外部网络的入口 + 出口。
使用 calico API,它看起来像这样:
或以下政策的否定版本:
所以我有 2 个问题: 1. 是否可以使用networking.k8s.io/v1
API 重现上述规则?2. 我能否以某种方式projectcalico.org/v3
在托管 GKE 集群上启用 API?
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
- 从新的工作节点,可以连接到超过 6443 的主服务器 IP 地址
- 从新的工作节点,无法通过端口 443 访问集群 ip 10.233.0.1
- Calico、nodelocaldns 和 kube-proxy pod 在新节点上处于运行状态
- 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 连接被拒绝”
- ipvsadm -ln 输出不显示任何服务
- ip addr show 输出不显示 kube-ipvs0 和 calico 接口
有人可以帮忙吗。谢谢
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 成功。
kubernetes - 如何在特定节点 Kubernetes 上更改 PODcidr
我已经在裸机中设置了一个带有 kubeadm 的 kubernete 集群。
集群运行良好。
接下来我连接了一些工作节点。
但是由于某种原因,分配了 Pod 的其他 IP 地址。
现在,当您部署服务时,如果它安装在这些新节点之一上,则会出现错误。
错误 - “NetworkPlugin cni 未能设置 pod”
我不想做 init (kubeadm init --pod-network-cidr= ),原因很明显,我害怕破坏一切
我使用 Calico 作为 CNI 插件
/var/lib/kubelet/config.yaml:
``
kubernetes - Kubernetes 1.17 containerd 1.2.0 与 Calico CNI 节点未加入主节点
我正在使用 containerd 和 Calico 作为 CNI 在 CentOS 8 上设置 kubernetes 集群。使用 kubeadm 命令设置主节点,它处于就绪状态。
当我将节点加入主节点时,节点未处于就绪状态。我在下面看到日志文件的消息。
解决此错误的任何提示?
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
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服务的部署:
amazon-web-services - Kubernetes 上的 NetworkPolicies 并不总是获取源 IP
我目前正在通过and保护我的EKS
集群,所以我正在做一些测试以了解它们是如何工作的,我为 PoC 部署了如下结构:NetworkPolicies
Calico
Nginx pod 是使用deployment.yaml 部署的,只有 1 个副本。我还部署了一个 Kubernetes NodePort 服务,NLB 指向该服务。我添加了一个简单的 NetworkPolicy 来阻止所有流量,除了来自我的cidr
(Internet)的流量。这按预期工作。
但是,检查nginx logs
,IP
显示不是“真实的IP
”,它是一个节点(这是从一个节点重定向到正确节点的IP
预期行为),并检查标题,没有任何迹象或类似的迹象。kube-proxy
X-Forwarded-For
echo-server
为了查看完整的请求和标头,我部署了一个具有相同结构的。令我惊讶的是,它NetworkPolicy
不再起作用,我无法在本地 IPIP
上使用我的真实NetworkPolicy
IP。我必须允许节点cidr
才能工作。
来自官方Kubernetes
页面(NetworkPolicies: Behavior of to and from selectors)
集群入口和出口机制通常需要重写数据包的源 IP 或目标 IP。在发生这种情况的情况下,没有定义这是发生在 NetworkPolicy 处理之前还是之后,并且对于网络插件、云提供商、服务实现等的不同组合,行为可能会有所不同。
但是我不确定这是导致这种行为的原因,如果是这样:
- 是什么原因导致
NetworkPolicies
能够获得真实IP?难道不应该在到达服务之前采取行动吗? - 当服务存在但不与其他服务一起使用时,我如何能够使用真实源 IP 作为过滤器
Nginx
>(我也尝试NetworkPolicies
直接添加到Kibana
pod,但它不起作用)
kubernetes - Calico 节点无法使用服务器的 IP 地址构建
当我将k8s工作节点添加到主控平面时,calico-node的pod报错显示服务器的ip连接不健康。
我使用 kubeadm 创建集群,主节点似乎可以工作了。当我加入其他工作节点时显示此错误,看起来印花布网络框架在它们之间无法正常工作。
显示kubectl get nodes
两个节点都准备好了。
显示kubectl get pods --all-namespaces
命名空间kube-system中有两个calico-node pod,都是上面的报错显示。