22、Kubernetes核心技术 - 整合Rancher通过界面管理k8s集群

目录

一、概述

二、Rancher API Server 的功能

2.1、授权和角色权限控制

2.2、使用 Kubernetes 的功能

2.3、配置云端基础信息

2.4、查看集群信息

三、Rancher 安装

3.1、前置环境

3.2、通过 Docker 来进行安装Rancher

3.3、在 Rancher 的界面上绑定k8s集群

3.4、在 Rancher 上部署应用


一、概述

Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。

Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,自动创建节点并安装 Kubernetes 集群,或者导入任何已经存在的 Kubernetes 集群。

Rancher 通过支持集群的身份验证和基于角色的访问控制(RBAC),使系统管理员能够从一个位置控制全部集群的访问。Rancher 可以对集群及其资源进行详细的监控和并在需要时发送告警,也可以将容器日志发送给外部日志系统,并通过应用商店与 Helm 集成。如果您具有外部 CI/CD 流水线系统,则可以将其与 Rancher 对接,如果没有,Rancher 也提供了简单易用的流水线来帮助您自动部署和升级工作负载。除此之外,Rancher 还有很多开箱即用的功能来帮助您更好的管理集群和业务应用,例如多集群应用,全局 DNS,服务网格,安全扫描,集群模版和基于 OPA 的策略管理等功能。

总而言之,Rancher 是一个全栈式的 Kubernetes 容器管理平台,也是一个可以在任何地方都能成功运行 Kubernetes 的工具。

二、Rancher API Server 的功能

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

2.1、授权和角色权限控制

  • 用户管理: Rancher API server 除了管理用户在公司内部的使用的认证信息之外,还管理用户访问外部服务所需的认证信息,如登录活动目录或 GitHub 所需的账号密码。
  • 授权: Rancher API server 负责管理权限控制策略 和 安全策略。

2.2、使用 Kubernetes 的功能

  • 运行 Kubernetes 集群: Rancher API server 可以在已有节点上运行 Kubernetes 集群 ,或对 Kubernetes 进行版本升级。
  • 应用商店管理: Rancher 可以使用Helm Charts 应用商店重复部署应用。
  • 项目管理: 项目,是 Rancher 中的一个概念,Kubernetes 中并没有这个概念。项目由一个集群内的多个命名空间和多个访问控制策略组成,允许用户以组为单位,一次管理多个命名空间,对其进行 Kubernetes 相关操作。Rancher 用户界面提供了 项目管理 和 项目内应用管理 两个功能。
  • 流水线: 流水线 可以帮助开发者快速高效地上线新软件。Rancher 支持给每一个项目单独配置流水线。
  • Istio: Rancher 与 Istio 集成,管理员或集群所有者可以将 Istio 交给开发者,然后开发者使用 Istio 执行安全策略,排查问题,或为快速发布、灰度发布和 A/B 测试进行流量控制。

2.3、配置云端基础信息

  • 同步节点信息: Rancher API server 可以同步集群内所有节点的信息。
  • 配置云端基础信息: 当 Rancher 与云服务提供商配置完了之后,可以在云端动态配置新节点和持久化存储。

2.4、查看集群信息

  • 日志: Rancher 可以跟多种主流日志工具集成,您可以设置 Rancher 日志。
  • 监控: 使用 Rancher,您可以通过 Prometheus 监控集群节点、Kubernetes 组件、软件部署的状态和进度。您可以设置 集群监控 或 项目监控。
  • 告警信息: 您需要随时知道集群和项目的计划和非计划事件,才可以提高公司的运行效率。

三、Rancher 安装

3.1、前置环境

我们需要事先安装好Kubernetes集群,如果还没搭建k8s集群的话,可以参考前面使用kubeadm搭建k8s集群的文章:

3.2、通过 Docker 来进行安装Rancher

这里我们选择在master节点上(10.0.91.200)安装Rancher:

$ docker run --privileged -d --name rancher --restart=unless-stopped -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher rancher/rancher:v2.5.11
Unable to find image 'rancher/rancher:v2.5.11' locally
v2.5.11: Pulling from rancher/rancher
284055322776: Pull complete 
19763da17d52: Pull complete 
dcba38686409: Pull complete 
e29446e69556: Pull complete 
e0edee3cdc12: Pull complete 
6daa78a2ec74: Pull complete 
e3a3c6bc780d: Pull complete 
6c4f773f88b6: Pull complete 
c5e890fd9374: Pull complete 
85ceb4a5a420: Pull complete 
dfecfc72402d: Pull complete 
c772cfbd0e5b: Pull complete 
8c4865378f10: Pull complete 
71cc47c5d0b5: Pull complete 
457a5bbc46e0: Pull complete 
01ed63f2c8ee: Pull complete 
a7a970f5b9d3: Pull complete 
Digest: sha256:e924341c2c1a60d3551729f87a7ba43b015e3c6bf11d1e41d1517dac2f76fc94
Status: Downloaded newer image for rancher/rancher:v2.5.11
a8c61b91aa1236e20910aa3530d0a3486658804d4c2337f70434e2a306ee9c5f$ docker ps | grep rancher
a8c61b91aa12   rancher/rancher:v2.5.11                               "entrypoint.sh"          About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   rancher
  • --privileged:可以使我们启动的容器用 root 的方式启动(在 Rancher 2.5 版本以上需要加)
  • --restart:重启策略,我们配置的是 unless-stopped,表示当容器退出时,便会重新启动容器(除非容器之前就处于停止)

3.3、在 Rancher 的界面上绑定k8s集群

我们看到rancher的容器已经运行成功,接着我们在浏览器访问:https://10.0.91.200。

Rancher的默认用户名是admin,我们首先需要为admin设置密码。

点击Continue,进入Rancher启动页:

接下来需要配置 Kubernetes 集群:

点击Add Cluster,

这里我们选择Other Cluster类型:

点击Create创建k8s集群。

这里有三种方式,因为我们使用的是自定义的k8s集群,所以使用第三种方式,将上述红框内的命令,复制到k8s集群中master节点上(10.0.91.200)执行。

[root@master ~]# curl --insecure -sfL https://10.0.91.200/v3/import/l5r9r2pztdqfmdqgmgrdxbl9w7htwslxxmk5vqz8j9fzqq69nw6ddr_c-ntshf.yaml | kubectl apply -f -
clusterrole.rbac.authorization.k8s.io/proxy-clusterrole-kubeapiserver created
clusterrolebinding.rbac.authorization.k8s.io/proxy-role-binding-kubernetes-master created
namespace/cattle-system created
serviceaccount/cattle created
clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding created
secret/cattle-credentials-f206fee created
clusterrole.rbac.authorization.k8s.io/cattle-admin created
deployment.apps/cattle-cluster-agent created[root@master ~]# kubectl get pod -n cattle-system
NAME                                    READY   STATUS    RESTARTS   AGE
cattle-cluster-agent-665b5f4b99-8xdvg   1/1     Running   0          2m27s

执行完之后,可以看到,它创建了一些集群角色、命令空间、Secret、Deployment等对象。

我们再次回到Rancher集群页面,可以看到,kubernetes这个集群已经成功创建出来了,并且状态也是Active。

点击Explorer,这是Rancher提供给我们的仪表盘,可以监控集群的一些资源使用情况。

3.4、在 Rancher 上部署应用

点击Create创建工作负载,根据需要填写具体的信息:

点击Create创建Deployment。稍等一会后,可以看到,nginx这个工作负载状态已经变成Active了,并且也成功创建了两个nginx的副本。

验证nginx是否正常访问,因为我们使用的NodePort方式暴露nginx服务,所以我们可以使用集群中任何一台节点的【IP地址:30090】访问到nginx。

可以看到,成功访问到nginx,以上就是通过Rancher整合自定义的k8s集群,实现通过界面管理k8s集群,方便了许多。

更多关于Rancher的使用,请参照Rancher官方文档:Rancher文档 | K8S文档 | Rancher | Rancher文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/338342.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型学习之书生·浦语大模型3——基于InternLM和LangChain搭建知识库

基于InternLM和LangChain搭建知识库 1 大模型开发范式 LLM的局限性 知识受限:最新知识无法实时获取专业能力有限:有广度无深度定制化成本高:训练成本高 RAG VS Finetune RAG: 无需重新训练组织外挂加入知识容易受基座模型的影响…

2024--Django平台开发-Django知识点(六)

day06 Django知识点 今日概要: Form和ModelForm组件【使用】【源码】缓存【使用】ORM【使用】其他:ContentTypes、Admin、权限、分页、信号等 1.Form和ModelForm组件 背景:某个公司后台管理项目。 垃圾 def register(request):"&quo…

Android App打包加固后的APK无法安装问题

最近开发的一个应用要上架,正常流程打完包后去加固,由于以前一直用的是360的加固助手,这里开始也是选择用它。 使用360加固: 问题一、开始出现的问题是说应用未签名无法加固,我明明是签名后打的包,怎么会…

Linux日志服务管理

一:日志管理: 1.日志介绍: /var/log/boot.log 系统服务启动的相关信息,文本格式 2.日志的级别: 3.日志的种类及位置: 3.1系统日志: /var/log/secure:系统安全信息 /var/log/messag…

【SpringCloud】之配置中心(进阶使用)

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《SpringCloud开发之配置中心》。🎯&a…

流程控制语句(关键字break和continue的使用)、质数(素数)判断

目录 一、break和continue的说明 二、质数(素数)判断 一、break和continue的说明 此外,很多语言都有goto语句,goto语句可以随意将控制转移到程序中的任意一条语句上,然后执行它,但使程序容易出错。Java中的…

在 WinForms 应用程序中实现 FTP 文件操作及模式介绍

在 WinForms 应用程序中实现 FTP 文件操作及模式介绍 简介 在许多应用程序中,能够从远程服务器获取文件是一个非常有用的功能。本文将详细介绍如何在 Windows Forms (WinForms) 应用程序中使用 FTP 协议进行文件操作,包括连接到 FTP 服务器、列出目录、…

小程序商城搭建:快速入门指南

随着移动互联网的普及,小程序商城逐渐成为了商家们进行线上销售的重要渠道。如果你也想搭建一个小程序商城,那么本文将为你介绍如何使用乔拓云这一第三方小程序搭建平台来轻松搭建自己的小程序商城。 一、选择合适的第三方小程序搭建平台 在选择第三方小…

EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测

EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测 目录 EI级 | Matlab实现VMD-TCN-LSTM变分模态分解结合时间卷积长短期记忆神经网络多变量光伏功率时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【E…

超大规模企业的经验教训:对象存储如何推动下一波托管服务的成功浪潮

在过去的几个月里,我们看到基于对象存储的超快速分析数据库的托管服务有所增加。随着企业意识到将闪电般快速的数据准备与对象存储相结合的战略优势,尤其是对于 AI 和 ML 应用程序,这些托管服务越来越受欢迎,吸引了人们的兴趣和工…

Python从入门到网络爬虫(控制语句详解)

前言 做任何事情都要遵循一定的原则。例如,到图书馆去借书,就需要有借书证,并且借书证不能过期,这两个条件缺一不可。程序设计亦是如此,需要使用流程控制实现与用户的交流,并根据用户需求决定程序“做什么…

2024年工信部AI人工智能证书“计算机视觉工程师”证书报考中!

为进一步贯彻落实中共中央印发《关于深化人才发展体制机制改革的意见》和国务院印发《关于“十四五”数字经济发展规划》等有关工作的部署求,深入实施人才强国战略和创新驱动发展战略,加强全国数字化人才队伍建设,持续推进人工智能专业人员能…