Rancher1-简单介绍-认识rancher
认识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 ::1 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