Rancher(一)

为了月入税后两万继续卷~~~~

一 、什么是Rancher

Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。

Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。

Rancher 基于 Kubernetes 添加了新的功能,包括统一所有集群的身份验证和 RBAC,让系统管理员从一个位置控制全部集群的访问。

此外,Rancher 可以为集群和资源提供更精细的监控和告警,将日志发送到外部提供商,并通过应用商店(Application Catalog)直接集成 Helm。如果你拥有外部 CI/CD 系统,你可以将其与 Rancher 对接。没有的话,你也可以使用 Rancher 提供的 Fleet 自动部署和升级工作负载。

Rancher 是一个 全栈式 的 Kubernetes 容器管理平台,为你提供在任何地方都能成功运行 Kubernetes 的工具

Rancher 为 DevOps 工程师提供简单直接的用户界面,以管理其应用负载。用户不需要对 Kubernetes 有非常深入的了解,即可使用 Rancher。Rancher 应用商店包含一套实用的 DevOps 开发工具。Rancher 获得了多种云原生生态系统产品的认证,包括安全工具、监控系统、容器镜像仓库、存储和网络驱动等。

下图讲述了 Rancher 在 IT 管理团队和 DevOps 开发团队之间扮演的角色。DevOps 团队把他们的应用部署在他们选择的公有云或私有云上。IT 管理员负责查看并管理用户、集群、云服务的权限。

二、Rancher API Server的功能

Rancher API Server 是基于嵌入式 Kubernetes API Server 和 etcd 数据库建立的,它提供了以下功能:

授权和基于角色的权限控制(RBAC)

        用户管理:Rancher API Server 除了管理本地用户,还管理用户用来范文外部服务所需的认证信息,如登录 Active Directory 和 GitHub 所需的账号密码。

        授权:Rancher API Server 可以管理访问控制策略和安全策略

使用Kubernetes的功能

        配置Kubernetes 集群:Rancher API Server可以在已有节点上配置Kubernetes,或进行Kubernetes版本升级

        管理应用商店:Rancher支持使用Helm Chart应用商店实现轻松重复部署应用

        管理项目:项目由集群中多个命名空间和访问控制策略组成,是 Rancher 中的一个概念,Kubernetes 中并没有这个概念。你可以使用项目实现以组为单位,管理多个命名空间,并进行 Kubernetes 相关操作。Rancher UI 提供用于项目管理和项目内应用管理的功能。

        Fleet持续交付:在 Rancher 中,你可以使用 Fleet持续交付将应用程序从 Git 仓库部署到目标下游 Kubernetes 集群,无需任何手动操作。

        Istio:Rancher与Istio集成,使得管理员或集群所有者可以将 Istio 交给开发者,然后开发者使用 Istio 执行安全策略,排查问题,或为蓝绿部署,金丝雀部署,和 A/B 测试进行流量管理。

配置云基础设施

        同步节点信息:Rancher API Server 可以同步所有集群中全部节点的信息。

        配置云基础设施:如果你为 Rancher 配置了云提供商,Rancher 可以在云端动态配置新节点和持久化存储。

查看集群信息

        日志管理:Rancher 可以与多种 Kubernetes 集群之外的主流日志管理工具集成。

        监控:你可以使用 Rancher,通过业界领先并开源的 Prometheus 来监控集群节点、Kubernetes 组件和软件部署的状态和进程。

        告警:为了保证集群和应用的正常运行,提高公司的生产效率,你需要随时了解集群和项目的计划内和非计划事件。

三、部署Rancher

安装要求:安装要求 | Rancher

Rancher和kubernetes对应版本:Rancher Manager v2.8.5 | SUSE

建议在 Kubernetes 集群上安装 Rancher。高可用的 Kubernetes 安装的情况下,一个 Kubernetes 集群包含三个运行 Rancher Server 组件的节点。持久层(etcd)也在这三个节点上进行复制,以便在其中一个节点发生故障时提供冗余和数据复制。

1、添加Helm Chart仓库

helm repo add rancher-stable https://releases.rancher.com/server-charts/stable

2、获取最新的 Rancher Chart。

helm fetch rancher-<CHART_REPO>/rancher

如需下载特定的Rancher版本,用 Helm --version 参数指定版本

helm fetch rancher-stable/rancher --version=v2.4.8

3、选择SSL配置

Rancher Server 默认设计为安全的,并且需要 SSL/TLS 配置。

在离线的 Kubernetes 集群中安装 Rancher,建议使用以下两种证书生成方式。

配置Chart选项描述是否需要cert-manager
Rancher生成的自签证书ingress.tls.source=rancher使用 Rancher 生成的 CA 签发的自签名证书。此项是默认选项。在渲染 Helm 模板的时候不需要传递此项。
已有的证书ingress.tls.source=secret通过创建 Kubernetes 密文使用你自己的证书文件。在渲染 Rancher Helm 模板时必须传递此选项。

4、获取Cert-Manager Chart

1、添加cert-manager仓库
helm repo add jetstack https://charts.jetstack.io
helm repo update

2、获取cert-manager Chart。从 Helm Chart 仓库中获取最新可用的 cert-manager Chart
helm fetch jetstack/cert-manager

3、检索cert-manager CRD。为 cert-manager 下载所需的 CRD 文件
curl -L -o cert-manager-crd.yaml https://github.com/cert-manager/cert-manager/releases/download/<VERSION>/cert-manager.crds.yaml

4、安装cert-manager
kubectl create namespace cert-manager

kubectl apply -f cert-manager/cert-manager-crd.yaml

helm install cert-manager ./cert-manager-<VERSION>.tgz \
    --namespace cert-manager \
    --set image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-controller \
    --set webhook.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-webhook \
    --set cainjector.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-cainjector \
    --set startupapicheck.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-ctl

记住要设置 image.repository 选项

5、安装Rancher

1、使用 kubectl 为 Rancher 创建命名空间
kubectl create namespace cattle-system

2、执行helm
helm install rancher ./rancher-<VERSION>.tgz \   
--namespace cattle-system \ 
--set hostname=<RANCHER.YOURDOMAIN.COM> \
--set certmanager.version=<CERTMANAGER_VERSION> \
--set rancherImage=<REGISTRY.YOURDOMAIN.COM:PORT>/rancher/rancher \
--set systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT> \ # 设置在 Rancher 中使用的默认私有镜像仓库
--set useBundledSystemChart=true # 使用打包的 Rancher System Chart

VERSION:   输出压缩包的版本号。

RANCHER.YOURDOMAIN.COM:指向负载均衡器的 DNS 名称。

REGISTRY.YOURDOMAIN.COM:PORT:私有镜像仓库的 DNS 名称。

CERTMANAGER_VERSION:在 K8s 集群上运行的 cert-manager 版本。

6、(补充)Docker安装

docker run -d --restart=unless-stopped \
    -p 80:80 -p 443:443 \
    -e CATTLE_SYSTEM_DEFAULT_REGISTRY=<REGISTRY.YOURDOMAIN.COM:PORT> \ # 设置在 Rancher 中使用的默认私有镜像仓库
    -e CATTLE_SYSTEM_CATALOG=bundled \ # 使用打包的 Rancher System Chart
    --privileged \
    <REGISTRY.YOURDOMAIN.COM:PORT>/rancher/rancher:<RANCHER_VERSION_TAG>

<REGISTRY.YOURDOMAIN.COM:PORT>  私有镜像仓库的 URL 和端口

<RANCHER_VERSION_TAG> 安装 Rancher 版本的版本标签。

四、其他安装选项

docker自定义证书安装:Docker 安装命令 | Rancher

k8s自定义安装:安装 Rancher | Rancher

使用Docker将Rancher安装到单个节点中:使用 Docker 将 Rancher 安装到单个节点中 | Rancher

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叽叽喳喳323

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值