Kubernetes进阶 -- calico网络插件

2024-03-29 03:48

本文主要是介绍Kubernetes进阶 -- calico网络插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

calico网络插件

harbor仓库中新建 calico 项目,因为我们已经指定了镜像下载仓库是harbor,默认会从里面的library仓库下载,但是calico.yml文件指定从calico仓库下载,不想改动文件情况下我们在harbor上新建calico仓库。

拉取镜像:

[root@server1 harbor]# docker pull calico/cni:v3.14.1[root@server1 harbor]# docker pull calico/pod2daemon-flexvol:v3.14.1[root@server1 harbor]# docker pull  calico/node:v3.14.1[root@server1 harbor]# docker pull calico/kube-controllers:v3.14.1[root@server1 harbor]# for i in `docker images |grep calico| awk '{print $1":"$2}'`;do docker tag $i reg.caoaoyuan.org/$i;done
//打标签
[root@server1 harbor]# for i in `docker images |grep reg.caoaoyuan.org\/calico| awk '{print $1":"$2}'`;do docker push $i;done
//上传

calico网络插件通flannel插件一样,具有针对同网段和不同网段的模式。

  • name: CALICO_IPV4POOL_IPIP
    value: “Always”

它里面的 ipip 就相当于 ip 的隧道,由于我们目前的主机都再统一网段,我们就可以关闭它。使用边界网关协议就可以了

移除flannel插件的服务和数据
[root@server2 manifest]# kubectl delete -f kube-flannel.yml 	
[root@server2 mainfest]# mv /etc/cni/net.d/10-flannel.conflist /mnt/		# 这一步在三个结点都做[root@server2 manifest]# vim calico.yaml- name: CALICO_IPV4POOL_IPIPvalue: "off"[root@server2 manifest]# kubectl apply -f calico.yaml 
[root@server2 manifest]# kubectl get pod -n kube-system  -o wide
NAME                                       READY   STATUS    RESTARTS   AGE     IP             NODE      NOMINATED NODE   READINESS GATES
calico-kube-controllers-76d4774d89-th4kq   1/1     Running   0          3m42s   10.244.1.96    server3   <none>           <none>
calico-node-8qvg5                          1/1     Running   0          3m42s   172.25.254.3   server3   <none>           <none>
calico-node-8tbjj                          1/1     Running   0          3m42s   172.25.254.2   server2   <none>           <none>
calico-node-dxpbx                          1/1     Running   0          3m42s   172.25.254.4   server4   <none>           <none>
//它是以daemonset的方式运行的[root@server4 ~]# ip a
4: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 52:af:33:ec:ef:32 brd ff:ff:ff:ff:ff:ff
ipvs0valid_lft forever preferred_lft forever
6: cali6463bc8abcb@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue state UP group default link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 0inet6 fe80::ecee:eeff:feee:eeee/64 scope link valid_lft forever preferred_lft forever
flannel 的设备消失了	calico的设备出现[root@server3 ~]# ip route
default via 172.25.254.67 dev ens3 
10.244.22.0/26 via 172.25.254.4 dev ens3 proto bird 
blackhole 10.244.141.192/26 proto bird 
10.244.141.194 dev calibd4bc725030 scope link 
10.244.141.195 dev cali4bc5eb922f6 scope link	//看出访问本机时直接走这个设备,类似与host-gw

我们还可以更改它的 ip 池:

# Enable IPIP- name: CALICO_IPV4POOL_IPIPvalue: "Always"		//打开ip隧道# Enable or Disable VXLAN on the default IP pool.- name: CALICO_IPV4POOL_VXLANvalue: "Never"- name: CALICO_IPV4POOL_CIDRvalue: "10.244.0.0/16"		//设置地址池[root@server4 ~]# ip a
9: tunl0@NONE: <NOARP,UP,LOWER_UP> mtu 1440 qdisc noqueue state UNKNOWN group default qlen 1000link/ipip 0.0.0.0 brd 0.0.0.0inet 10.244.22.0/32 brd 10.244.22.0 scope global tunl0valid_lft forever preferred_lft forever
[root@server3 ~]# ip a
9: tunl0@NONE: <NOARP,UP,LOWER_UP> mtu 1440 qdisc noqueue state UNKNOWN group default qlen 1000link/ipip 0.0.0.0 brd 0.0.0.0inet 10.244.141.192/32 brd 10.244.141.192 scope global tunl0valid_lft forever preferred_lft forever

在每个结点上就会出现一个隧道设备。

[root@rhel7host ~]# curl 172.25.254.3:30899/hostname.html
deployment-example-846496db9d-cqmqz
[root@rhel7host ~]# curl 172.25.254.3:30899/hostname.html
deployment-example-846496db9d-rn6sx
[root@rhel7host ~]# curl 172.25.254.3:30899/hostname.html
deployment-example-846496db9d-cqmqz

访问也是没有问题的。

这篇关于Kubernetes进阶 -- calico网络插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/857521

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

MySQL进阶之路索引失效的11种情况详析

《MySQL进阶之路索引失效的11种情况详析》:本文主要介绍MySQL查询优化中的11种常见情况,包括索引的使用和优化策略,通过这些策略,开发者可以显著提升查询性能,需要的朋友可以参考下... 目录前言图示1. 使用不等式操作符(!=, <, >)2. 使用 OR 连接多个条件3. 对索引字段进行计算操作4

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交