利用VirtualBox虚拟机和kubeadm在本地搭建多节点Kubernetes集群

1. 安装虚拟机

我们需要安装三个虚拟机节点,我们可以先安装其中1个节点,然后利用virtualbox的复制功能,再复制出另外两个节点。

最低环境要求如下:

  • 操作系统: CentOS 7.7
  • 内存:2G
  • CPU:2核
  • 硬盘:20G

1.1 安装VirtualBox

步骤比较简单,忽略

1.2 下载CentOS系统安装镜像

CentOS系统下载地址,截止20190921,两个源信息如下:

我们可以使用清华源下载7.7最新版本的centos,链接为:https://mirrors.tuna.tsinghua.edu.cn/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.iso

1.3 创建虚拟机

  • (1)打开VirtualBox主界面,点击「新建」
    新建
  • (2)输入名称,并注意类型选择「Linux」,版本选择「Red Hat(64-bit)」

在这里插入图片描述

  • (3)创建虚拟硬盘,大小选择20G

在这里插入图片描述

完毕后点击「创建」

  • (4)在主界面右键该虚拟机,点击「设置」。首先选择网络,网络连接方式设置为「桥接网卡」,这样,虚拟机拥有和宿主机同网段的IP,可以实现宿主机和虚拟机的互相访问

在这里插入图片描述

  • (5)在系统选项中,处理器数量设置为2

在这里插入图片描述

  • (6)在存储选项中,增加我们下载好的CentOS 7.7 操作系统镜像

在这里插入图片描述

  • (7)设置完成后,启动我们的虚拟机,并选择「Install CentOS 7」
    在这里插入图片描述
    在这里插入图片描述

  • (8)软件安装这里,为了不安装不必要的软件,我们选择「最小安装」
    在这里插入图片描述

  • (9)点击「开始安装」,在安装开始后,我们可以在该界面设置一下ROOT密码
    在这里插入图片描述

等待一会儿,安装完成之后,会提醒我们重启,重启后就可以登入我们的虚拟机了。最小安装不会安装图形界面,所以我们默认是进入命令行界面,通过root用户以及设置的root密码就可以登入了。

2. 配置虚拟机环境

2.1 配置远程访问环境

在VirtualBox中直接操作比较麻烦,所以我们可以先配置一下远程访问,系统中默认已经开启了ssh-server,所以我们只需要知道虚拟机的IP,就可以在宿主机通过ssh连到虚拟机进行操作了。

2.1.1 安装net-tools工具

最开始,虚拟机没有分配IP,无法ping,也无法通过yum安装任何软件。通过dhclient命令可以让虚拟机自动分配到IP地址。

dhclient

并且,要把/etc/sysconfig/network-scripts/ifcfg-{网络设备名}最后的ONBOOT=no改为ONBOOT=yes(网络设备名可以通过ifconfig命令查看,ifconfig命令没有的话要先执行下一步,安装net-tools

sed -i '/ONBOOT=n\|ONBOOT=y/c\ONBOOT=yes' /etc/sysconfig/network-scripts/ifcfg-enp0s3

然后执行:

yum -y install net-tools

2.1.2 获取本虚拟机IP地址

在这里插入图片描述

2.1.3 在宿主机通过ssh登录虚拟机

在这里插入图片描述
之后的操作都可以在宿主机进行啦!

2.2 配置yum源

执行如下命令配置yum源为阿里源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
yum makecache

2.3 关闭防火墙

防火墙一定要提前关闭,否则在后续安装K8S集群的时候是个麻烦。执行下面语句关闭,并禁止开机启动:

systemctl stop firewalld && systemctl disable firewalld

2.4 关闭Swap

在安装K8S集群时,Linux的Swap内存交换机制是一定要关闭的,否则会因为内存交换而影响性能以及稳定性。这里,我们可以提前进行设置:

  • 执行swapoff -a可以临时关闭,但系统重启后会恢复
  • 编辑/etc/fstab,注释掉包含swap那一行就可以永久关闭了,可以执行如下命令注释掉该行:
sed -i '/ swap / s/^/#/' /etc/fstab

2.5 安装docker

安装docker可以参考官方文档:https://docs.docker.com/install/linux/docker-ce/centos/#prerequisites, 依次执行如下命令即可:

yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

配置阿里仓库:

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker:

yum install -y docker-ce docker-ce-cli containerd.io

启动docker服务并激活开机启动:

systemctl start docker && systemctl enable docker

安装成功之后可以通过docker version命令查看docker的版本,最新的版本是19.03:
在这里插入图片描述

可以运行一个hello-world镜像测试docker工作是否正常:

docker run --rm hello-world

2.6 安装kubernetes

我们利用kubernetes官方提供的kubeadm工具来安装kubernetes集群,官方文档可以参考:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

2.6.1 配置kubernetes的yum源

官方仓库无法使用,建议使用阿里源的仓库,执行如下命令添加kubernetes.repo仓库

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

2.6.2 关闭 SeLinux

  • 执行setenforce 0可以临时关闭
  • 永久关闭需要修改/etc/sysconfig/selinux的文件设置
sed -i '/SELINUX=e\|SELINUX=p\|SELINUX=d/c\SELINUX=disabled' /etc/sysconfig/selinux

2.6.3 安装kubernetes组件

yum install -y kubelet kubeadm kubectl

2.6.4 启动 kubelet

systemctl enable kubelet && systemctl start kubelet

3. 复制虚拟机

当第一个虚拟机安装完成之后,就可以利用virtualBox的复制功能,复制出另外两个虚拟机。

3.1 关闭第一台虚拟机

复制前要先关闭第一台虚拟机。

shutdown -h now

3.2 复制

右键虚拟机,然后点击「复制」

在这里插入图片描述

  • 第一台虚拟机我们命名为centos-master,作为k8s集群的master节点。这一台虚拟机命名为centos-worker1,作为工作节点1
  • 副本类型选择「完全复制」
  • MAC地址设定选择「为所有网卡重新生成MAC地址」

点击复制之后就可以创建出一台一模一样的虚拟机,利用同样的方式再从master复制出centos-worker2

3.3 启动三台虚拟机

启动三台虚拟机,并执行ifconfig命令,可以获取三个节点的IP地址分别为:

  • centos-master:192.168.0.12
  • centos-worker1: 192.168.0.13
  • centos-worker2: 192.168.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值