认识rancher

一、简介

1、什么rancher

Rancher是一个开源软件平台,使组织能够在生产中运行和管理Docker和Kubernetes。使用Rancher,组织不再需要使用一套独特的开源技术从头开始构建容器服务平台。Rancher提供了管理生产中的容器所需的整个软件堆栈。 

2、充分发挥K8s的潜力

Kubernetes并非没有挑战,对一个集群的严格控制可能会给运营团队带来压力。关注一个以上的问题会让他们不知所措。Kubernetes很容易为您的软件引入过多的复杂性。随着越来越多的供应商围绕Kubernetes部署解决方案,避免锁定只会变得更加困难。
Rancher解决了这些问题。它开箱即用地部署Prometheus和Grafana,以便对集群和工作负载的指标进行详细的可视化。它使新Kubernetes用户部署工作负载变得非常简单,同时仍然保留所有传统的访问通道供高级用户使用。它在一个集中身份验证提供者下统一管理每个集群。它将最佳实践转化为简单的实践,这将成为更安全的系统、更高效的团队,以及企业转向市场的灵活性。

3、基础架构流程

Rancher以linux主机的形式可以从任何公有/私有云中获取原始计算资源,每个linux主机可以是虚拟机/物理机。
Rancher实现了可移植的基础架构服务层,专门为容器话应用程序提供动力,Rancher基础架构服务包括网络,存储、负载均衡、DNS和安全性。Rancher基础结构服务通常本身是作为容器部署,因此同一Rancher基础结构服务可以在来自任何云、任何linux主机上运行

4、容器编排和调度

许多用户选择使用容器编排和调度框架来运行容器话的应用程序,Rancher包括当前所有留下的容器编排和调度框架的发行版,包括Docker Swarm,Kubernetes和Mesos,同一个用户可以创建多个Swarm或Kubernetes集群,然后,他们可以使用本机Swarm或Kubernetes和Mesos集群

5、应用目录

Rancher用户只需单击以下按钮,即可从应用程序目录中部署整个多容器集群应用程序,当新版本的应用程序可用时,用户可以管理已部署的应用程序并执行全自动升级,Rancher维护由Rancher社区贡献的流行应用程序组成的公共目录。Rancher用户可以创建自己的私有目录

6、企业级控制

Rancher支持灵活的用户身份验证差价,并与Active Directory,LDAP和GitHub进行了预先构建的用户身份验证集成。Rancher在环境级别支持基于角色的访问控制(RBAC),允许用户和组共享或拒绝对开发和生产环境的访问。

7、为什么使用rancher

Rancher是供采用容器的团队使用的完整软件堆栈。它解决了在任何基础架构上管理多个Kubernetes集群的运营和安全挑战,同时为DevOps团队提供了用于运行容器化工作负载的集成工具
用户不需要深入了解kubernetes概念就可以使用rancher,rancher包含应用商店,支持一键部署helm和compose模板。rancher通过各种云、本地生态系统产品认证,其中包括安全工具,监控系统,容器仓库以及存储和网络驱动程序,下图说明rancher在IT和DevOps组织中扮演的角色,每个团队都会在他们选择的公共云或私有云上部署应用

    

8、Rancher的主要组件和功能图示

 

9、新的功能

内置CI/CD;
告警和日志收集;
多集群管理;
rancher kubernetes engine(RKE);
与云Kubernetes服务(如GKE,EKS和AKS)集成; 

二、单节点部署并穿件K8S

流程:环境---》安装docker---》安装rancher---》部署k8s

1、环境

rancher:2.3.3
kubernetes:1.16.3
docker-ce:18.06.3
centos7:3.10

两台机器:

节点 ip 作用
node1 192.168.216.51 rancher
node2 192.168.216.52 k8s

官方要求

2、准备

两台主机都一样的部署
关闭防火墙

[root@node2 ~]# systemctl stop firewalld
[root@node2 ~]# systemctl disable firewalld

关闭selinux

sed '/SELINUX/s/enforcing/disabled/g /etc/sysconfig/selinux'

设置时间同步

[root@node2 ~]# systemctl start chronyd
[root@node2 ~]# systemctl enable chronyd

修改hosts

[root@node1 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.216.51 node1
192.168.216.52 node2
192.168.216.53 node3

3、安装docker-ce

两台主机都安装

1)卸载旧版本docker

yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
container*

  

2)配置docker源

安装公钥

yum install ca-certificates ;
update-ca-trust;

  

安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data \
lvm2 bash-completion;

  

下载源并更新

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
cp docker-ce.repo /etc/yum.repos.d/
yum clean all
yum make cache

  

3)安装docker-ce并启动

定义安装版本

export docker_version=18.06.3
yum -y install --setopt=obsoletes=0 docker-ce-${version} docker-ce-selinux-${version};

  

4)更改阿里源,镜像加速

vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd-current --registry-mirror=https://rfcod7oz.mirror.aliyuncs.com \ #1.13版本这个值可以登陆阿里云账号
##新版本如下:
##ExecStart=/usr/bin/dockerd --registry-mirror=https://rfcod7oz.mirror.aliyuncs.com 

5)、由于Centos安全限制,RKE或者custom安装k8s时无法使用root账户可以使用其他用户来运行docker

添加rancher用户

adduer rancher

设置rancher秘密

passwd rancher

添加sudo权限

echo "rancher ALL=(ALL)ALL" >> /etc/sudoers

加入docker组

suermod -aG docker rancher

6)、启动docker并设置开机自启

sudo systemctl start docker
sudo systemctl enable docker

  

4、安装rancher

node1

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

5、登录web端创建kubernetes集群

1)登录并设置密码

https:192.168.216.51/login
我这里是admin/111111

2)创建集群

先可以调成中文在点击添加集群

点击创建集群---》点击自定义

这里只修改两项:

集群名称:test1
网络驱动:选择flannel(也可以保持默认)
其他保持默认点击下一步

点击下一步

2)下一步主机选项

三个全选:etcd/control plane/worker

然后复制黑色框里的命令在需要部署的机器上执行即可

3)在需要部署的机器上执行

需要部署的节点为:node2

node2上运行

[rancher@node2 ~]$ sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.3 --server https://192.168.216.51 --token ns6x6b2pc8lltbhjbjptqgx6bwcl52rd67px4kljrzdqzmk5h66xts --ca-checksum 72ff2101ce28276ebebc41386e4f7208349b16b0c8417a9ff589624451c03a9d --etcd --controlplane --worker
Unable to find image 'rancher/rancher-agent:v2.3.3' locally
v2.3.3: Pulling from rancher/rancher-agent
7ddbc47eeb70: Pull complete
c1bbdc448b72: Pull complete
8c3b70e39044: Pull complete
45d437916d57: Pull complete
9d0628a9505a: Pull complete
86ff83498dc8: Pull complete
75a4645b34c1: Pull complete
24a0b57bdc62: Pull complete
f4f0caf7fc9b: Pull complete
e4f54def8dda: Pull complete
Digest: sha256:ad0b39814ba3f6e1e5e16e1c2b46f02c8056298a45f5feacf833126f66fb3fd6
Status: Downloaded newer image for rancher/rancher-agent:v2.3.3
ef59b4f733e45f045110ee119836909531586ec5ab947ab96af515b496ce5a3b
[rancher@node2 ~]$

部署需要等待一会

部署完成后会显示状态active

点击机器名称进入仪表盘

参考:

https://docs.rancher.cn/rancher2x/#_1-what-s-rancher%EF%BC%9F

https://rancher.com/docs/rancher/v2.x/en/installation/single-node/

https://rancher.com/docs/rancher/v2.x/en/backups/

https://www.cnblogs.com/horizonli/p/10572834.html

转载请注明出处:https://www.cnblogs.com/zhangxingeng/p/11753959.html

Rancher1-简单介绍-认识rancher的更多相关文章

  1. [原创]关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  2. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  3. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  4. yii2的权限管理系统RBAC简单介绍

    这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...

  5. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

  6. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  7. iOS-iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  8. iOS开发多线程篇—多线程简单介绍

    iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...

  9. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

  10. Android开发自学笔记(Android Studio)—4.界面编程与View组件简单介绍

    一.引言 Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃.Android SDK提供了大量功能丰富的UI组 ...

随机推荐

  1. 【Elasticsearch 7 探索之路】(二)文档的 CRUD 和批量操作

    上一篇,我们介绍了什么是 Elasticsearch,它能做什么用以及基本概念(索引 Index.文档 Document.类型 Type)理解.这篇主要对 文档的基本 CRUD 和 倒排索引进行讲解. ...

  2. PHP array_multisort实现二维数组排序

    PHP array_multisort实现二维数组排序 参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能.第一个数组是要排序的主要数组.数组中的行(值 ...

  3. Hibernate中关于Query返回查询结果是类名的问题

    query.list返回的是一个装有类的信息的集合,而不装有数据库信息的集合.如下图 运行结果为:   因为得到的集合是类,所以要将list泛型设为那个类,并且将得到的集合进行.get(x).getx ...

  4. 服务器spring boot版本,平滑升级

    1.在pom文件中加入: <!--平滑升级包 开始 --> <dependency> <groupId>org.springframework.boot</g ...

  5. Geometry 判断几何是否被另一个几何/线段分割成多段

    如下图,如何判断几何多边形A被多边形B,切割为多段几何? 几何A被几何B切割 1. 获取几何A与几何B的交集C var intersectGeometry = new CombinedGeometry ...

  6. nuxt遇到的问题(一)window 或 document is not defined

    因为用了VUE做的官网,既然是官网了避免不了SEO的问题了(该死当初就不应该选择用vue) 很自然就是选择了使用nuxt.js来做ssr预渲染了. 因为网站不是响应式的,PC / 移动端要进行对应跳转 ...

  7. nyoj 72-Financial Management (求和 ÷ 12.0)

    72-Financial Management 内存限制:64MB 时间限制:3000ms 特判: No 通过数:7 提交数:12 难度:1 题目描述: Larry graduated this ye ...

  8. Condition对象以及ArrayBlockingQueue阻塞队列的实现(使用Condition在队满时让生产者线程等待, 在队空时让消费者线程等待)

    Condition对象 一).Condition的定义 Condition对象:与锁关联,协调多线程间的复杂协作. 获取与锁绑定的Condition对象: Lock lock = new Reentr ...

  9. WPF 修改屏幕DPI,会触发控件重新加载Unload/Load

    修改屏幕DPI,会触发控件的Unloaded/Loaded 现象/重现案例 对Unloaded/Loaded的印象: FrameworkElement, 第一次加载显示时,会触发Loaded.元素被释 ...

  10. 2019-10-23:渗透测试,基础学习,DVWA,Medium和Hight级别sql注入

    VWA的Medium和Hight级别sql注入 一,Medium级 服务端代码 <?php if( isset( $_POST[ 'Submit' ] ) ) {      // Get inp ...