问题标签 [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 节点未在主节点和工作节点之间运行
我使用 kubeadm 创建集群并成功地将工作节点加入到主控平面。
但是master的kube-system命名空间中有两个calico-node pod无法运行,我检查了这两个pod,它们都有相同的错误消息输出。
解析度:
根据这个答案,在我的情况下,我将此行添加到 calico.yaml 文件中。
kubernetes - kubernetes - 从印花布迁移到法兰绒
我有一个版本为 1.11 的 K8S 集群。
我已将 calico 安装为 cni 插件。我需要用法兰绒代替它。
我在网上找到了如何从法兰绒迁移到印花布的指南,但反之则不然。
下来任何人有一个提示/想法如何得到这个?
甚至有可能从印花布迁移到法兰绒?
谢谢
kubernetes - 如何让 kubeadm 部署的 kubernetes 集群中的 pod CIDR 范围更大?
我部署了添加了 --pod-network-cidr 的集群,并使用 calicoctl 创建了新的 ip 池以将 pod 更改为此范围。我遇到的问题正是我需要在 kubernetes 方面进行更改以使 pod cidr 范围更改?我是在 API 服务器、控制器管理器和调度程序中进行更改,还是只需要更改特定部分。我只尝试更改控制器管理器,并且在更改 yaml 中的 --cluster-cidr 后,这些控制平面 pod 进入崩溃循环。
控制器管理器日志中的输出如下?
controllermanager.go:235] 错误启动控制器:未能将 idx [0] 处的 cidr [192.168.0.0/24] 标记为节点占用:: cidr 192.168.0.0/24 超出集群 cidr 10.0.0.0/16 的范围
nginx - Kubernetes 内部网络监控,没有任何 Sidecar
我有 1000 个服务和高内部网络通信的 k8s 集群。我想监视它们之间的所有 HTTP 请求(状态码、响应时间……)。我已经尝试过 istio 和 Linkerd,但两者都需要 sidecar 容器并导致性能问题。Linkerd 没有全时监控,并且 istio 有时会发送 502。
我可以获取像 nginx syslogs 这样的内部网络日志吗?
kubernetes - Kubelet Master 因 cni 缺失而留在 KubeletNotReady
Kubelet 已使用 Calico 的 pod 网络初始化:
然后我得到 calico.yaml v3.11 并应用它:
在我检查 pod 状态之后:
在描述我有 cni 配置单元化,但我认为印花布应该这样做吗?
实际上我在 /etc/cni/net.d/ 下什么都没有,所以它似乎忘记了什么?
正如所解释的,我正在通过本地仓库运行,journalctl 说:
感觉不仅仅是CNI的问题
kubernetes - 我无法访问调度到另一个节点的 pod。但是我可以访问调度到当前节点的 pod
我无法访问调度到另一个节点的 pod。但是我可以访问调度到当前节点的pod,反之亦然,当我在另一个节点上时,我只能访问当前节点上调度的pod,而无法访问调度到另一个节点的pod。并且当前节点上的路由规则与其他节点不同(实际上,我集群中的三个节点都有不同的路由规则)。下面列出了一些信息:
在主节点 172.16.5.150 上:
在另一个节点 172.16.5.150 上:
kubernetes - Kubernetes Ingress 网络策略按预期工作,egress 阻塞了所有流量
我已经从这里在 EKS 上安装了 Calico 。
我有两个命名空间,foo 和 bar,都标有“目的”标签,并且每个都包含一个应用程序 pod。
当我将以下 Ingress-only 策略导入 foo 命名空间时,它完全按预期工作;其他测试 pod 无法连接到 foo-app,但 bar-app 可以。
但是,当我导入包含入口和出口规则的策略时,它会完全关闭到 pod 的网络。我什至无法从 bar-app ping foo-app pod IP。
在删除并系统地重新添加部分策略之后,肯定是namespaceSelector
在出口中添加条目会破坏它。
集群上没有其他网络策略。
如果没有直接明显的原因说明为什么会发生这种情况;除了在工作节点上搜索 netfilter 规则之外:有没有有效的方法来调试这个?
kubernetes - Kubernetes + calico + 副本集
所以我发现自己处于一个非常棘手的境地。我正在尝试创建一个简单的副本集,但不幸的是我遇到了印花布的一些问题。
我有 2 个 VM 在 OracleVM 上运行。我将它们配置为使用 enp0s8 接口。master节点的ip是192.168.56.2,worker节点的ip是192.168.56.3
这是我在 Kubernetes 中所做的。首先,我正在创建 kubernetes 主节点:
成功初始化后,我正在运行:
现在我通过运行创建 POD 网络:
之后我成功地从工作节点加入。每当我启动副本时:
*** 编辑:我不必创建副本集来获得与 calico-node 创建卡住的相同结果
其中 yml 如下所示:
我正在创建一个新的 calico-node 最终会卡住
如果我
kubectl logs -n kube-system calico-node-mcb5g -f
在上面运行,我会得到以下日志:
我尝试配置 calico.yml 并在 env 中添加以下行:
但结果还是一样。
非常感谢您阅读本文,如果您有任何建议,我将不胜感激!!!
kubernetes - Kubernetes 服务无法连接到外部服务或互联网
我的 ASP.NET Core Api Web 应用程序无法连接到集群外的任何服务器。甚至访问互联网似乎被阻止。仅当我的应用程序托管在我的本地 Ubuntu 集群中时,才会出现此问题。在 docker 桌面集群中运行时,一切正常。
我在 Window 开发人员机器上作为 Hyper-V 节点运行的 2 个 Unbuntu 18.04 服务器上设置了一个基本的 Kubernetes 集群。我使用印花布作为我的网络覆盖。我已经按照 Quick Start 方法安装了 Calico。我的应用程序部署为 nodeport 并且运行良好。我可以访问我所有的控制器。但是,当我尝试连接到例如在集群外运行的 SQL Server 时,我会收到超时。
即使使用 HttpClient 访问 google.com 的控制器方法超时。
kubectl 日志 -n kube-system coredns
所以似乎有些东西阻止了所有这些请求。我已经在我的 Ubuntu 机器上禁用了 Ubuntu 防火墙。所以有别的东西在阻塞。但我不知道出了什么问题。
任何帮助,将不胜感激。
kubernetes - Ufw 防火墙阻止 kubernetes(使用 calico)
我正在尝试在我的服务器(Debian 10)上安装一个 kubernetes 集群。在我的服务器上,我使用 ufw 作为防火墙。在创建集群之前,我在 ufw 上允许了这些端口:
179/tcp, 4789/udp, 5473/tcp, 443/tcp, 6443/tcp, 2379/tcp, 4149/tcp, 10250/tcp, 10255/tcp, 10256/tcp, 9099/tcp, 6443/tcp
正如 calico doc 建议的那样(https://docs.projectcalico.org/getting-started/kubernetes/requirements)和这个关于 kubernetes 安全性的 git repo(https://github.com/freach/kubernetes-security-best-practice) .
但是当我想创建集群时,calico/node pod 无法启动,因为 Felix 不在线(我在 ufw 上允许 9099/tcp):
Liveness probe failed: calico/node is not ready: Felix is not live: Get http://localhost:9099/liveness : dial tcp [::1]:9099: connect: connection denied
如果我禁用 ufw,则会创建集群并且没有错误。
所以我想知道我应该如何配置 ufw 以使 kubernetes 工作。如果有人可以帮助我,那就太好了,谢谢!
编辑:我的 ufw 状态
抱歉,我的 ufw 规则有点乱,我尝试了太多东西来让 kubernetes 正常工作。