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

执行以下命令安装docker:

yum install -y docker-engine.x86_64

安装成功后,执行以下命令设置自动启动服务:

systemctl enable docker

再执行以下命令启动docker服务:

systemctl start docker

配置kubernetes的repo

在目录/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

安装kubernetes相关的应用

执行以下命令安装

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;

然后执行以下命令重启kubelet:

systemctl restart kubelet

保存VMware文件

现在关闭CentOS系统,在VMware的虚拟机文件目录下找到这个CentOS的全部文件,好好保存,咱们后面安装master和node节点都用这个VMware的镜像了,下一章我们一起来安装完整的kubernetes集群;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博文

linux scp 命令

scp 命令 scp 命令 意思是 secure copy 即安全拷贝,可以把它看做是 cp 命令的高级版,可以跨主机拷贝。 经常用来在局域网内不同主机之间分享...

2594
来自专栏编程

如何利用docker-machine创建machine

前面了解了什么是Docker Machine,并且安装了docker-machine。接下来我们一起来看下如何创建machine 前提条件:(我以我的环境说明)...

2737
来自专栏点点滴滴

Centos7 配置默认防火墙Firewalld

1454
来自专栏数值分析与有限元编程

Anaconda安装第三方包

Anaconda已经包含了许多第三方包(package),但有时还需要用到别的package,这就需要单独安装了。下面介绍两种安装方法。 方法一 step1:下...

2585
来自专栏守候书阁

.gitignore文件规则不起效的解决办法

在一个项目里面,多少会有一些文件是不需要上传到git上面的,比如node的依赖模块node_modules,这个文件夹超过10000个文件,大小也超过80M。所...

531
来自专栏云原生架构实践

容器化系列 - GitLab启动和配置 on Docker

注意:如果要使用宿主机的22和443端口,需要修改宿主机的ssh和https的默认端口。例如修改ssh端口为1022

14611
来自专栏vue学习

18、vue-lazyload实现图片懒加载

vue-lazyload官网:https://github.com/hilongjw/vue-lazyload

671
来自专栏Java成神之路

Linux_服务器_08_网卡eth1修改为eth0

 找到与ifconfig 查出出的MAC相同的一行(NAME='eth1'这一行),把它改为"NAME=eth0 ",然后把上面一行(NAME='eth0')注...

582
来自专栏小狼的世界

Linux下创建可执行bin安装文件

1、简化操作。一般的软件安装过程,如果想要精简步骤,我们一般会将需要在命令行中输入的命令写成一个脚本,同时将安装介质准备好。我们将脚本和安装介质上传到生产环境,...

1142
来自专栏帅小子的日常

redis的安装

3269

扫码关注云+社区