k8s上部署rancher

news/2024/9/23 4:03:58/

一、什么事rancher

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

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

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

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

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

二、添加helm chart仓库

一、latest:建议用于最新功能
# helm repo add rancher-latest https://releases.rancher.com/server-charts/latest二、stable: 用于生产环境, 稳定
# helm repo add rancher-stable https://releases.rancher.com/server-charts/stable三、Alpha: 发布实验性预览
# helm repo add rancher-alpha https://releases.rancher.com/server-charts/alpha注意:不支持升级到 Alpha 版、从 Alpha 版升级或在 Alpha 版之间升级。

三、为rancher创建命名空间

kubectl create namespace cattle-system

四、选择ssl配置

Rancher Management Server 默认需要 SSL/TLS 配置来保证访问的安全性。

可以从以下三种证书来源中选择一种,用于在 Rancher Server 中终止 TLS:

  • Rancher 生成的 TLS 证书:要求你在集群中安装 cert-manager。Rancher 使用 cert-manager 签发并维护证书。Rancher 会生成自己的 CA 证书,并使用该 CA 签署证书。然后 cert-manager负责管理该证书。
  • Let's Encrypt:Let's Encrypt 选项也需要使用 cert-manager。但是,在这种情况下,cert-manager 与 Let's Encrypt 的特殊颁发者相结合,该颁发者执行获取 Let's Encrypt 颁发的证书所需的所有操作(包括请求和验证)。此配置使用 HTTP 验证(HTTP-01),因此负载均衡器必须具有可以从互联网访问的公共 DNS 记录。
  • 你已有的证书:使用已有的 CA 颁发的公有或私有证书。Rancher 将使用该证书来保护 WebSocket 和 HTTPS 流量。在这种情况下,你必须上传名称分别为 tls.crt 和 tls.key的 PEM 格式的证书以及相关的密钥。如果你使用私有 CA,则还必须上传该 CA 证书。这是由于你的节点可能不信任此私有 CA。Rancher 将获取该 CA 证书,并从中生成一个校验和,各种 Rancher 组件将使用该校验和来验证其与 Rancher 的连接。
配置Helm Chart 选项是否需要 cert-manager
Rancher 生成的证书(默认)ingress.tls.source=rancher
Let’s Encryptingress.tls.source=letsEncrypt
你已有的证书ingress.tls.source=secret

这里选择的是用用rancher生成的证书。

五、安装cert-manager

## 如果你手动安装了CRD,而不是在 Helm 安装命令中添加了 `--set installCRDs=true` 选项,你应该在升级 Helm Chart 之前升级 CRD 资源。
# kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/<VERSION>/cert-manager.crds.yaml# kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.3/cert-manager.crds.yaml## 添加 Jetstack Helm 仓库
# helm repo add jetstack https://charts.jetstack.io## 更新本地 Helm Chart 仓库缓存
# helm repo update## 安装 cert-manager Helm Chart
# helm install cert-manager jetstack/cert-manager \--namespace cert-manager \--create-namespace

六、部署

### 使用Rancher生成的证书默认情况是使用 Rancher 生成 CA,并使用 cert-manager 颁发用于访问 Rancher Server 接口的证书。由于 rancher 是 ingress.tls.source 的默认选项,因此在执行 helm install 命令时,我们不需要指定 ingress.tls.source。将 hostname 设置为解析到你的负载均衡器的 DNS 名称。
将 bootstrapPassword 设置为 admin 用户独有的值。
如果你需要安装指定的 Rancher 版本,使用 --version 标志,例如 --version 2.7.0。
对于 Kubernetes v1.25 或更高版本,使用 Rancher v2.7.2-v2.7.4 时,将 global.cattle.psp.enabled 设置为 false。对于 Rancher v2.7.5 及更高版本来说,这不是必需的,但你仍然可以手动设置该选项。

# helm repo update
# helm search repo rancher

# helm pull rancher-stable/rancher

七、编辑values.yaml

八、运行

建议提前下载好所有镜像

# helm upgrade --install rancher -n cattle-system . -f values.yaml在hosts文件中添加域名对应的IP地址:
192.168.110.111 rancherpro.test.com
192.168.110.112  rancherpro.test.com# 进入容器,随机生成密码
# kubectl exec -ti rancher-XXXXXXXX sh -n cattle-system
sh-4.4# reset-password

账户:admin

密码:是使用reset-password生成的

九、参考

在 Kubernetes 集群上安装/升级 Rancher | Rancher


http://www.ppmy.cn/news/1514769.html

相关文章

Python中常见数据结构

文章目录 1. 列表&#xff08;List&#xff09;2. 元组&#xff08;Tuple&#xff09;3. 字典&#xff08;Dictionary&#xff09;4. 集合&#xff08;Set&#xff09;5. 数组&#xff08;Array&#xff09;6. 栈&#xff08;Stack&#xff09;7. 队列&#xff08;Queue&#x…

vue vite创建项目步骤

1. 创建vue项目 node版本需18以上 不然报错 npm init vuelatest2. 项目配置 配置项目的icon配置项目的标题配置jsconfig.json 3. 项目目录结构划分 4.css样式的重置 npm install normalize.cssreset.css html {line-height: 1.2; }body, h1, h2, h3, h4, ul, li {padding…

linux28学习 进程结束演示

signal.c #include <stdio.h> #include <signal.h> #include<unistd.h> void handler(int sig) { printf("catch a sig : %d\n", sig); } int main() { while(1){sleep(1);printf("进程号&#xff1a;%d\n",getpid());}return 0; }…

C++ 设计模式——单例模式

单例模式 C 设计模式——单例模式1. 单例模式的基本概念与实现2. 多线程环境中的问题3. 内存管理问题1. 内存泄漏风险2. 自动释放策略3. 垃圾回收机制4. 嵌套类与内存管理 4. UML 图UML 图解析 优缺点适用场景总结 C 设计模式——单例模式 单例模式&#xff08;Singleton Patt…

MySQL:this is incompatible with sql_mode=only_full_group_by

错误场景 有时候&#xff0c;遇到数据库重复数据&#xff0c;需要将数据进行分组&#xff0c;并取出其中一条来展示&#xff0c;这时就需要用到group by语句。 但是&#xff0c;如果mysql是高版本&#xff0c;当执行group by时&#xff0c;select的字段不属于group by的字段的…

Windows RPC 运行时中的严重远程代码执行漏洞

微软于 2022 年 4 月的补丁星期二发布了针对各种组件中一百多个新漏洞的补丁。在 Windows 远程过程调用 (RPC) 运行时中发现并修补了三个严重漏洞: CVE-2022-24492和CVE-2022-24528 (由 Cyber KunLun 的 Yuki Chen 发现)CVE-2022-26809(由 Kunlun 的 BugHunter010 发现)在…

HTTP/2:网络传输的革新与优化

摘要 HTTP/2是超文本传输协议&#xff08;HTTP&#xff09;的第二个主要版本&#xff0c;旨在解决HTTP/1.x版本中存在的一些性能问题&#xff0c;如队头阻塞、连接复用不足等。本文将详细介绍HTTP/2的基本概念、特性、优化机制以及如何通过这些机制改善网络传输效率。 1. HTT…

c++题目_P1168 中位数

# 中位数 ## 题目描述 给定一个长度为 $N$ 的非负整数序列 $A$&#xff0c;对于前奇数项求中位数。 ## 输入格式 第一行一个正整数 $N$。 第二行 $N$ 个正整数 $A_{1\dots N}$。 ## 输出格式 共 $\lfloor \frac{N 1}2\rfloor$ 行&#xff0c;第 $i$ 行为 $A_{1\dots 2i…