k8s系列02-kubeadm部署flannel网络的k8s集群

作者&投稿:闾先 (若有异议请与网页底部的电邮联系)
~ 本文主要在centos7系统上基于 docker 和 flannel 组件部署 v1.23.6 版本的k8s原生集群,由于集群主要用于自己平时学习和测试使用,加上资源有限,暂不涉及高可用部署。

此前写的一些关于k8s基础知识和集群搭建的一些 方案 ,有需要的同学可以看一下。

机器均为8C8G的虚拟机,硬盘为100G。

同一个k8s集群内的所有节点需要确保 mac 地址和 product_uuid 均唯一,开始集群初始化之前需要检查相关信息

如果k8s集群的节点有多个网卡,确保每个节点能通过正确的网卡互联访问

这里可以根据自己的习惯选择ntp或者是chrony同步均可,同步的时间源服务器可以选择阿里云的 ntp1.aliyun.com 或者是国家时间中心的 ntp.ntsc.ac.cn 。

k8s集群之间通信和服务暴露需要使用较多端口,为了方便,直接禁用防火墙

这里主要是需要配置内核加载 br_netfilter 和 iptables 放行 ipv6 和 ipv4 的流量,确保集群内的容器能够正常通信。

虽然新版本的k8s已经支持双栈网络,但是本次的集群部署过程并不涉及IPv6网络的通信,因此关闭IPv6网络支持

IPVS是专门设计用来应对负载均衡场景的组件, kube-proxy 中的 IPVS 实现 通过减少对 iptables 的使用来增加可扩展性。在 iptables 输入链中不使用 PREROUTING,而是创建一个假的接口,叫做 kube-ipvs0,当k8s集群中的负载均衡配置变多的时候,IPVS能实现比iptables更高效的转发性能。

详细的官方文档可以参考 这里 ,由于在刚发布的1.24版本中移除了 docker-shim ,因此安装的 版本≥1.24 的时候需要注意 容器运行时 的选择。这里我们安装的版本低于1.24,因此我们继续使用docker。

docker的具体安装可以参考我之前写的 这篇文章 ,这里不做赘述。

CentOS7使用的是 systemd 来初始化系统并管理进程,初始化进程会生成并使用一个 root 控制组 ( cgroup ), 并充当 cgroup 管理器。 Systemd 与 cgroup 集成紧密,并将为每个 systemd 单元分配一个 cgroup 。 我们也可以配置 容器运行时 和 kubelet 使用 cgroupfs 。 连同 systemd 一起使用 cgroupfs 意味着将有两个不同的 cgroup 管理器 。而当一个系统中同时存在cgroupfs和systemd两者时,容易变得不稳定,因此最好更改设置,令容器运行时和 kubelet 使用 systemd 作为 cgroup 驱动,以此使系统更为稳定。 对于 Docker, 需要设置 native.cgroupdriver=systemd 参数。

k8s官方有 详细的文档 介绍了如何设置kubelet的 cgroup driver ,需要特别注意的是,在1.22版本开始,如果没有手动设置kubelet的cgroup driver,那么默认会设置为systemd

一个比较简单的指定kubelet的 cgroup driver 的方法就是在 kubeadm-config.yaml 加入 cgroupDriver 字段

我们可以直接查看configmaps来查看初始化之后集群的kubeadm-config配置。

当然因为我们需要安装的版本高于1.22.0并且使用的就是systemd,因此可以不用再重复配置。

kube三件套就是 kubeadm 、 kubelet 和 kubectl ,三者的具体功能和作用如下:

需要注意的是:

CentOS7的安装比较简单,我们直接使用官方提供的 yum 源即可。需要注意的是这里需要设置 selinux 的状态,但是前面我们已经关闭了selinux,因此这里略过这步。

在集群中所有节点都执行完上面的三点操作之后,我们就可以开始创建k8s集群了。因为我们这次不涉及高可用部署,因此初始化的时候直接在我们的目标master节点上面操作即可。

此时我们再查看对应的配置文件中的镜像版本,就会发现已经变成了对应阿里云镜像源的版本

当我们看到下面这个输出结果的时候,我们的集群就算是初始化成功了。

刚初始化成功之后,我们还没办法马上查看k8s集群信息,需要配置kubeconfig相关参数才能正常使用kubectl连接apiserver读取集群信息。

配置完成后,我们再执行相关命令就可以查看集群的信息了。

这时候我们还需要继续添加剩下的两个节点作为worker节点运行负载,直接在剩下的节点上面运行集群初始化成功时输出的命令就可以成功加入集群:

如果不小心没保存初始化成功的输出信息也没有关系,我们可以使用kubectl工具查看或者生成token

添加完成之后我们再查看集群的节点可以发现这时候已经多了两个node,但是此时节点的状态还是 NotReady ,接下来就需要部署CNI了。

flannel 应该是众多开源的CNI插件中入门门槛最低的CNI之一了,部署简单,原理易懂,且相关的文档在网络上也非常丰富。

针对 kube-flannel.yml 文件,我们需要修改一些 参数 以适配我们的集群:

修改完成之后我们直接部署即可

集群部署完成之后我们在k8s集群中部署一个nginx测试一下是否能够正常工作。首先我们创建一个名为 nginx-quic 的命名空间( namespace ),然后在这个命名空间内创建一个名为 nginx-quic-deployment 的 deployment 用来部署pod,最后再创建一个 service 用来暴露服务,这里我们先使用 nodeport 的方式暴露端口方便测试。

部署完成后我们直接查看状态

最后我们进行测试,这个nginx-quic的镜像默认情况下会返回在nginx容器中获得的用户请求的IP和端口


求此MV名字 ,背景音乐 http:\/\/v.ku6.com\/show\/QyS5O-L0re2DKH6LHpe1...
[01:02.94]도무지 참을 수 없는 네게전할 말[01:05.13](널 사랑해) 이젠 부르리라도[01:07.06](&...

http:\/\/v.ku6.com\/special\/show_3734786\/73H02Cb5I61ag2nW.html这是什...
独家说爱 (that's right)独家说爱 (***e on)独家说爱 (哀哀哀 ..)独家说爱 (oh yeah)独家说爱 (that's right)独家说爱 (***e on)这个世界还有没有真爱 02:43 Rap:眼睁睁看着家里的无辜小孩 没人疼爱 明明知道不对却还是不知悔改 有钱的 拿钱出去包二奶 没钱的闷在家...

http:\/\/player.ku6.com\/refer\/G8VpZd02lmtvW5pITqHPFQ..\/v.swf 背景...
Seven Swords‘ Victory -“七剑战歌”电影原声 给分吧,链接不发了,一发就吞,你自己百度下吧!如果还有其他的问题,也可以再随时问我,百度HI我即可,我会耐心解答。

http:\/\/v.ku6.com\/show\/EHhZPbaE544Rz02xdIe-ng...html求歌名_百度知...
初音未来+巡音流歌的MagNet

模范棒棒堂08全集
2008-02-01 棒棒堂尾牙联欢同乐晚会 2008-02-04 年终清仓礼物交换 2008-02-05 棒棒堂过小年 2008-02-08 底迪回娘家 2008-02-11 新年超机礼物PK赛 2008-02-12 棒棒堂圆梦演唱会全记录 2008-02-13 棒棒堂超豪华VIP红包场 2008-02-14 百看不厌的节庆表演 2008-02-15 棒棒堂补偿弟弟企化 200...

谁有家教全部人物的代号
狱寺(59):ごくでら,Gokudera,是59,go(5)ku(9)。山本:80。yamamoto,ya(8)moto(0) 另:8→や(YA),0→形状为圆圈(まる(MARU)黑曜:594。dino(迪诺)=D=12 REBORN(里包恩)=R Lambo(蓝波)=L XANXUS=X爸 S.Squalo=S妈 夏马尔医生=40 (Shamal)库洛姆=96 (chrome=ク[9]ロ[6]ー...

【高分】求好听的日本动漫歌曲!!
02.《you》来自寒蝉鸣泣之时,神曲级别,有无数翻唱和同人,个人推荐愈月和雪野五月的版本,还有同人合唱的《心结》03.《ただ流るるままに》,彩音悲伤凝重风格的代表作,寒蝉游戏里的歌,那种声嘶力竭的演唱很能打动人啊...04.《产巢日の时》(万物创生之时)神剃ED,给人以圣洁之感,户松遥GJ~05.《夏影》同样...

仓木麻衣 名字的问题
叫苍木,不叫麻木,麻木不好听哦,玩音速的时候听过她的一首歌,挺好听的,忘了叫什么了。

求一好看动画!!!
是《结界师》啦!!!观看地址:http:\/\/video.baidu.com\/v?ct=301989888&rn=20&pn=0&db=0&s=8&...F <腐败教师方程式\/Kusatta Kyoushi No Houteshiki\/> 小鹰和麻..OVA. <FAKE> 真东砂波,漫画改编

求少女动漫~
F <腐败教师方程式\/Kusatta Kyoushi No Houteshiki\/> 小鹰和麻..OVA. <FAKE> 真东砂波,漫画改编 <风与木之诗>..短片..80年代的经典漫画改编 <富士见寒冷前线指挥官>有很隐讳的H。 <After School in the Teacher's Lounge\/放课后的教职员室> OVA,重点是没有H <放课后的职员室> <梵天变> (高永) ...

正阳县15339158999: 如何在k8s上部署一个mysql -
夏时心荣: 有两种方法: 直接用yum源进行安装yum -y install mysql-server 源码安装去mysql官网下载你需要的版本,解压,创建用户,/usr/local/mysql5.6/scripts/mysql_install_db --basedir=/usr/local/mysql5.6 --datadir=/data/mysql5.6 --user=mysql

正阳县15339158999: 如何在K8S平台部署微服务 -
夏时心荣: 使用Rancher来运行Kubernetes有很多优势.大多数情况下能使用户和IT团队部署和管理工作更加方便.Rancher自动在Kubernetes后端实现etcd 的HA,并且将所需要的服务部署到此环境下的任何主机中.在设置访问控制,可以轻易连接到现有...

正阳县15339158999: Cl2+H2S=S↓+2HCl的离子方程式,为什么H2S不可以电离出H2+,S2 --
夏时心荣: Cl2+H2S=S+2H+ +2Cl- 氢硫酸是弱电解质,应该写成分子的形式.

正阳县15339158999: Vt=V0+at和s=V0t+(1/2)at²如何通过数学变换得到Vt² - V0²=2as -
夏时心荣: Vt-V0=at, S=V0t+(1/2)at²=V0t+(1/2)*(Vt-V0)*t S=(1/2)*(Vt+V0)t t=2S/(Vt+V0) Vt-V0=2aS(Vt-V0) 最后就是Vt²-V0²=2as

正阳县15339158999: oo7系列电影都有哪些 -
夏时心荣: 007系列之01-诺博士 007系列之02-俄罗斯之恋 007系列之03-金手指 007系列之04-雷霆万钧 007系列之05-雷霆谷 007系列之06-女王密使copy007系列之07-永远的钻石 007系列之08-生死关头 007系列之09-金枪人 007系列之10-海底城 007系列之...

正阳县15339158999: 钒酸盐用硫酸酸化后用二氧化硫还原,再用高锰酸钾出去二氧化硫和多余的 二价铁,这一系列的反应方程式是? -
夏时心荣:[答案] 钒酸盐用硫酸酸化(以偏钒酸铵为例)2NH4VO3 + 2H2SO4 = (NH4)2SO4 + (VO2)2SO4 + 2H2O可以观察到无色溶液变为橙色,可能有少量棕色沉淀,是五氧化二钒的水合物.二氧化硫还原(VO2)2SO4 + SO2 = 2VOSO4可以观察到橙色溶...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网