kubeadm搭建kubernetes集群之一:构建标准化镜像
使用docker可以批量管理多个容器,但都是在同一台电脑内进行的,这在实际生产环境中是不够用的,如何突破单机的限制?让多个电脑上的容器可以像单机上的docker-compose.yml管理的那样方便呢?kubernetes是个不错的选择,今天我们就来一起实战kubernetes集群环境的搭建吧。
前提条件
由于要用到谷歌的服务,所以要求您的网络环境可以科学上网,具体的方案就不在这里说了;
用于实战的本地环境
本次实战环境是win10,使用VMware® Workstation 12 Player,版本号12.5.6 build-5528349;
整体流程介绍
整个kubernetes集群包括一个master和两个node,所以本次搭建的整体流程计划如下:
1. 用VMware创建CentOS7的系统;
2. 在这个CentOS7上安装Docker,kubelet,kubeadm,kubectl等应用,然后关闭并退出这个CentOS7;
3. 上一步中的CentOS7对应的VMware文件都在一个文件夹中,如下图所示,我们把这个文件夹复制一份备份起来,这就是我们的标准化镜像了,今后安装kubernetes的master或者node的时候,都用这个Vmware文件的副本来进行;
4. 用标准化镜像复制一份,通过VMware打开,然后安装kubernetes的master;
5. 用标准化镜像复制一份,通过VMware打开,然后安装kubernetes的node,并加入到master控制的集群中;
6. 装一个tomcat验证;
安装CentOS
在VMware上安装CentOS的具体步骤就不在这里说了,请读者们自行完成,完成过后再执行yum update -y进行更新;
关闭防火墙
执行以下命令关闭防火墙
systemctl stop firewalld;systemctl disable firewalld;setenforce 0
再修改文件/etc/selinux/config,将SELINUX的值改成disabled,修改后如下图红框所示:
重启
为了使上面的改动生效,需要重启CentOS;
配置docker的repo
在目录/etc/yum.repos.d下新建文件docker.repo,内容如下:
[dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg
执行以下命令安装docker:
yum install -y docker-engine.x86_64
安装成功后,执行以下命令设置自动启动服务:
systemctl enable docker
再执行以下命令启动docker服务:
systemctl start docker
在目录/etc/yum.repos.d下新建文件kubernetes.repo,内容如下:
[kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0
执行以下命令安装
yum install -y kubelet kubeadm kubectl
安装过程如下图所示:
修改kubernetes的网络配置
修改文件/etc/systemd/system/kubelet.service.d/10-kubeadm.conf,找到下面这一行:
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
把systemd改成cgroupfs;cgroupfs 是根据docker info 中 的 Cgroup Driver: cgroupfs 来设定
k8s 1.9版本需要关闭操作系统交换分区
swapoff -a
systemctl daemon-reload
然后执行以下命令重启kubelet:
systemctl restart kubelet
现在关闭CentOS系统,在VMware的虚拟机文件目录下找到这个CentOS的全部文件,好好保存,咱们后面安装master和node节点都用这个VMware的镜像了,下一章我们一起来安装完整的kubernetes集群;