问题标签 [project-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 投票
0 回答
621 浏览

docker - Kubernetes kube-dns 在 crashloop 中暂停容器,错误添加网络:Statfs 失败\“/proc/54226/ns/net\”:

我有一个 Kubernetes onebox 部署,其中包含以下(容器化)组件,所有组件都运行为--net=host,kubelet 作为特权 Docker 容器运行,并将 kubernetes 标志--allow-privileged设置为 true。

最重要的是,我启用了插件管理器kubectl create -f https://github.com/kubernetes/kubernetes/blob/master/test/kubemark/resources/manifests/kube-addon-manager.yaml,并将 calico 2.6.1 和 kube-dns 1.14.5 的默认 yaml 清单安装到/etc/kubernetes/addons/. calico pod 按预期提供了两个节点(install-cni 和 calico-node)。

但是,kube-dns 卡在 ContainerCreating 或 ContainerCannotRun 中,在尝试启动 Kubernetes 暂停容器时出现以下错误:

我看到 \pause 容器不断出现,只是在一秒钟后退出,并带有一个无害的错误消息(这个是旧的,我停止了集群,所以它不会继续产生更多的容器):

/proc/54226我的主机上不存在该目录,我认为这就是 CNI 抱怨的原因。但是 Calico 的暂停容器很好,运行相同的图像,所以必须要么只在 kube-dns 的情况下无法写入,要么在 Calico 的情况下不尝试写入。我在 Openshift 上发现了一些与 SELinux 相关的类似错误的引用,但我运行的是一个裸机 Ubuntu 14.04 VM,甚至没有安装 SELinux。

我的 CNI conf 也很简单,由 install-cni calico 容器生成:

有没有人碰到类似的东西?

0 投票
2 回答
306 浏览

command-line - 新手安装帮助:Calico CLI - Windows

希望这是菜鸟和简单的问题。我正在尝试在本地 Windows 机器上安装 CLI 以修改托管的 Kubernetes 服务器。

从他们的 Github下载基本的 Windows 安装程序后,我似乎无法成功运行安装。命令行打开一秒钟,然后消失,什么也没发生。

我已经在两台不同的 Windows PC(Win10 和 Win7)上尝试过,它们都使用 admin priv 并以管理员身份运行。我尝试下载源代码并查看 calicotcl\commands 文件夹,其中包含我希望使用的 .go 资源。我试过直接从 CMD 线打电话给那些人,但没有运气,但我在这个世界上很绿。

我花了两天时间试图通过这一步......非常感谢任何帮助。

0 投票
1 回答
273 浏览

project-calico - 使用 k8 安装时 Calico 挂起

作为一个新手,我试图用minikube.
我确实从https://github.com/kubernetes/minikube/releases/tag/v0.20.0将它下载到了我的 Ubuntu 操作系统中。

我尝试了以下命令来安装它:

然后将https://github.com/projectcalico/calico/blob/master/v2.6/getting-started/kubernetes/installation/hosted/calicoctl.yaml下载到我/usr/local/bin/的 Ubuntu 位置

最后尝试 d 安装
kubectl apply -f calico.yaml

但发出命令后,终端机挂断了很长时间,没有任何反应。

我尝试了几次,但结果相同。
请帮助,我无法安装它

0 投票
1 回答
300 浏览

project-calico - 非 Calico 节点访问 Calico 网络的任何方式

我对 Calico 和 Calico 网络非常陌生,到目前为止,我浏览了 Calico 文档。
我的问题是,有没有办法让非Calico节点访问Calico 网络? 浏览了所有文档,但没有找到任何解决方案,我错过了什么吗?

0 投票
1 回答
1406 浏览

project-calico - 关闭 calico/felix iptables 规则或允许所有配置文件?

我正在使用 calico 2.6 和 docker 17.09.0-ce,它工作正常。我只有 2 个问题无法找到答案。

1) 如何完全关闭 calico/felix iptables 规则?我在想这可能适用于 CALICO_LIBNETWORK_CREATE_PROFILES=false 环境变量,但仍然设置了 iptable 规则。或者,我如何将系统设置为“全部允许”。

2) 如果 1) 的答案是这是不可能的,那么我如何允许集群中的任何主机与任何工作负载端点对话(例如 ping 或 curl)?我可以从运行工作负载的主机与工作负载通信,但不能从集群中的任何其他主机通信。我尝试过应用带有“egress:action:allow”和“ingress:action:allow”的配置文件,但它仍然会阻止来自其他主机的流量。我证实这确实是由于 calico 通过跟踪它们以及禁用它们而生成的 iptables 规则。然后它工作。我在停止 calico/node 容器后使用了以下脚本:https ://github.com/projectcalico/calico/blob/master/hack/remove-calico-policy/remove-calico-policy.sh

顺便说一句, FELIX_DEFAULTENDPOINTTOHOSTACTION=ACCEPT 标志似乎也不起作用。

0 投票
1 回答
911 浏览

project-calico - 如何在 Calico 中卸载或删除策略演示

calico新手,尝试使用 calico 保护 Kubernetes集群
我已经使用参考文档herekubectl的命令进行了安装。curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

我尝试在这里通过裁判来安装Calico Kubernetes NetworkPolicy使用命令:创建命名空间 kubectlkubectl create ns policy-demo

然后创建 nginx pod 和服务:

kubectl run --namespace=policy-demo nginx --replicas=2 --image=nginx

kubectl expose --namespace=policy-demo deployment nginx --port=80

现在,我想从系统中卸载并删除策略演示和命名空间。
有没有蚂蚁的方式我可以做到这一点并使用命令从我的系统中删除它?
如何卸载和删除策略演示?

0 投票
1 回答
1230 浏览

kubernetes - 监控或记录 Kubernetes NetworkPolicy 丢弃的网络流量

我对使用 Kubernetes NetworkPolicy 来控制网络策略很感兴趣。我想知道 NetworkPolicy 是否阻止流量,以便我可以修复策略或修复/停止任何违规行为。

我们使用 Calico,他们认为这是一项付费功能。https://github.com/projectcalico/calico/issues/1035

如果我们开始使用 Cilium, Ciliumcilium monitor听起来会起作用。 http://docs.cilium.io/en/latest/troubleshooting/

是否有一种通用的、供应商中立的方法来监控违反 Kuberenetes NetworkPolicy 的网络流量?

0 投票
1 回答
1313 浏览

network-programming - Kubernetes 服务无法按预期与 kafka 一起工作

我正在尝试将 zookeeper 和 kafka 设置为共享命名空间中的单独 Kubernetes 部署/pod。我已经在我的 Ubuntu 沙箱上通过 kubeadm 用 Calico 引导了一个本地 K8s 1.8 ......

对于 Zookeeper,我使用的是 hub.docker.com 中的 zookeeper:3.4 映像,并创建了一个 Kubernetes 部署和服务,其中我公开了端口:2181 2888 3888。服务名称是 zookeeper,我假设我应该能够使用来自命名空间中的 pod 的这个主机名。

对于 Kafka 1.0,我创建了自己的容器映像,可以使用环境变量进行控制……我将 zookeeper.connect 设置为 zookeeper:2181。我假设 Kubernetes DNS 会解决这个问题并打开与服务的连接。

不幸的是我得到:

所以我假设我的集群中有一个通用的网络问题,然后我注意到一些对我来说更令人困惑的事情......如果我将 zookeeper.connect 设置为 10.107.41.148:2181 (zookeeper 服务的当前地址),连接工作(至少从kafka到zookeeper)。

通过这个设置,我可以使用来自 kubernetes 集群主机的 zookeeper 服务来执行例如“bin/kafka-topics.sh --list --zookeeper 10.107.41.148:2181”。生成消息不起作用...我假设一旦网络正常工作,我需要添加卡夫卡广告地址...

任何提示我的 Kubernetes 网络设置有什么问题,或者至少从哪里开始故障排除?

谢谢你和最好的问候,帕维尔

0 投票
1 回答
701 浏览

docker - Flink 无法使用 Calico 在 Kubernetes 上上传 jar 文件。PUT 操作失败

我们在 AWS 的 Kubernetes 1.8 中运行 Flink。几个月来一直很好。我已经设置了一个新的 k8s 集群。一切都一样,除了我们启用了印花布(而不是只使用法兰绒)

就像 Flannel 一样,Calico 为我们提供了容器之间的网络。

启用 Calico 后,Flink 客户端在尝试向作业管理器发送 jar 文件时收到此错误:

org.apache.flink.client.program.ProgramInvocationException:程序执行失败:无法将 jar 文件上传到作业管理器。原因:java.io.IOException:无法检索 JobManager 的 blob 端口。原因:java.io.IOException:PUT 操作失败:连接重置 原因:java.net.SocketException:连接重置

和工作经理说:

java.lang.IllegalArgumentException:永久 BLOB 的 BLOB 寻址无效 2018-03-27 06:28:16,069 INFO org.apache.flink.runtime.jobmanager.JobManager - 提交作业 11433fc332c7d76100fd08e6d1b623b4 (flink-job-connectivity-test)。2018-03-27 06:28:16,085 INFO org.apache.flink.runtime.jobmanager.JobManager - 对 11433fc332c7d76100fd08e6d1b623b4 使用重启策略 NoRestartStrategy。2018-03-27 06:28:16,096 INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - 作业通过故障转移策略恢复:全图重启 2018-03-27 06:28:16,105 INFO org.apache.flink.runtime .jobmanager.JobManager - 在 master 上为作业 flink-job-connectivity-test (11433fc332c7d76100fd08e6d1b623b4) 运行初始化。2018-03-27 06:28:16,105 信息 org.apache.flink.runtime。jobmanager.JobManager - 在 0 毫秒内成功地在 master 上运行初始化。2018-03-27 06:28:16,117 错误 org.apache.flink.runtime.jobmanager.JobManager - 无法提交作业 11433fc332c7d76100fd08e6d1b623b4 (ignite-flink-job-connectivity-test) java.lang.NullPointerException at org.apache.flink .util.Preconditions.checkNotNull(Preconditions.java:58) 在 org.apache.flink.runtime.checkpoint.CheckpointStatsTracker.(CheckpointStatsTracker.java:121) 在 org.apache.flink.runtime.executiongraph.ExecutionGraphBuilder.buildGraph(ExecutionGraphBuilder. java:228) 在 org.apache.flink.runtime.jobmanager.JobManager.org$apache$flink$runtime$jobmanager$JobManager$$submitJob(JobManager.scala:1277) 在 org.apache.flink.runtime.jobmanager.JobManager $$anonfun$handleMessage$1.applyOrElse(JobManager.scala:

看起来文件无法从客户端传输到作业管理器。我相信无效的 BLOB 寻址是因为作业管理器没有收到任何文件。

一切都是一样的。在一个集群上工作。对另一个不起作用。端口配置相同。每件文物都是一样的。

我们没有任何 NetworkPolicy。但是启用 Calico 会对网络产生某种形式的影响吗?

0 投票
3 回答
3205 浏览

kubernetes - 如何使用出口网络策略允许访问 kubernetes api?

使用命令初始化容器kubectl get pod用于获取其他 pod 的就绪状态。

开启 Egress NetworkPolicy 后,init container can't access Kubernetes API: Unable to connect to the server: dial tcp 10.96.0.1:443: i/o timeout. CNI 是印花布。

尝试了几个规则,但没有一个有效(服务和主主机 IP,不同的 CIDR 掩码):

或使用命名空间(默认和 kube-system 命名空间):

看起来ipBlock规则不起作用,命名空间规则不起作用,因为 kubernetes api 是非标准 pod。

可以配置吗?Kubernetes 是 1.9.5,Calico 是 3.1.1。

GKE 1.13.7-gke.8 和 calico 3.2.7 仍然存在问题