一、环境准备

1.准备至少3台CentOS7版本的虚拟机

#  IP地址       主机名称
192.168.1.160  rancher

192.168.1.161  master 

192.168.1.162  node1 

192.168.1.163  node2 

192.168.1.164  node3

2.每台虚拟机上需要做的配置

1.安装Docker

$ yum install -y docker

2.设置hostname

$ hostnamectl --static set-hostname rancher  #根据下面名称进行对应配置

3.设置host

$ vim /etc/hosts

# 粘贴配置
192.168.1.160 rancher
192.168.1.161 master
192.168.1.162 node1
192.168.1.163 node2
192.168.1.164 node3

4.关闭防火墙

$ systemctl disable firewalld.service
$ systemctl stop firewalld.service

5.开启docker

$ systemctl start docker

到这里所有的准备工作已就绪~~~

二、搭建rancher(在你主机名rancher的虚拟机上执行哈,不建议rancher和master配置在同一台机器上)

1.使用docker安装rancher

$ docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable

2.查看rancher是否安装完成

$ docker ps

3.访问rancher

https://192.168.1.160:443 默认用户名密码都是admin

到这里rancher已经安装完成~~~

三、新建集群

1.起一个好听的集群名称

2. 打开你配置好的虚拟机,设置需要扩展的工作节点,注意只有master需要勾选etcd和Control 其他node节点只需勾选worker

3.等待集群部署台扩展节点,部署好之后就可以查看仪表盘了

出现以上图片内容,恭喜你你已经完成节点配置了~~~

四、部署Nginx

1.新建一个项目和项目空间

2.部署Nginx工作负载

3.部署完成之后进入nginx工作负载进行访问测试

出现上面的信息说明配置成功,你可以切换不同node节点访问Nginx,都是可以访问成功的~

五、部署私有库镜像

1.配置镜像库凭证

2.使用已配置的镜像库凭证部署一个镜像服务

部署完成之后可以点进去和Nginx一样,也是可以多节点访问的~

六、说在后头

Docker+Rancher+K8S的配置到现在大功告成,比起我自己手动线下搭建K8S,Rancher简直不要太简单,我看到一个文章是这么形容这三者的关系的,感觉

非常的贴切:Docker是码头工人,K8S是舵手,Rancher是农场主,一下子豁然开朗~~~

Rancher的部署有两种方式,单点部署和高可用部署,本文重点在于使用rancher搭建Kubernetes高可用集群,所以本文使用rancher的单点部署方式。

Rancher的技术专家录制视频:Rancher高可用模式视频连接

参考链接:

Rancher2.0-解决部署服务出现错误解决方法

按照这篇文章,自己离线部署了K8S.当时搭建的是1+3模式,此种模式很繁琐并且不适合用于生产,但还是建议看一下,更有利于理解K8S

Rancher2.0构建kubernetes(K8S)集群的更多相关文章

  1. Centos7 安装部署Kubernetes(k8s)集群

    目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4. ...

  2. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  3. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...

  4. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  5. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

  6. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  7. 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理

    目录 一.系统环境 二.前言 三.kubectl 3.1 kubectl语法 3.2 kubectl格式化输出 四.kubectl常用命令 五.查看kubernetes集群node节点和pod负载 5 ...

  8. Istio(二):在Kubernetes(k8s)集群上安装部署istio1.14

    目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.Ge ...

  9. K8S 使用Kubeadm搭建高可用Kubernetes(K8S)集群 - 证书有效期100年

    1.概述 Kubenetes集群的控制平面节点(即Master节点)由数据库服务(Etcd)+其他组件服务(Apiserver.Controller-manager.Scheduler...)组成. ...

随机推荐

  1. Android-Java-饿汉式单例模式(内存图)

    描述Single对象: package android.java.oop14; public class Single { // 默认构造方法 私有化 不让外界调用 private Single() ...

  2. WPF 显示 mp3 专辑图片

    mp3 专辑图片是属于 mp3 的 tag 的一部分,安装 taglib# 的 nuget 安装包到项目.这里使用 TagLib.Portable https://www.nuget.org/pack ...

  3. WeexSDK之注册Modules

    注册Modules的流程和注册Components非常类似. + (void)_registerDefaultModules { [self registerModule:@"dom&quo ...

  4. Android 监听耳机的插拔事件

    一般采用的是动态监听的方式来实现的: package com.renhui.ej; import android.content.BroadcastReceiver; import android.c ...

  5. 15:IO之File、Properties类

    第一  File类 一.概述:File类是有文件或文件件封装而来的对象,可以操作其属性信息,这个类的出现弥补了流的不足,流只能操作数据 1.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与 ...

  6. weblogic安装及配置

    WebLogic是用于开发.集成.部署和管理大型分布式Web应用.网络应用和数据库应用的Java应用服务器. 1.安装Weblogic:(1)点击Next按钮:(2) 选择Custom后点击Next按 ...

  7. 你可能不知道的github语法——图标

    概述 逛github,看到别人的仓库的description里面有各种炫丽的图标,不禁有点好奇,于是去查了下怎么写真的被我查到了,记录在下面,供以后开发时参考,相信对其他人也有用. 图标 可以先看看g ...

  8. H5的Page Visibility API

    概述 哈哈,又学了一个H5的API.今天突然对动态获取网页的选中状态很感兴趣,然后去查了下,发现真的有个API控制它--Page Visibility API.于是把学到的东西记录下来,供以后开发时参 ...

  9. Java学习笔记51(综合项目:家庭记账系统)

    javaEE的开发模式 1.什么是模式 模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式 2.javaEE经历的模式 model1模式: 技术组成:jsp+javaBean model ...

  10. Python3基础语法你学会了么

      编码 默认:源码文件以UTF-8编码,字符串都是unicode字符串 指定:   标识符 第一个字符:字母表中的字符或下划线 _ 其它部分:由字母.数字.下划线 _ 组成 大小写敏感 python ...