问题标签 [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.
kubernetes - Kubernetes 集群中没有传出网络连接
我已经构建了具有 3 个工作节点和一个管理节点的集群。工作节点部署并设置了 kube-dns 和 calica。每台机器都有自己的外部 IP 和关联的 DNS。我成功运行了 nginx-ingress-controller 并且它的默认 404-endpoint 可以从外部访问。
现在,问题是由于某种原因不允许工作人员中的 pod 建立出站连接。当我将 exec 放入 pod 时,我无法 curl 也无法 ping,即使网络似乎在 pod 内配置得很好。我试图检查 calico 配置,但它非常混乱,我不知道它怎么可能是错误的。是否有任何默认的 calico/k8s 设置禁止从其节点传出连接?或者也许有人面临类似的问题?
我将按需提供日志输出,因为我不确定在检查这个问题时哪些信息是宝贵的。
kubernetes - Calico etcd 没有名为 calico 的键
我有一个带有 calico 网络的 2 节点 kubernetes 集群。所有的 pod 都已启动并运行。
我想使用 etcdctl 查询 calico-etcd,但出现以下错误。
关于我为什么会收到此错误的任何指示?
docker - Kubernetes 服务只能在 POD 的主机上访问
我有一个安装了 KUBEADM 的 3 节点裸机集群(使用运行 CentOS 7 的英特尔 NUC 构建)。
主节点提供2个不同的网络接口,一个用于外部访问,第二个配置为集群本地网络的DHCP服务器。通过以下 iptables 规则启用两个网络之间的 IP 转发和伪装
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i {{lan_interface_name}} -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o {{wan_interface_name}} -j MASQUERADE
iptables -A FORWARD -i {{wan_interface_name}} -o {{lan_interface_name}} -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -i {{lan_interface_name}} -o {{wan_interface_name}} -j ACCEPT
此外,我还为集群中的每个节点启用了 docker 接口和 lan 接口之间的转发
iptables -I INPUT -i docker0 -j ACCEPT
iptables -t nat -A POSTROUTING -o {{lan_interface_name}} -j MASQUERADE
iptables -I FORWARD -i {{lan_interface_name}} -o docker0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -i docker0 -o {{lan_interface_name}} -j ACCEPT
为了确保没有 iptables 问题,我默认启用了所有流量
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
虽然这是 /etc/sysctl.conf 文件
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1
我按照 kubeadm 的说明使用 CALICO ( https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ ) 启动了一个集群,并且除了每个 POD 都可以访问 kube-dns 之外,一切似乎都正常工作在每个节点中)用于公开的服务。
只是为了测试,我创建了一个 nginx 部署并通过 nodeport 公开它:
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 30m
nginx NodePort 10.96.227.49 <none> 80:31242/TCP 22m
如果我尝试在 POD 的同一节点内卷曲集群 IP,一切都很好,而如果我尝试在另一个节点卷曲请求超时时卷曲它。
任何帮助将非常感激。
docker - Kubernetes Calico 节点 'XXXXXXXXXXX' 已经在使用 IPv4 地址 XXXXXXXXX,CrashLoopBackOff
我使用 AWS Kubernetes 快速入门在 VPC 和私有子网中创建 Kubernetes 集群:https://aws-quickstart.s3.amazonaws.com/quickstart-heptio/doc/heptio-kubernetes-on-the-aws-cloud。 .pdf _ 它运行了一段时间。我的 Kubernetes 集群上安装了 Calico。我有两个节点和一个主节点。主节点上的 calico pod 运行良好,节点上的 calico pod 处于 crashloopbackoff 状态:
描述其中一个坠毁的吊舱:
同一 pod 的日志:
因此,查找节点 IP 地址似乎存在冲突,或者 Calico 似乎认为 IP 已分配给另一个节点。快速搜索我发现了这个线程:https ://github.com/projectcalico/calico/issues/1628 。我看到这应该通过将 IP_AUTODETECTION_METHOD 设置为 can-reach=DESTINATION 来解决,我假设它是“can-reach=10.0.0.237”。此配置是在 calico/node 容器上设置的环境变量。我一直在尝试进入容器本身,但 kubectl 告诉我找不到容器:
我怀疑这是由于 Calico 无法分配 IP。所以我登录到主机并尝试使用 docker 在容器上运行:
所以我猜容器中没有要执行的shell。Kubernetes 无法执行的原因是有道理的。我尝试在外部运行命令以列出环境变量,但我找不到任何命令,但是我可能会错误地运行这些命令:
好的,所以也许我正在以错误的方式解决这个问题。我应该尝试使用 Kubernetes 更改 Calico 配置文件并重新部署它吗?我在哪里可以在我的系统上找到这些?我一直无法找到在哪里设置环境变量。
kubernetes - Kubernetes calico 网络策略
我是 Kubernetes 的新手,正在尝试学习 calico 网络。我正在关注此文档(https://docs.aws.amazon.com/eks/latest/userguide/calico.html),并尝试创建一个网络策略,以使流量在后端到客户端之间流动:
我完成了文档中的所有 10 个步骤,并尝试通过创建一个策略来进行测试,该策略将使用上述策略将流量从后端发送到客户端。
当我应用该策略时没有错误,但我看不到两者之间的流量/连接。
请让我知道出了什么问题。
kubernetes - eks calico 允许从 aws classic elb 入站到 pod
我正在尝试设置网络策略以仅允许从 aws 经典负载均衡器到 Pod 的入站流量。没有其他东西可以与包含任何 pod 副本的 pod 通信。我已经配置了以下但它不起作用。有什么我想念的想法吗?一旦我应用它,负载均衡器上的健康检查就会失败。
windows - 带有 calico 的 kubernetes windows worker 节点无法部署 pod
我尝试使用kubeadm.exe join
加入 Windows 工作节点,但它不工作。
然后我尝试参考这个文档nwoodmsft/SDN/CalicoFelix.md,在这之后,节点状态就像这样
豆荚:
kube-proxy 和 calico 不应该是容器的方式,它是在 Windows 下使用 kube-proxy.exe 运行的。
calico pods 错误信息:
演示.yaml
演示 pod 错误日志
配置: “c:\k\”
cni 目录默认为空。然后添加 calico-felix.exe 和配置文件L2Brige.conf
我尝试用谷歌搜索,需要 cni,但没有找到 calico cni。在这种情况下我该怎么办,构建Windows calico cni?
kubernetes - gke 集群从 1.10.x 升级到 1.11.x 后,calico-node pod 不启动
我们已将 GKE 集群升级到 1.11.x,尽管该过程成功完成,但集群无法正常工作。有多个 pod 崩溃或保持 peding 并且 calico 网络上的所有点都不起作用:
它的日志显示了这个信息:
kubectl -n kube-system logs -f calico-node-2hhfz calico-node
注意最后的错误(could not find the requested resource (post BGPConfigurations.crd.projectcalico.org)
):
知道我们如何修复集群吗?
kubernetes - 网络策略白名单 IP
我在 IBM Cloud 上使用 Kubernetes,并尝试创建一个白名单策略以应用于入口。
我已经安装了 calico 来创建 kubernetes 策略 https://console.bluemix.net/docs/containers/cs_network_policy.html#network_policies
并按照本教程 https://console.bluemix.net/docs/containers/cs_tutorials_policies.html#lesson2
我还启用了 IP 源的保留: https ://console.bluemix.net/docs/containers/cs_ingress.html#preserve_source_ip
当策略直接应用于负载均衡器时,它运行良好,而不是当应用于入口时,它不起作用。
原因是传入的 IP 地址映射到入口的内部 IP 地址。
由于这个原因,负载均衡器不会将 IP 识别为允许的 IP(因为入口的 IP 地址不在白名单中)并且连接被阻止。
我该如何解决这个问题?