问题标签 [cilium]
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 NetworkPolicy 丢弃的网络流量
我对使用 Kubernetes NetworkPolicy 来控制网络策略很感兴趣。我想知道 NetworkPolicy 是否阻止流量,以便我可以修复策略或修复/停止任何违规行为。
我们使用 Calico,他们认为这是一项付费功能。https://github.com/projectcalico/calico/issues/1035
如果我们开始使用 Cilium, Ciliumcilium monitor
听起来会起作用。
http://docs.cilium.io/en/latest/troubleshooting/
是否有一种通用的、供应商中立的方法来监控违反 Kuberenetes NetworkPolicy 的网络流量?
kubernetes - 失败错误:无法连接到任何 etcd 端点 - etcd:0/1 已连接:kubeadm
我尝试在 kubeadm 中使用 coredns 安装 cilium
库贝:1.12.3 纤毛:1.3.0
我收到此错误:
我不知道为什么以及是否需要在主服务器上安装 etcd。
kubectl 获取 pods -n kube-system
kubernetes - 由于节点的无效范围 ip,Cilium pod 崩溃
我正在使用kubespray部署一个kubernetes集群。我将网络插件从 calico 更改为cilium。
不幸的是,一些纤毛荚卡在 CrashLoopBackOff 中。
检查崩溃 pod 的日志时,我可以看到以下致命错误消息:
似乎节点的 IP(在这种情况下为10.233.71.1)不尊重10.233.70.0/24的有效范围。
我试图修改 kubespray 的 main.yaml 文件来更改子网,但我的多次尝试只使崩溃次数上下波动......
例如,我尝试使用以下运行:
如您所见,它不起作用。如果您有任何想法... :-)
Thx
kubernetes - IPv6模式下的cilium配置
我在直接路由模式下在 Kubernetes 1.12 中使用 cilium。它在 IPv4 模式下工作正常。我们使用 cilium/cilium:no-routes image 和 cloudnativelabs/kube-router 通过 BGP 通告路由。
现在我想在仅 IPv6 的 Kubernetes 集群中配置相同的配置。但是我发现 kube-router pod 崩溃了,并且没有为 --pod-network-cidr 创建路由条目。
以下是实验室详细信息 -
- 主节点:IPv6 私有 IP -fd0c:6493:12bf:2942::ac18:1164
- 工作节点:IPv6私有IP -fd0c:6493:12bf:2942::ac18:1165
- 两个节点的公共 IP 都是 IPv4,因为我没有 IPv6 公共 IP。
仅 IPv6 的 K8s 集群创建为
掌握:
工人:
主节点尚未准备好,因为 cni 尚未配置并且 codedns pod 尚未启动。
现在在 IPv6 中安装 cilium。
1.在主节点运行 etcd。
这里 [fd0c:6493:12bf:2942::ac18:1164] 是主节点 ipv6 ip。
2. sudo mount bpffs /sys/fs/bpf -t bpf
3.运行 kuberouter。
预期结果:
Kube-router 添加对应于集群中其他每个节点的 POD-CIDR 的路由条目。节点公共 IP 将设置为 GW。对于 IPv4,获得以下结果。对于 IPv4,在节点 1 中为节点 2(公共 IP 10.40.139.196 和 POD CIDR 10.244.1.0/24)创建路由条目。Device是绑定公网IP的接口。
注意:仅适用于 IPv6 Kubernetes,--pod-network-cidr=2001:2::/64
实际结果 -
问题-
kuberouter 可以使用 Kubernetes 集群使用的私有 IPv6 地址,而不是使用在我们的例子中是enter code here
IPv4 的公共 IP。
kubernetes - NetworkPolicy 不允许 HTTP/HTTPS 端口上的出口
我正在使用下面的 NetworkPolicy 来允许 HTTP 和 HTTPS 端口上的出口,但是wget https://google.com
在应用网络策略时运行不起作用。域名已解析(DNS 出口规则有效)但连接到外部主机超时。
我已经尝试过使用 cilium 的 minikube 和使用 azure-npm 的 Azure,以防网络策略控制器出现问题,但两者的行为相同。我很困惑,因为我对 DNS 出口使用相同的方法(有效),但对于其他端口却失败了。
是什么阻止了 HTTP/HTTPS 端口的出口?
Kubernetes 版本 1.11.5
(是的,UDP 规则可能是不必要的,但在这里尝试一切)
(我也在wget
私人服务器上尝试过,以防谷歌/等阻止 Azure IP,同样的结果)
(我也尝试过匹配入口规则,因为“为什么不”,结果相同)
kubectl describe
关于网络策略:
最小的可重现示例:
然后:
amazon-web-services - EKS 1.11 + Istio 1.0.6 + Cilium 1.4.1,发布 https://istio-sidecar-injector.istio-system.svc:443/inject?timeout=30s:地址不允许
以下是重现错误的步骤:
1)。安装 AWS EKS 集群 (1.11)
2)。按照本指南安装 Cilium v1.4.1
3)。安装 istio 1.0.6
4)。尝试示例 nginx
遇到问题
调查A,更新includeOutboundIPRanges注解如下,无济于事
调查B,移除Cilium,重新安装istio,然后重新安装nginx。Nginx 注入变好了,Nginx pod 运行良好。
调查 C,作为比较,我在 2) 之间切换了安装步骤。3).,Nginx注入就可以了,可以看到nginx欢迎页面。但是在“手动终止”ec2 worker 实例之后,这个“Address is not allowed”错误会再次出现 - ASG 自动创建所有 ec2 worker 实例。
仅供参考,cilium 和 istio 状态
azure - 带有天蓝色的纤毛簇网
我正在使用 Aks 引擎部署集群网格。我已经在两个不同的集群上安装了 cilium。按照 clustermesh 安装指南,一切看起来都是正确的。列出了节点,状态正确,etcd-operator 日志中没有出现错误。但是,我无法访问外部端点。示例应用程序始终从当前集群应答。
按照故障排除指南,我在代理的调试信息中发现没有声明任何外部端点。集群有一个主节点和两个从节点。我附加了两个集群的节点列表和状态。如果需要,我可以提供额外的日志。
任何帮助,将不胜感激。
集群 1
集群 2
kubernetes - Kubespray 失败并显示“找到多个 CRI 套接字,请使用 --cri-socket 选择一个”
遇到的问题
使用Kubespray、CRI-O和Cilium部署集群时,我收到一个错误,提示有多个 CRI 套接字可供选择。
完全错误
有趣的部分
我试过的
- 1)我试图在
--cri-socket
里面设置标志/var/lib/kubelet/kubeadm-flags.env
:
=> 没有区别
- 2)我已经检查过
/etc/kubernetes/kubeadm-config.yaml
,但它已经包含以下部分:
=> 它已经以criSocket
标志结束,所以无事可做......
- 3) 尝试编辑 ansible 脚本以将其添加
--cri-socket
到现有命令中,但失败并显示Unknow command --cri-socket
现存的 :
试过:
理论
似乎问题来自与标志 kubeadm init phase
不兼容的命令......(见第3点)--crio-socket
即使使用配置文件设置了正确的套接字(参见第 2 点),kubeadm init phase
也没有使用它。
任何想法都会被欣赏;-)
thx
azure - Azure 的 Cilium 集群网格
我需要您的帮助来创建多集群网络。
我做了什么:
1- kubectl apply -f chaining.yaml
2-
3- kubectl -n kube-system 编辑 cm cilium-config
4-
apiVersion: v1
kind: Service
metadata:
name: cilium-etcd-external
namespace: kube-system
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
type: LoadBalancer
ports:
- port: 2379
selector:
app: etcd
etcd_cluster: cilium-etcd
io.cilium/app: etcd-operator
5-
git clone https://github.com/cilium/clustermesh-tools.git cd clustermesh-tools
./extract-etcd-secrets.sh
./generate-secret-yaml.sh > clustermesh.yaml
6-
./generate-name-mapping.sh > ds.patch kubectl -n kube-system 补丁 ds cilium -p "$(cat ds.patch)"
7-
kubectl apply -f clustermesh.yaml
kubectl -n kube-system 删除 pod -l k8s-app=cilium
结果:
簇彼此看不到。你有什么想法吗?
networking - 初始化守护进程时出错”error="exit status 2" subsys=daemon in cilium CNI on kubernetes
在 kubernetes 集群中,我们使用 cilium CNI,但它在工作节点上失败了。错误消息如下所示。
.
集群信息:
我已经进行了一些搜索并找到了这个问题。但我无法解决这个问题。解决这个问题的步骤是什么?他是什么意思:
由于我们不再删除旧的 cilium_host/cilium_net veth 对(如果它们已经存在),“ip route add”将抱怨现有路由。请改用“ip route replace”来解决此问题。