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
再修改文件/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=
gpgcheck=
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=
gpgcheck=
安装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;cgroupfs 是根据docker info 中 的 Cgroup Driver: cgroupfs 来设定
k8s 1.9版本需要关闭操作系统交换分区
swapoff -a systemctl daemon-reload
然后执行以下命令重启kubelet:
systemctl restart kubelet
保存VMware文件
现在关闭CentOS系统,在VMware的虚拟机文件目录下找到这个CentOS的全部文件,好好保存,咱们后面安装master和node节点都用这个VMware的镜像了,下一章我们一起来安装完整的kubernetes集群;
kubeadm搭建kubernetes集群之一:构建标准化镜像的更多相关文章
- kubeadm搭建kubernetes集群之二:创建master节点
在上一章kubeadm搭建kubernetes集群之一:构建标准化镜像中我们用VMware安装了一个CentOS7虚拟机,并且打算用这个虚拟机的镜像文件作为后续整个kubernetes的标准化镜像,现 ...
- kubeadm搭建kubernetes集群之三:加入node节点
在上一章<kubeadm搭建kubernetes集群之二:创建master节点>的实战中,我们把kubernetes的master节点搭建好了,本章我们将加入node节点,使得整个环境可以 ...
- kubeadm 搭建kubernetes集群环境
需求 kubeadm 搭建kubernetes集群环境 准备条件 三台VPS(本文使用阿里云香港 - centos7.7) 一台能SSH连接到VPS的本地电脑 (推荐连接工具xshell) 安装步骤 ...
- 通过Kubeadm搭建Kubernetes集群
历经断断续续学习的两天,终于完成了一个简单k8s集群. 参考 https://www.cnblogs.com/edisonchou/p/aspnet_core_on_k8s_deepstudy_par ...
- centos7使用kubeadm搭建kubernetes集群
一.本地实验环境准备 服务器虚拟机准备 IP CPU 内存 hostname 192.168.222.129 >=2c >=2G master 192.168.222.130 >=2 ...
- [转帖] kubeadm搭建kubernetes集群
http://www.bladewan.com/2018/01/02/kubernetes_install/ 学习中 kubernetes V1.9安装(附离线安装包和离线镜像) 2018-01-0 ...
- 使用kubeadm搭建Kubernetes集群
记录在石墨日记中,经常更新,懒得再复制了,直接点击下面链接查看吧 移步到此: https://shimo.im/docs/22WbxxQa1WUV9wsN/
- kubeadm搭建K8s集群及Pod初体验
基于Kubeadm 搭建K8s集群: 通过上一篇博客,我们已经基本了解了 k8s 的基本概念,也许你现在还是有些模糊,说真的我也是很模糊的.只有不断地操作去熟练,强化自己对他的认知,才能提升境界. 我 ...
- Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)
背景: 由于工作发生了一些变动,很长时间没有写博客了. 概述: 这篇文章是为了介绍使用kubeadm安装Kubernetes集群(可以用于生产级别).使用了Centos 7系统. 一.Centos7 ...
随机推荐
- jackson序列化字段字母大小写及字段名重复
一:Jackson默认的属性发现规则将会查找到如下所述的属性: 1.所有被public修饰的字段(成员变量): 2.所有被public修饰的getter(即形如“getXxx()”的方法): 3.所有 ...
- Mysql CASE WHEN 用法
select sum(1) as col_0_0_, sum(case vciinfo.useable when -1 then 1 else 0 end) as col_1_0_, sum(case ...
- 转:web.xml 中的listener、 filter、servlet 加载顺序及其详解
在项目中总会遇到一些关于加载的优先级问题,刚刚就遇到了一个问题,由于项目中使用了quartz任务调度,quartz在web.xml中是使用listener进行监听的,使得在tomcat启动的时候能马上 ...
- Spring MVC 处理中文乱码
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>or ...
- webstorm的安装、激活码、更换主题颜色的修改、汉化
一.安装 1.解压webstorm11zh.rar,双击.exe文件,下一步安装,在安装结束前会提示输入激活码,这个从网上随便找一个可用的即可. 二.更换主题颜色: 1.先从网上找一个喜欢的主题颜色, ...
- Nordic nRF5 SDK和softdevice介绍
SDK和Softdevice的区别是什么?怎么选择SDK和softdevice版本?芯片,SDK和softdevice有没有版本兼容问题?怎么理解SDK目录结构?SDK帮助文档在哪里?Softdevi ...
- 【Python】关于使用pycharm遇到只能使用unittest方式运行,无法直接选择Run
相信大家可能都遇到过这个问题,使用pycharm直接运行脚本的时候,只能选择unittest的方式,能愁死个人
- MongoDB开启安全认证
MongoDB开启安全认证 注意 对MongoDB部署启用访问控制会强制执行身份验证,要求用户识别自己.当访问启用了访问控制的MongoDB部署时,用户只能执行由其角色确定的操作. 启用访问控制后,请 ...
- 如何在 Ubuntu 中安装 QGit 客户端
QGit是一款由Marco Costalba用Qt和C++写的开源的图形界面 Git 客户端.它是一款可以在图形界面环境下更好地提供浏览版本历史.查看提交记录和文件补丁的客户端.它利用git命令行来执 ...
- clipboard.js使用方法
HTML data-clipboard-action=“ copy ” 或者“cut” data-clipboard-target="#domName" data-clipboa ...