k8s series初级calico使用介绍
目录
- calico简介
- calico是什么?
- calico优点
- calico安装
- calico组件
calico简介
calico是什么?
Calico 是一个开源网络和网络安全解决方案,适用于容器、虚拟机和基于主机的本地工作负载。Calico支持广泛的平台,包括 Kubernetes、OpenShift。
无论使用Calico的eBPF数据平面还是 Linux 的标准网络管道,Calico都能提供极快的性能和真正的云原生可扩展性
Calico支持公有云和本地运行,支持在单个节点或数千个节点集群中运行
calico优点
- 支持linux eBPF数据通道,标准的linux网络数据通道,还支持windows HNS数据通道
- 丰富的网络策略,内置对wireguard加密支持,保护pod-pod数据安全
- Calico使Linux eBPF或Linux内核高度优化的标准网络管道来提供高性能网络
- Calico的控制平面和策略引擎做了很好的调整,使占用和使用cpu率最小化
- 支持超级可扩展性,满足几十节点,到十千个节点的伸缩
- 支持L2,L3层网络
- 不对数据进行解包压包,不需要nat和端口映射,性能强悍
calico安装
将calico安装在kubenetes集群中有很多种方式,这里选择一种比较方便的yaml文件方式
#3.20版本只支持1.19 1.20 1.21 #版本之间可能不兼容,具体细节需要查看官网说明 wget https://docs.projectcalico.org/v3.20/manifests/calico.yaml kubectl apply -f calico.yaml #查看已部署的caclico,默认情况是一个calico控制器和N个calico node kubectl get pods -A -o wide| grep calico
默认安装的calico,管理的节点不超过50个,且数据存储交由kubenetes api负责,数据真实还是存在etcd中
calico组件
- Felix: agent进程,以DaemonSet方式安装在每个节点,负责网络接口管理,路由,ARP,ACL的管理,状态上报,同步等
- calico-controller: calico控制器,监听和变更来源于kubernetes的资源
- calicoctl:calico的cli工具,方便对calico排错
- typha: 大于50个节点,使用typha代替apiServer来和ectd交互
- bird: 从Felix获取路由并分发到网络上的 BGP对等点,以进行主机间路由。在托管 Felix 代理的每个节点上运行,是路由的守护进程
- confd: 监视Calico的存储,以便查看BGP配置和全局缺省值进行更新。
- Datastore plugin: 通过减少每个节点对数据存储的影响来增加规模,是Calico CNI插件之一
- IPAM plugin: 使用 Calico的IP池资源来控制如何将 IP 地址分配给集群中的豆荚。 Calico 默认CNI插件
- etcd: 分布式键值存府,主要负责网络无数据一致性,确保calico网络状态的准确性,默认情况共用k8s集群的etcd
以上就是k8s series初级calico使用介绍的详细内容,更多关于k8s series初级calico的资料请关注我们其它相关文章!
相关推荐
-
CKAD认证中部署k8s并配置Calico插件
预设网络 Calico(https://github.com/projectcalico/calico) 是针对容器.虚拟机和裸机工作负载的开源网络和安全解决方案,它提供了 pod 之间的网络连接和网络安全策略实施. 读者可参考 https://kubernetes.io/zh/docs/concepts/cluster-administration/networking/ 这里不做过多的说明. 执行 ip addr 命令,找到 ens4,把里面提到的 ip 记录下来. ens4: <BROAD
-
教你在k8s上部署HADOOP-3.2.2(HDFS)的方法
环境+版本k8s: v1.21.1hadoop: 3.2.2 dockerfile FROM openjdk:8-jdk # 如果要通过ssh连接容器内部,添加自己的公钥(非必须) ARG SSH_PUB='ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3nTRJ/aVb67l1xMaN36jmIbabU7Hiv/xpZ8bwLVvNO3Bj7kUzYTp7DIbPcHQg4d6EsPC6j91E8zW6CrV2fo2Ai8tDO/rCq9Se/64F3+8oEI
-
Rancher通过界面管理K8s平台的图文步骤详解
目录 一.Rancher 简介 1.Rancher API Server 的功能 2.Rancher 主要组件和功能图示 二.Rancher 安装 1.通过 Docker 来进行安装 2.在 Rancher 的界面上绑定 K8s 3.在 Rancher 上部署应用 一.Rancher 简介 Rancher 是为使用容器的公司打造的容器管理平台,通过 Rancher,企业不再需要使用一系列开源软件从零开始构建一个容器服务平台.同时 Rancher 还提供了一个全栈容器部署和管理平台,用于管理 Do
-
解决国内k8s的ingress-nginx镜像无法正常pull拉取问题
一.问题描述 我们期望运行Ingress就必须给我们的集群创建Ingress controller 目前官方推荐的controller有:[目前支持和维护 AWS, GCE 和 nginx Ingress 控制器] https://kubernetes.io/zh/docs/concepts/services-networking/ingress-controllers/ 我们使用nginx控制器,其官网给出的配置方法如下:https://kubernetes.github.io/ingress
-
阿里云k8s服务springboot项目应用升级时出现502错误
随着小步快跑.快速迭代的开发模式被越来越多的互联网企业认同和采用,应用的变更.升级频率变得越来越频繁.为了应对不同的升级需求,保证升级过程平稳顺利地进行,诞生了一系列的部署发布模式. 停机发布 - 把老版的应用实例完全停止,再发布新的版本.这种发布模式主要为了解决新老版本互不兼容.无法共存的问题,缺点是一段时间内服务完全不可用. 蓝绿发布 - 在线上同时部署相同数量的新老版本应用实例.待新版本测试通过后,将流量一次性地切到新的服务实例上来.这种发布模式解决了停机发布中存在的服务完全不可用问题,但
-
K8s准入控制Admission Controller深入介绍
目录 K8s 的准入控制器是什么 K8s 中的请求处理流程 什么是准入控制器(Admission Controller) 为什么需要准入控制器 Admission Controller 准入控制器 动态准入控制器 使用条件 Admission Webhook 是什么 如何部署 Admission Webhook 总结 在我之前发布的文章 <云原生时代下的容器镜像安全>(系列)中,我提到过 Kubernetes 集群的核心组件 -- kube-apiserver,它允许来自终端用户或集群的各组件
-
.NET项目在k8s中运行的Dapr持续集成流程
目录 流程选择 项目结构 dapr.yaml Dockerfile Pipelines 持续集成的配置文件 Release 发布流程配置文件 其它流程 注:本文中主要讨论 .NET6.0项目在 k8s 中运行的 Dapr 的持续集成流程, 但实际上不是Dapr的项目部署到K8s也是相同流程,只是k8s的yaml配置文件有所不同 流程选择 基于 Dapr 的项目持续集成包含以下流程 编译并打包项目 构建 Dockerfile,并推送镜像push image至私有仓库 准备 k8s 部署的配置文件
-
k8s series初级calico使用介绍
目录 calico简介 calico是什么? calico优点 calico安装 calico组件 calico简介 calico是什么? Calico 是一个开源网络和网络安全解决方案,适用于容器.虚拟机和基于主机的本地工作负载.Calico支持广泛的平台,包括 Kubernetes.OpenShift. 无论使用Calico的eBPF数据平面还是 Linux 的标准网络管道,Calico都能提供极快的性能和真正的云原生可扩展性 Calico支持公有云和本地运行,支持在单个节点或数千个节点集群
-
k8s入门-集群组件介绍
目录 k8s是谷歌以Borg为前身,基于谷歌15年生产环境经验的基础上开源的一个项目. k8s致力于提供跨主机集群的自动部署.扩展.高可用以及运行应用程序容器的平台. k8s集群包含master节点和node节点,是一个主从架构,通常我们会用3台服务器已高可用的形式作为主节点,不进行业务部署(可以设置要不要在主节点上部署应用):从节点作为工作节点. 以下为集群组件及功能: master节点:集群的控制中枢 kube-apiserver:集群的控制中枢,各模块间信息交互需要经过kube-apise
-
k8s入门集群组件介绍及概念理解
目录 master节点:集群的控制中枢 node节点:工作节点,也叫worker节点 kube-system命名空间:系统组件pod k8s是谷歌以Borg为前身,基于谷歌15年生产环境经验的基础上开源的一个项目. k8s致力于提供跨主机集群的自动部署.扩展.高可用以及运行应用程序容器的平台. k8s集群包含master节点和node节点,是一个主从架构,通常我们会用3台服务器已高可用的形式作为主节点,不进行业务部署(可以设置要不要在主节点上部署应用):从节点作为工作节点. 以下为集群组件及功能
-
教你漂亮打印Pandas DataFrames和Series
一.前言 当我们必须处理可能有多个列和行的大型DataFrames时,能够以可读格式显示数据是很重要的.这在调试代码时非常有用. 默认情况下,当打印出DataFrame且具有相当多的列时,仅列的子集显示到标准输出. 显示的列甚至可以多行打印出来. 二.问题 假设我们有以下DataFrame: import pandas as pd import numpy as np df = pd.DataFrame( np.random.randint(0, 100, size=(100, 25)), co
-
pandas如何使用列表和字典创建 Series
目录 01 使用列表创建 Series 02 使用 name 参数创建 Series 03 使用简写的列表创建 Series 04 使用字典创建 Series 05 如何使用 Numpy 函数创建 Series 06 如何获取 Series 的索引和值 07 如何在创建 Series 时指定索引 08 如何获取 Series 的大小和形状 09 如何获取 Series 开始或末尾几行数据 10 使用切片获取 Series 子集 前言: Pandas 纳入了大量库和一些标准的数据模型,提供了高效地
-
教你如何将应用从docker-compose迁移到k8s中
目录 工具推荐 操作步骤 安装kompose 转换yaml 调整 部署到k8s 公司之前有一些应用是通过docker-compose部署,最近领导让我将其迁移到k8s中.我已经初步完成任务,现记录其操作过程,分享给各位朋友. 工具推荐 当我接到这个任务,我的第一感觉是要参考docker-compose.yaml中的信息,手写一套k8s的yaml部署文件.这样当然是可行的,但是效率比较低,且需要同时熟悉docker-compose和k8s的yaml文件的结构.后来我发现了一个专门的迁移工具,可方便
-
Docker overlay 网络搭建的方法
Overlay网络是指通过在现有网络上叠加一个软件定义的逻辑网络,最大程度的保留原有网络,通过定义其上的逻辑网络,实现业务逻辑,解决原有数据中心的网络问题. 快速开始 Docker跨主机网络方案 docker 原生 overlay macvlan 第三方方案 flannel weave calico 之前介绍了Consul搭建集群,所以在此直接选用docker自带的overlay方案来做,和Consul完美结合. 环境准备 参考之前的一篇<Consul 搭建集群>准备三台虚机. ip n1 1
-
Dashboard管理Kubernetes集群与API访问配置
目录 Kubectl 命令大全 安装 Kubernetes-Dashboard RESTful API 鉴权 注解 Pod YAML 结构 配置 Kubectl 命令大全 下面列出了 kubectl 的所有命令以及其缩写形式,供翻阅查询. kubectl 命令格式: kubectl [command] [type] [Name] [flag] all events (ev) podsecuritypolicies (psp) certificatesigningrequests (csr) ho
-
centos7系统部署k8s集群详细介绍
目录 1 版本.规划 1.1 版本信息: 1.2集群规划 2.部署 1.关闭防火墙 2.关闭selinux 3.关闭swap 4.添加主机名和IP对应关系 5.将桥接的IPV4流量传递给iptables的链 6.安装docker 安装: 7.添加阿里云yum软件源 8.安装kubeadm.kubelet.kubectl 9.初始化master节点 10.安装pod网络插件(CNI) 11.node节点加入集群 1 版本.规划 1.1 版本信息: 名称 版本号 内核 3.10.0-1160.el7
随机推荐
- asp.net CKEditor和CKFinder的应用
- jQuery+HTML5实现图片上传前预览效果
- JS组件Bootstrap实现弹出框和提示框效果代码
- mybatis同一张表多次连接查询相同列赋值问题小结
- 用python写个自动SSH登录远程服务器的小工具(实例)
- JS获取一个未知DIV高度的方法
- PHP脚本的10个技巧(8)
- 详解javaweb中jstl如何循环List中的Map数据
- Python实现处理管道的方法
- jQuery布局插件UI Layout简介及使用方法
- MySQL定时备份之使用Linux下的crontab定时备份实例
- Android中区别Drawable Bitmap Canvas Paint
- Node.js制作简单聊天室
- php流量统计功能的实现代码
- java中Servlet Cookie取不到值原因解决办法
- 微信小程序 sha1 实现密码加密实例详解
- SqlServer强制断开数据库已有连接的方法
- C#实现TIF图像转PDF文件的方法
- 在IIS6中新增可下载文件类型的方法
- Java采用setAsciiStream方法检索数据库指定内容实例解析