以前Vmware和使用Hyper-V开启的WSL2有冲突,现在最新版本修复了这个bug,因此建议使用最新版(15.5.6以上),VMware下载官网。
Ubuntu Desktop版过于浪费空间,Server版只有命令行,占用硬盘和内存都比较少,Ubuntu Server下载官网。
VMware创建虚拟机时,选择典型安装即可,注意CPU至少分配两个核心,内存至少2G,这是运行Kubernetes的基本要求。安装完系统基本就占了4G多,所以建议硬盘最好给10G以上。
设置完成后,最低配置基本就是我这样,点击完成,进入安装界面。
然后进入系统的安装界面,一般直接一直回车,点击Done即可。
注意安装时打开SSH选项,因为虚拟机中的终端很难用,一般使用远程连接,复制粘贴也更方便。
注意在安装过程中下面这一页不要选择任何组件,比如Docker和etcd,虽然后面会用到,但是这里安装的跟后面用到的不一样,而且卸载不掉,所以一定不要在刚开始安装。
到了这个页面,等一会儿就安装完成了(安装内核比较慢,我这里用了至少半个小时,安装的时候不要着急),安装完以后输入你设置的用户名和密码,即可登录。
首先使用以下命令配置root用户的密码,方便使用su。
sudo passwd root
由于国内网络原因,可能Ubuntu自带的软件源下载很慢,所以最好把软件源换成阿里的。
首先输入su获取root权限。
先把原来的软件源备份一下
cp /etc/apt/sources.list /etc/apt/sources.list.bak
然后输入以下命令配置阿里云镜像(适用于20.04版本的Ubuntu,其它版本可以去阿里云镜像官网查看)
echo "deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse" > /etc/apt/sources.list
然后执行更新
apt update && apt upgrade -y
至此,Ubuntu配置完毕。
上面也说了,因为虚拟机中的终端太难用,我们使用好用的终端远程连接。前提是虚拟机已经安装好了ssh,如果上面忘记安装ssh,可以使用下面的命令安装:
sudo apt-get install openssh-server
然后查看这个虚拟机的IP地址,使用ifconfig
命令,如果说找不到命令,根据提示命令sudo apt install net-tools
安装net-tools。
可以看到我的ens33网卡的IP地址是192.168.224.128。记住这个IP地址,就可以根据IP地址远程登陆。
FinalShell官网安装。
点击左上角的文件夹标志新建连接
然后点击左上角的小框框新建SSH连接,输入刚刚看到的IP地址,和设置好的用户名密码,即可连接
连接成功界面如下,可以看到有CPU、内存、硬盘使用情况,还有输入终端,文件夹列表,很方便。
这时就可以关掉VMware,在后台运行,后面的操作都在FinalShell中完成。
这一步很简单,只要输入docker,就会提示安装docker的命令。
使用
sudo apt get docker.io
等待安装完毕,使用docker version
命令验证是否安装成功。
可以看Kubectl官方文档,官方文档中给出的安装命令如下:
#请不要使用这段代码!
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
但是官方文档在国内网络环境下并不适用,请使用以下代码:
第一步是安装https,这一步因为上面已经配置好了apt使用阿里云镜像,所以没问题。
sudo apt-get update && sudo apt-get install -y apt-transport-https
但是,由于国内网络原因,无法连接Google,很可能第二步会卡死。
这里也可以使用阿里云的镜像,把第二步的命令改为:
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
然后运行:
cat </etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
修改完这个list文件后,最后执行
apt-get update
apt-get install -y kubelet kubeadm kubectl
可以通过=1.18.5-00指定版本,如下:
apt install -y kubelet=1.18.5-00
apt install -y kubectl=1.18.5-00
apt install -y kubeadm=1.18.5-00
至此,kubelet,kubeadm和kubectl就安装成功了。
可以使用kubectl version
、 kubelet --version
、 kubeadm version
验证是否安装成功
至此,Master节点准备工作全部完成。
运行下面的命令
kubeadm init
然后发现结果如下
可以发现有两个WARNING和一个ERROR,都需要解决。
第一个警告已经给出解决办法,运行下面的命令即可。
systemctl enable docker.service
第二个警告意思是检测到“cgroupfs”作为Docker cgroup驱动程序。 推荐的驱动程序是“systemd”。
解决方法:
进入/etc/docker目录,创建docker的配置文件daemon.json
cd /etc/docker
vim daemon.json
按i进入insert模式,输入:
{
"exec-opts":["native.cgroupdriver=systemd"]
}
然后按Esc退出编辑模式,输入:wq
保存并退出。
然后重启docker
systemctl restart docker
第二个警告就解决了。
ERROR是说不支持swap,所以需要关闭swap,使用如下命令:
swapoff -a
即可关闭swap。
这时所有准备工作都已经完成了,在VMware中关机,然后点击菜单栏虚拟机->管理->克隆
,点击下一步,选择创建完整克隆,然后很快就克隆完毕了。克隆完后要做两件重要的事: