目的
“K8s在容器编排领域已经形成统治地位,不管是开发、运维和测试,掌握 kubernetes 都变得非常有必要。” —— 相信大家应该在各类技术论坛与博客中早已看见过如上的一段话。
的确,在敏捷开发占主导模式的现今,无论是项目任何阶段都随处可见K8s的身影,基础扩展要求、故障转移、部署模式等,以上这些基于K8s的特性与强大功能,都可以随时随地实现与落地。
对于测试的同学来说,测试环境的集中化、自动化管理,这些也可以依托于K8s的功能来实现。
日常工作中的测试环境集群也经常会有按需调整(加入新的服务器或销毁资源)的情况,K8s可以满足我们相关的大部分工作需求。另一方面,持续集成领域中,K8s也是不可或缺的重要角色之一,有了他就可以使我们在平时的测试活动前期更加快速有效的自动部署测试环境。
所以作为有一定工作经验的测试同学来说,K8s绝对是无法绕过的一项重要技能。
说明
1.此笔记的中所使用的操作系统为CentOS7.9,笔记中所涉及的软件版本有可能会因为时间的推移而导致不匹配或其他额外的操作,请大家有针对性的选择阅读与参考。
2.此笔记中的所有操作均基于root用户进行,其他用户如无权限请自行搜索(linux的基础操作这里不展开讨论),友情提示:即使有权限,也千万别在公司相关生产环境内试验探索哦。
前期准备
准备两至三台服务器(真机、虚拟机随意)
可从服务器名上区分为master与node
所有服务器上需安装docker
虚拟机的话硬件分配资源时最好能高于2G内存、双核CPU
K8s我们安装的版本为1.23.5,我们之前安装的docker版本为20.10.17,因为K8s正常运行是需要对应的docker版本支持的,所以不可以随意安装任意版本K8s与docker。
与K8s对应的docker版本号可以在K8s的github上进行查看。
环境配置
关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
禁用selinux:
setenforce 0
编辑selinux配置文件,修改为以下内容:
SELINUX=disabled
取消防火墙(生产环境慎用):
iptables -F
重启docker服务:
systemctl daemon -reload
systemctl restart docker
关闭交换区:
swapoff -a
以上命令只是临时关闭交换区,需要永久关闭的话需要修改fstab文件:
vim /etc/fstab
找到swap所在那行信息整行注释即可:
重新加载配置:
mount -a
查看存储信息:
free -h
swap信息那一行为0就说明关闭了。
下载安装
创建kubernetes.repo文件,配置yum源:
vim /etc/yum.repos.d/kubernetes.repo
在此文件中添加如下内容:
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
添加完成后使用以下命令查看是否有可用的K8s包:
yum repolist
接下来安装kubeadm、kubelet、kubectl,指定版本为1.23.5,当然你如果清楚版本对应的话可以指定其他的K8s版本:
yum install -y kubelet-1.23.5 kubeadm-1.23.5 kubectl-1.23.5
注意:如果输入以上命令后出现如下错误信息:[Errno -1] repomd.xml signature could not be verified for kubernetes,可以将配置文件kubernetes.repo里的repo_gpgcheck修改为0,不对gpgkey进行检查即可。
安装完成。
启动kubelet,并配置开机启动:
systemctl start kubelet
systemctl enable kubelet
验证kubelet版本号:
kubelet --version
最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!