一、环境准备

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. Python获取当前类的所有成员属性

    # -*- coding: utf-8 -*- class Market(object): def __init__(self): self.title = 'apple' self.count = ...

  2. oracle数据库创建分区表

    参考资料:http://blog.chinaunix.net/uid-21943216-id-4062400.html 一.建按月自增分区表:1.1建表SQL> create table mon ...

  3. Java连接MySQL数据库详细教程(附网盘下载地址)

    准备工具 Eclipse-oxygen-64位 http://pan.baidu.com/s/1gf48FIj MySQL-5.7.17 http://pan.baidu.com/s/1skD14Cl ...

  4. Android-Java-静态变量

    描述Person对象: package android.java.oop09; // 描述Person对象 public class Person { private String name; pri ...

  5. linq转载

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...

  6. blender 快捷键手动整理

    armature envelop 设置骨骼影响范围:Edit Mode 下,选中骨头的其中一端,按 Alt + s,缩放 T 呼出 Tools N 呼出 Property Ctrl + Alt + Q ...

  7. [git] 常用配置

    基本配置 对git进行配置时使用 git config 命令进行操作 1. git config 的作用域,缺省等于 local git config --local   #只针对某个仓库有效 git ...

  8. C++primer笔记之关联容器

    在这一章中,有以下的几点收获: 1.pair类型的使用相当频繁,如果需要定义多个相同的pair类型对象,可考虑利用typedef简化其声明: typedef pair<string, strin ...

  9. iOS-UIImage图片绘制颜色

    - (UIImage *)dtk_setImageColor:(UIColor *)imageColor{ //获取画布 UIGraphicsBeginImageContextWithOptions( ...

  10. php 对数组按照字符串长度排序

    $file = file('zong.txt'); usort($file, 'sortByLen'); $handle = fopen('zong2.txt', 'a'); foreach ($fi ...