k8s——Rancher开源平台
Rancher是一个功能强大的开源平台,旨在简化 Kubernetes 的部署、管理和操作。它为企业提供了一个统一的界面,用于管理跨多个环境(包括公有云、私有云和边缘计算环境)的 Kubernetes 集群。官网:https://docs.rancher.cn/
目录
使用 Rancher 仪表盘管理 Kubernetes 集群
一、概念
1、定义
Rancher 是一个功能强大的开源平台,旨在简化 Kubernetes 的部署、管理和操作。它为企业提供了一个统一的界面,用于管理跨多个环境(包括公有云、私有云和边缘计算环境)的 Kubernetes 集群。
官网:https://docs.rancher.cn/
2、Rancher与Kubernetes的区别
①Kubernetes:
- Kubernetes 是一个开源的容器编排平台,它提供了自动化的容器部署、扩展和管理功能。
- 它主要用于创建、运行和管理容器化应用程序,并确保它们在预定义的状态下运行。
②Rancher:
Rancher 是建立在 Kubernetes 之上的管理平台,它提供了一个用户友好的界面,使得 Kubernetes 更易于使用和理解。
Rancher 通过抽象 Kubernetes 的复杂性,允许用户在不了解 Kubernetes 概念的情况下部署和管理容器化应用程序。
它支持多集群管理,使得用户可以在一个集中的位置管理多个 Kubernetes 集群,无论它们位于何处。
3、Rancher的关键特性
多集群管理:支持在一个界面中管理多个 Kubernetes 集群,无论它们是在本地、云中还是混合环境中。
应用目录:提供了一个应用目录,用户可以从中选择并部署预配置的应用程序到 Kubernetes 集群。
CI/CD 集成:支持与流行的持续集成和持续部署工具集成,如 Jenkins、GitLab CI/CD 等。
安全性:提供了企业级的安全特性,包括 RBAC、网络策略、Pod 安全策略等。
用户友好的界面:提供了一个直观的 Web UI,使得 Kubernetes 的管理变得更加简单和直观。
自动化:支持自动化的集群部署和升级,简化了 Kubernetes 集群的生命周期管理。
监控和日志:集成了监控和日志工具,提供了对集群性能和应用程序状态的实时视图。
支持多种运行环境:支持在多种环境中运行 Kubernetes,包括公有云、私有云、边缘计算和混合云环境。
通过使用 Rancher,企业可以更快速、更安全地采用 Kubernetes 技术,同时降低了 Kubernetes 的学习曲线和管理复杂性。Rancher 通过提供额外的工具和服务,增强了 Kubernetes 的功能,使其更适合企业级应用。
二、Rancher的安装以及配置
如何在测试环境中安装和配置 Rancher,以及如何使用 Rancher 管理 Kubernetes 集群
机器部署
服务器名称 | IP地址 |
---|---|
控制节点(Master1) | 192.168.170.111 |
工作节点(Node1) | 192.168.170.113 |
工作节点(Node2) | 192.168.170.114 |
Rancher节点 | 192.168.170.115 |
1、安装Rancher
#在控制节点(master1)上下载 rancher-agent 镜像
docker pull rancher/rancher-agent:v2.5.7
#在 Rancher 节点上下载 rancher 镜像
docker pull rancher/rancher:v2.5.7
#使用 Docker 运行 Rancher 容器,映射 80 和 443 端口,并设置为特权模式
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7
#--restart=unless-stopped 表示在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
#确认 Rancher 容器已成功运行
docker ps -a|grep rancher
2、登录Rancher平台
- 访问 Rancher 节点的 IP 地址(http://192.168.170.115)。
- 忽略由于未使用授信证书而产生的安全报警。
- 如果需要,更改语言设置为中文,点击右下角语言选项选择中文
初次登入要修改密码,此处我们修改密码为admin123123
3、管理已存在的k8s集群
①导入k8s集群到rancher
添加集群
- 在 Rancher 的 Web UI 中,选择【添加集群】。
- 选择【导入】选项来导入一个已存在的 Kubernetes 集群。
设置集群名称
将导入的集群命名为k8s-cluster然后点击创建
复制导入命令
-
Rancher 会提供一个命令,用于绕过证书检查并将 Kubernetes 集群导入到 Rancher。
②验证k8s集群状态
kubectl get ns
#查看 Kubernetes 集群中的所有命名空间及其状态
kubectl get pods -n cattle-system -o wide
#命令查看 cattle-system 命名空间中运行的 Pod,包括 cattle-cluster-agent
kubectl get pods -n fleet-system -o wide
#查看 fleet-system 命名空间中运行的 Pod,包括 fleet-agent
4、部署监控系统
部署监控系统到 Rancher,启用监控
在 Rancher 的 Web UI 中,找到并点击【启用监控以查看实时监控】的按钮。
在弹出的对话框或页面中,选择监控组件版本为 0.2.1,接受其他默认设置。
点击【启用监控】按钮来启动监控系统。请注意,监控系统的启动可能需要大约 10 分钟的时间。
使用 Rancher 仪表盘管理 Kubernetes 集群
三、创建nginx服务
1、进入命名空间
①进入 k8s 集群仪表盘界面 - 这是通过访问 Kubernetes Dashboard 来完成的,它是一个基于 Web 的用户界面,用于管理和部署应用程序到 Kubernetes 集群。
②点击【Namespaces】菜单 - 这个菜单项允许查看和管理 Kubernetes 集群中的名称空间。
③点击【Create】按钮 - 这将打开一个表单,用于创建新的名称空间。
④输入名称空间名称 - 在【Name】字段中输入 dev。名称空间用于将集群资源逻辑上分隔成不同的环境,通常是根据开发、测试和生产环境来划分。
⑤可选的【Description】字段 - 可以在这里添加对名称空间的描述,这有助于其他用户理解该名称空间的用途。
⑥点击【Create】按钮 - 完成名称空间的创建。
2、创建Deployment资源
①选择【Deployments】菜单 - 这个菜单项让能够创建和管理 Deployment 资源,Deployment 是 Kubernetes 中用于声明式管理无状态应用的资源。
②点击【Create】按钮 - 打开创建 Deployment 的表单。
③选择【Namespace】 - 在下拉菜单中选择之前创建的 dev 命名空间。
④输入【Name】 - 输入 nginx-dev 作为 Deployment 的名称。
⑤设置【Replicas】 - 输入 3 表示希望运行 3 个 Nginx 容器的副本。
⑥配置容器镜像 - 在【Container Image】字段中输入 nginx:1.14,指定要使用的 Nginx 镜像版本。【Pull Policy】选择 IfNotPresent 意味着只有在本地没有该镜像时才会从镜像仓库拉取。
⑦添加 Pod 标签 - 在【Pod Labels】中添加一个标签,【Key】为 app,【Value】为 nginx。这些标签用于识别和管理属于同一应用的 Pod。
⑧添加标签和注解 - 在【Labels and Annotations】中同样添加一个标签,这有助于在更高级别上组织和选择资源。
⑨点击【Create】按钮 - 创建 Deployment,Kubernetes 将会根据这些设置创建和管理 Nginx 容器。
3、创建service资源
①选择【Services】菜单 - 这个菜单项用于创建和管理 Service 资源,Service 定义了一种访问 Pod 的方式,通常用于负载均衡和发现。
②点击【Create】按钮 - 打开创建 Service 的表单。
③选择【Node Port】类型 - 这种类型的 Service 会为集群内的 Pod 提供一个稳定的网络接口,即使 Pod 所在的节点发生变化。
④选择【Namespace】 - 再次选择 dev 命名空间。
⑤输入【Name】 - 输入 nginx-dev 作为 Service 的名称。
⑥配置端口 - 在【Port Name】输入nginx、【Listening Port】和【Target Port】中都输入 80,表示 Service 将会在 80 端口上监听并转发到 Pod 的 80 端口,【Node Port】输入 30180
⑦设置选择器 - 在【Selectors】中添加之前定义的标签,【Key】为 app,【Value】为 nginx,这样 Service 就知道要将流量转发到哪些 Pod。
⑧点击【Create】按钮 - 创建 Service,现在 Nginx 的 Pod 可以通过这个 Service 被访问。
4、测试
点击 service 资源的节点端口 30180/TCP,可以访问内部的 nginx 页面了
更多推荐
所有评论(0)