一、环境准备

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. 利用foo函数的Bof漏洞攻击:构造攻击字符串

    利用foo函数的Bof漏洞攻击:构造攻击字符串 一.基础知识储备 objdump反汇编指令.gdb函数调试运行.Perl语言.|管道符 二.实验步骤 1. 通过反汇编了解程序功能及代码 ①反汇编查看文 ...

  2. Avoid Inputing Password While Pushing/Pulling Git Project

    If we add public key in our git account, we can pull/push project easily without password. However, ...

  3. RxSwift学习笔记9:amb/tabkeWhile/tabkeUntil/skipWhile/skipUntil

    //amb基本介绍 //当传入多个 Observables 到 amb 操作符时,它将取第一个发出元素或产生事件的 Observable,然后只发出它的元素. //并忽略掉其他的 Observable ...

  4. 【leetcode】 算法题2 两数相加

      问题      给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例 ...

  5. App设计模式纵横谈(1)

    对我的文章和培训课程感兴趣的可以加我微信16230091进行关注. —————————————————————————————————— 今天聊聊我沉淀比较久的一门技术,设计模式.这里是第一篇,算是概 ...

  6. Iptables-redhat/centos

    6用iptables 7默认用firewalld firewalld 与 iptables 过滤点,表 做nat是使用postrouting,prerouting表 Samba服务所使用的端口和协议: ...

  7. JAVA基础语法——标识符、修饰符、关键字(个人整理总结)

    JAVA基础语法——标识符.修饰符.关键字 一 . 标识符 1.1    什么是标识符 就是程序员在定义java程序时,自定义的一些名字,例如helloworld 程序里关键字class 后跟的Dem ...

  8. Go语言之Interface(一)

    Go语言之Interface(一) 什么是interface 在面向对象语言中接口是:接口定义了一个对象的行为,但在Go中接口就是方法签名的集合,当一个类型提供了这个接口中的所有的方法,就可以说这个类 ...

  9. PHP-----浅谈垃圾回收机制

    前言 大多数编程语言都会有自身的垃圾回收机制,php也不例外.经常听很多人说gc,也就是垃圾回收器,全程为Garbage Collection. 在php5.3之前,是不包括垃圾回收机制的,也没有专门 ...

  10. java——IObufferedReader文件输入输出流

    package com.jredu.ch02_lianxi; import java.io.BufferedReader;import java.io.BufferedWriter;import ja ...