目录
一、介绍
这篇博客是我的学校课程云计算平台技术及应用的实践作业,相关内容也可供大家在学习时参考。
Kubernetes,简称k8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用。本文的目标是在自己的电脑上安装部署一个简单的k8s集群。 k8s集群部署需要在linux操作系统上进行,因此我们需要安装linux操作系统。由于集群会涉及不止一台服务器,因此建议使用虚拟机。
K8s集群部署常见的安装方式有两种,分别是kubeadm方式和二进制方式,本文将采用kubeadm方式。我部署的集群是一个简易的小型集群,由一个master节点和两个node节点组成,需要在自己的机器上创建三个linux操作系统的虚拟机。
下面详细介绍一下我自己的安装过程。
二、虚拟机安装
虚拟机安装使用的软件是VMware Workstation。软件的使用和安装比较简单,这里直接省略。
为了组建集群,我们需要创建多个虚拟机,我创建了三个虚拟机,并安装了linux操作系统,其中一台虚拟机作为master,两台虚拟机作为node。下面以当作master的虚拟机创建为例介绍一下虚拟机安装。
首先需要下载linux操作系统安装包,可以去官网The CentOS Project下载,或者在其它博客找镜像链接。我在官网下载的CentOS-7版本,参考的一些k8s部署教程也都建议使用CentOS-7的系统版本。
接下来,在VMware Workstation主页新建一个虚拟机。我们选择典型配置,下一步以后选择安装程序光盘映像文件。之前已经下载了linux操作系统的安装映像文件,浏览文件存储的目录将其选中。点击下一步,下面根据弹窗要求填写用户名、密码、虚拟机名称等等信息。一共需要填写三个名字,为了简单我全部起名1021041318k8s-master,如下图所示。你可以根据自己需要自行规划信息填写,这些信息将决定你的虚拟机名称和登录账户名、密码。虚拟机创建位置可以自行选择。
接下来要配置虚拟机的一些虚拟硬件参数。参考了一些k8s部署教程,我们选择设置单CPU、CPU内核2个、内存2G、硬盘20G,网络连接方式选NAT。如下图所示。设置完成以后直接创建。
至此我们创建了虚拟机1021041318k8s-master,它的一些虚拟硬件参数如下图所示。
我还创建了两个虚拟机,分别是1021041318k8s-node1和1021041318k8s-node2,它们的相关参数如下图所示。
以上就是虚拟机的创建。我们还需要打开每一个虚拟机,开启以后,虚拟机会自动进行linux操作系统的安装,无需人工干预。完成以后输入密码即可登录虚拟机。
三、虚拟机初始化
在进行初始化以前,我们还要做一些准备工作。我们需要保证机器联网,自己创建的虚拟机和主机之间以及虚拟机之间可以互相通信。打开虚拟机,桌面右键打开终端后即可打开一个命令交互窗口,后续的k8s安装都是在这里进行。我们可以使用ifconfig命令查看当前虚拟机的ip地址,使用“ping+空格+目标ip”即可检查当前虚拟机是否可与目标机器通信。按照前面的设置,三台虚拟机和自己的主机之间应该都是可以互相通信的,可以自行检查。
由于虚拟机网络选择了NAT模式,虚拟机ip地址通常是自动分配的,也就是虚拟机重启以后ip可能会变。虚拟机ip地址存在一个租用时间的概念,在半个小时或更长时间以后,ip才会过期(租用时间可自行设置),所以你重启虚拟机以后可能会发现ip没变,但经过很长时间以后ip还是会变。在虚拟机初始化过程中会涉及不同虚拟机的ip,如果ip改变可能需要重新设置,产生麻烦,所以我们需要将三台虚拟机的动态ip改为指定的静态ip。
以虚拟机1021041318k8s-master为例介绍一下如何修改静态ip。打开命令交互窗口,输入命令su,以获取root权限,否则修改配置文件保存退出时会提示权限不够。输入su