鄙人近期准备cka考试,个人电脑配置较低只能在公有云上部署环境,为了节约本就不多的资金,准备了一个k8s部署脚本,每次练习时临时开三个云主机,部署在一个vpc下,练习完成后即可释放资源。
将脚本贡献出来,供有需要的朋友使用。
所部署的环境包括了cka考试中用到的所有组件。 主要组件版本情况为: kubernetes: 1.20.0 docker: 19.3.15 etcd: 3.4.13-0 etcdctl: 3.4.16 metrics: 0.4.1
部署脚本全部放在gitee上。
环境部署步骤: 在公有云上开三台云主机,建议2核4G 40G硬盘, 操作系统为ubuntu 18.04,将三台主机部署于一个VPC下,并设置相同的root密码。
在第一台主机上运行如下代码,注意替换命令中的IP1 IP2 IP3 password 为三台云主机的内网地址及root密码,后两步相同。
apt update -y && apt install lrzsz -y && apt install git -y && apt-get install dos2unix && git clone https://gitee.com/yjliuxa/cka_init.git && cp cka_init/cka01.sh . && dos2unix cka01.sh && bash cka01.sh IP1 IP2 IP3 password > install.log
做同样的替换后在第二台主机上运行:
apt update -y && apt install lrzsz -y && apt install git -y && apt-get install dos2unix && git clone https://gitee.com/yjliuxa/cka_init.git && cp cka_init/cka02.sh . && dos2unix cka02.sh && bash cka02.sh IP1 IP2 IP3 password > install.log
做通用的替换后在第三台主机上运行:
apt update -y && apt install lrzsz -y && apt install git -y && apt-get install dos2unix && git clone https://gitee.com/yjliuxa/cka_init.git &&cp cka_init/cka03.sh . && dos2unix cka03.sh && bash cka03.sh IP1 IP2 IP3 password > install.log
待三台云主机完成部署后,可通过指令
kubectl get nodes
测试安装是否完成 另外,可以通过
kubectl top nodes
验证metrics组件是否安装完成。
最后介绍一下各节点安装的组件: 第一台云主机安装了主要的管理节点,kubectl全部操作在第一台上完成; 第二台云主机安装了nfs-server,用于练习storage-class相关题目;下载的脚本库中的nfs-sc.yaml可直接修改IP后运行部署storage class环境。 第三台云主机安装了etcdctl,用于练习etcd相关题目,etcdctl命令在第三台主机上运行。脚本已自动将k8s环境中etcd的相关key复制到了第三台主机的home下,练习时可直接使用,如下图所示:
预祝各位考试顺利!
|