Kubernetes Calico

这篇具有很好参考价值的文章主要介绍了Kubernetes Calico。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Calico以其性能、灵活性和网络策略而闻名,不仅涉及在主机和Pod之间提供网络连接,而且还涉及网络安全性和策略管理。(还可以配置防火墙规则来隔离不同应用的网络)

对于同网段通信,基于第3层,Calico使用BGP路由协议在主机之间路由数据包,使用BGP路由协议也意味着数据包在主机之间移动时不需要包装在额外的封装层中。

对于跨网段通信,基于IPIP使用虚拟网卡设备tunl0,用一个IP数据包封装另一个IP数据包,外层IP数据包头的源地址为隧道入口设备的IP地址,目标地址为隧道出口设备的IP地址。

网络策略是Calico最受欢迎的功能之一,使用ACLs协议和kube-proxy来创建iptables过滤规则,从而实现隔离容器网络的目的。

此外,Calico还可以与服务网格Istio集成,在服务网格层和网络基础结构层上解释和实施集群中工作负载的策略。这意味着你可以配置功能强大的规则,以描述Pod应该如何发送和接收流量,提高安全性及加强对网络环境的控制。

Calico属于完全分布式的横向扩展结构,允许开发人员和管理员快速和平稳地扩展部署规模。对于性能和功能(如网络策略)要求高的环境,Calico是一个不错选择。

Kubernetes Calico,Kubernetes CNI,kubernetes

calico以demoset的方式运行,其实就是将CNI的这些二进制文件推送到每一个节点上面去。

对于calico来说它有几个重要的组件,第一个是felix,这个组件就是网路插件的agent,它要去做防火墙规则的配置。

第二个就是bird,它是互联网路由交换协议,bird其实也是开源软件,这个开源软件是用来做路由交换的,当在主机上运行bird daemo之后,那么这个主机可以模拟成路由器。如果每个主机上面都运行bird daemon,那么每一个主机之间,它们之间就变成了路由器的网络,它们会基于路由协议bgp,它们之间的协议会彼此交换路由信息,它们就会告知哪个网段应该跳转到我的主机上面来。

这样就相当于不通过tunnel的这种模式就能够将网络打通了。

confd是用来做配置推送的。

所以在每一个主机上面会去运行calico node的pod来完成主机网络的配置。

[root@k8s-master ~]# kubectl get daemonset  -n kube-system
NAME          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
calico-node   3         3         3       3            3           kubernetes.io/os=linux   277d

Kubernetes Calico,Kubernetes CNI,kubernetes

calico的volume的path,所有插件的二进制文件是opt/cni/bin下面的,配置文件是/etc/cni/net.d下面的,也就是主机上面的两个目录通过hostpath形式mount到calico的initcontainer里面来了。

其实也即是在initcontainer在启动的时候会将容器镜像里面的文件拷贝到上面的目录下面。

那么主机就有了这些配置和二进制文件了。

那么containerd在去调用的时候那么就可以调用到了。文章来源地址https://www.toymoban.com/news/detail-638905.html

到了这里,关于Kubernetes Calico的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes 集群calico网络故障排查思路

    报错 calico/node is not ready: BIRD is not ready: BGP not established with 172.16.0.20,172.16.0.30 访问k8s的dashboard界面无法访问网站,查看pod,未知原因导致calico的Pod资源重新创建后无法启动,显示的是0/1状态  Calico的Pod报错内容 原因:calico没有发现实node节点实际的网卡名称 解决方法 调整cal

    2024年02月07日
    浏览(44)
  • 云原生之深入解析Kubernetes CNI插件的选型和应用场景

    在学习容器网络的时候,肯定都听说过 Docker 的 bridge 网络、Vethpair、VxLAN 等术语,从 Docker 到 Kubernetes 后,学习 Flannel、Calico 等主流网络插件,分别代表了 Overlay 和 Underlay 的两种网络传输模式,也是很经典的两款 CNI 网络插件。那么,还有哪些好用的 CNI 插件呢 ? 先来看看 C

    2024年02月15日
    浏览(51)
  • Kubernetes三探(安装calico,join,以及遇到的问题)

    昨晚加班到10点····搞这个破玩意儿 言归正传 上一篇在master成功 kubeadm init了,但是安装network add-on时总是出错。今天来再试一试。 首先我是按照这篇博文安装的, https://blog.csdn.net/weixin_43645454/article/details/124952184 因为国内安装真的太多坑了。官网根本没法看 首先我按照这篇

    2024年02月01日
    浏览(48)
  • kubernetes集群(k8s)之安装部署Calico 网络

    目录 安装部署Calico 网络 (一)环境准备 (二)部署docker环境 (三)部署kubernetes集群 (四)部署Calico网络插件 IP地址 主机名 组件 192.168.100.131 k8s-master kubeadm、kubelet、kubectl、docker-ce 192.168.100.132 k8s-node01 kubeadm、kubelet、kubectl、docker-ce 192.168.100.133 k8s-node02 kubeadm、kubelet、kube

    2024年02月12日
    浏览(50)
  • Kubernetes(k8s):网络插件之Calico安装与详解

    💖The Begin💖点点关注,收藏不迷路💖 在Kubernetes集群中,网络插件对于容器间的通信以及与外部网络的连接至关重要。Calico是一个流行的Kubernetes网络插件,它提供了高性能的网络和安全解决方案,适用于各种部署场景。 Calico是一个开源的网络和安全解决方案,旨在简化和增

    2024年04月11日
    浏览(71)
  • Life of a Packet in Kubernetes - Calico网络进阶(注解版)

    目录 Topics — Part 2 CNI Requirements BIRD (BGP) ConfD Felix Routing Modes IP-in-IP (Default) NoEncapMode VXLAN Demo — IPIP and UnEncapMode Demo — VXLAN Disclaimer References As we discussed in Part 1, CNI plugins play an essential role in Kubernetes networking. There are many third-party CNI plugins available today; Calico is one of them. Many engi

    2024年02月05日
    浏览(35)
  • 【大数据】kubernetes(k8s)calico跨节点网络不通的问题及排错过程

    进入节点 k8s-node27 的pod,ping k8s-node28 节点上的pod的ip都不通,k8s-node28 节点ping k8s-node27 也不通,但是k8s-node27,k8s-node28 之间他们各自节点上的pod的ip之间是可以相互ping通。 排查过程: 这种情况让我们想起了当时设置路由转发时候的配置,主机上有多个网卡,而k8s的calico网络

    2024年02月11日
    浏览(55)
  • k8s-kubernetes--网络策略、flannel网络插件和calico网络插件

    抽象的接口层,将 容器网络配置方案与容器平台方案解耦 CNI(Container Network Interface)就是这样的一个接口层,它定义了一套接口标准,提供了规范文档以及一些标准实现。采用CNI规范来设置容器网络的容器平台不需要关注网络的设置的细节,只需要按CNI规范来调用CNI接口即

    2024年02月07日
    浏览(35)
  • [kubernetes]Calico运行异常:dial tcp 10.96.0.1:443: connect: connection refused

    安装calico网络插件之后,发现相关pod一直不能进入Ready状态,查看log,出现如下问题: Hit error connecting to datastore - retry error=Get “https://10.96.0.1:443/api/v1/nodes/foo”: dial tcp 10.96.0.1:443: connect: connection refused 网上查资料都说是什么iptables配置的问题,各种尝试,发现完全不对。于是

    2024年02月13日
    浏览(38)
  • Kubernetes高可用集群二进制部署(五)kubelet、kube-proxy、Calico、CoreDNS

    Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署(二)ETCD集群部署 Kubernetes高可用集群二进制部署(三)部署api-server Kubernetes高可用集群二进制部署(四)部署kubectl和kube-controller-man

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包