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 条评论
登录 后参与评论

相关文章

来自专栏我的博客

硬盘和文件系统管理

1、预备知识 介绍Linux硬盘知识(文件命名方案xxyN) 分区名的前两个字母表示分区所在设备的类型(hd是IDE硬盘,sd是SCSI硬盘,scsi比ID...

2738
来自专栏Laoqi's Linux运维专列

搭建 GIT 服务器

下载安装 git Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 此实验以 CentOS 7.2 x64 的系统为环境,搭...

3095
来自专栏腾讯云实验室

搭建 Git 服务器

腾讯云提供了开发者实验室教你搭建 Git 服务器,教程内容如下,用户可以点击开发者实验室快速上机完成实验。

6675
来自专栏编码小白

图片服务器搭建

1. 分析需求图片服务器的原因 在网站开发过程中使用tomcat集群时,可能存在在一个tomcat服务器中上传,在另外一个tomcat中进行访问,这样就会导致资...

7027
来自专栏kangvcar

手把手教你用1行Python代码实现FTP服务器 -- Pyftpdlib

1736
来自专栏企鹅号快讯

php-安全设置,做好基础安全!

0x00 隐藏php版本 expose_php=off 0x01 禁用危险的php函数 disable_functions=popen,pentl_exec,p...

2125
来自专栏北京马哥教育

Ansible实战之博客站点部署

糖豆贴心提醒,本文阅读时间4分钟 本篇文章记录通过部署一个博客站点来进行ansible实战的例子。 案例分为四个部分,第一部分是手动部署一个mezzanine...

3195
来自专栏holer

自定义域名方式访问本地WEB应用

在域名服务商注册并购买的域名必须要完成域名备案,否则无法使用域名访问网站,具体备案细节可以参考域名服务商提供的备案流程指导文档。

1731
来自专栏云知识学习

TKE集群中创建nginx服务并用configmap管理nginx.conf

configmap的好处在于可以将配置文件与容器分离。具体的使用说明可参考官网:点我跳转

1231
来自专栏网络

手把手教你用1行Python代码实现FTP服务器-Pyftpdlib

元旦快乐 当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。 FTP 服务器,在此之前我都是使用Linux的vsftpd软件包来搭建FTP服...

2367

扫码关注云+社区