二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • 最佳实践

  • 迎刃而解

  • Nginx

  • Php

  • Zabbix

  • AWS

  • Prometheus

  • Grafana

  • Loki

  • CentOS

  • Supervisord

  • Systemd

  • Docker

  • Docker-Compose

  • Rancher

    • rancher-2-1-6的ha版本部署记录
    • rancher-2-1-6的ha版本部署记录
    • 关于rancher集群的高可用的实验
    • 关于rancher中部署应用的高可用的实验
    • 关于rancher-ha集群备份恢复试验
    • rancher-v2-2-2的HA部署文档
    • Rancher-2-2-2学习笔记-rancher-cli的使用
    • 基于Rancher-2-2-2的hpa实验
    • Rancher-2-2-2之Jenkins+rancher+harbor+Gitlab部署应用到生产
    • 使用docker快速部署rancher-2.8.5并投入生产实践
      • 快速部署
      • 权限管理
    • rancher如何重新注册托管集群
  • Ansible

  • OpenLdap

  • GitLab

  • GitHub

  • Etcd

  • Consul

  • RabbitMQ

  • Kafka

  • Mysql

  • MongoDB

  • OpenVPN

  • Kvm

  • VMware

  • 配置文件详解

  • Other

  • 运维观止
  • Rancher
二丫讲梵
2024-07-20
目录

使用docker快速部署rancher-2.8.5并投入生产实践

文章发布较早,内容可能过时,阅读注意甄别。

市面上管理 k8s 多集群的工具非常多,但是真正易于维护,且设计比较优雅好用的并不多,如果你所要管理的集群没有特别多,那么 rancher 是一个不错的选择。

我曾在博客写过 rancher 的部署文档,想想那已经是 2019 年的事情了,彼时采取了高可用的部署方案,较为繁琐,且版本已经落后了太多,今天来简明扼要的写一下通过 docker 快速部署 rancher-2.8.5 以及集群接入,和权限管理等问题,让你通过本文,即可把 rancher 部署且投入到生产实践当中。

# 快速部署

在项目官方的 README 中已经提供了一键部署的命令,如下:

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

默认拉取最新版本的镜像。

通常我们在生产实践当中,会配置一个自定域名,而不用 IP 访问,通过域名访问时,还需要将证书挂载到容器当中去。

准备证书如下:

$ tree
.
├── ssl
│   ├── eryajf.net_bundle.pem
│   └── eryajf.net.key
└── start.sh
1
2
3
4
5
6

其中 start.sh 的内容为:

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  --name rancher -v /data/rancher/data:/var/lib/rancher \
  --privileged \
  -v /etc/hosts:/etc/hosts \
  -v /data/rancher/ssl/eryajf.net_bundle.pem:/etc/rancher/ssl/cert.pem \
  -v /data/rancher/ssl/eryajf.net.key:/etc/rancher/ssl/key.pem \
  rancher/rancher:v2.8.5 \
  --no-cacerts
1
2
3
4
5
6
7
8
9

指定具体版本的镜像,然后运行即可。

正常运行之后,可以将 rancher.eryajf.net 解析指向该主机的 IP。

申明

原创文章eryajf,未经授权,严禁转载,侵权必究!此乃文中随机水印,敬请读者谅解。

Copyright 二丫讲梵 (opens new window) 版权所有

# 权限管理

权限管理可能也是一个比较复杂的部分,但这里我不想把他复杂化,rancher 也支持对接 ldap,但问题是不支持给登陆用户配置默认的对应权限,因此我这里用了一个相对简单的思路来管控权限。

简单来说就是创建一个开发者账号,然后在角色模板中创建一个开发者角色,这个角色拥有 deployment 和 pod 的只读权限,同时拥有查看日志以及 exec 到 pod 的权限,然后只需要在集群的项目中,将该用户添加到项目中并关联该角色即可。这样普通开发者共同使用这个普通账号来登陆 rancher 查看业务应用运行状态就可以了。

角色

点击 用户认证 ---> 角色模板 ---> 选择 项目或命名空间 ---> 点击右上角 创建项目或命名空间的角色:

注意对应授予的权限,可按实际需求情况进行增减。

其中的 pods/exec 与 pods/log 创建时不会补全,手打即可。

角色创建完成之后,在集群的项目里,将对应的普通用户添加进来,并且关联 devuser 这个角色即可。

这样普通开发者通过 devuser 这个账号登陆 rancher 之后,就拥有了 devuser 这个角色的权限,亦即上边所给到的权限了。

微信 支付宝
上次更新: 2024/09/26, 21:41:44
Rancher-2-2-2之Jenkins+rancher+harbor+Gitlab部署应用到生产
rancher如何重新注册托管集群

← Rancher-2-2-2之Jenkins+rancher+harbor+Gitlab部署应用到生产 rancher如何重新注册托管集群→

最近更新
01
学习周刊-总第213期-2025年第22周
05-29
02
学习周刊-总第212期-2025年第21周
05-22
03
从赵心童世锦赛夺冠聊聊我的斯诺克情缘
05-16
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式