在学习kubernetes/k8s的时候,需要搭建一个学习环境。可以用官方提供的模拟器,不过由于是模拟器,有些东西和实际还是有区别的。下面通过虚拟机来进行搭建。
创建虚拟机
multipass是ubuntu的一个轻量级虚拟机,占用资源比较小,本次就选择multipass。
通过multipass来创建和管理虚拟机节点,官方地址https://multipass.run/,安装后分别创建三个虚拟机
#注意maste的至少需要2V2G,不然启动不起来
$ multipass launch -n master -c 2 -m 2G -d 40G
$ multipass launch -n node1 -c 2 -m 1G -d 40G
$ multipass launch -n node2 -c 2 -m 1G -d 40G
#查看虚拟机列表
$ multipass list
Name State IPv4 Image
master Running 172.26.69.30 Ubuntu 20.04 LTS
node1 Running 172.26.70.162 Ubuntu 20.04 LTS
node2 Running 172.26.71.167 Ubuntu 20.04 LTS
multipass的其他一些管理虚拟机的命令
# 启动实例
multipass start master
#进入节点
multipass shell master
# 停止实例
multipass stop master
# 删除实例(删除后,还会存在)
multipass delete master
# 释放实例(彻底删除),释放占用的空间
multipass purge
每个节点安装kubernetes所需的基础组件
然后分别进入每个节点执行如下操作
安装containerd
安装containerd,由于kubernetes已经改用containerd而不是docker,这里安装containerd
安装必要依赖
#进入节点
$ multipass shell master
#更新源
$ sudo apt-get update
$ sudo apt-get install -y ca-certificates curl gnupg lsb-release
添加 GPG 密钥
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
设置 apt 仓库
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装containerd
#安装containerd
$ sudo apt-get update
$ sudo apt-get install -y containerd.io
# 锁定 containerd.io 版本