Kubernetes 使用 Rancher 管理

news2024/12/23 9:52:52

K8S集群管理工具

只能管理单个K8S集群

  • kubectl命令行管理工具    
  • dashboard(K8S官方的UI界面图形化管理工具)  

(管理多集群很麻烦,切换不同集群每次需要更改kube-config文件[kubectl配置文件],如果kubeadm部署每次都需要更改admin.conf[kubectl配置文件]

同时管理多个K8S集群

  • rancher
  • kubesphere  
  • k9s

Rancher 简介
Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地数据中心的集中部署与管理, 以确保集群的安全性,加速企业数字化转型。超过 40000 家企业每天使用 Rancher 快速创新。

官网:https://docs.rancher.cn/

Rancher 和 k8s 的区别
Rancher 和 k8s 都是用来作为容器的调度与编排系统。但是 rancher 不仅能够管理应用容器,更重要的一点是能够管理 k8s 集群。 Rancher2.x 底层基于 k8s 调度引擎,通过 Rancher 的封装,用户可以在不熟悉 k8s 概念的情况下轻松的通过 Rancher 来部署容器到k8s集群当中。


Rancher 安装及配置

实验环境
控制节点/master01         192.168.80.101
工作节点/node01            192.168.80.102
工作节点/node02            192.168.80.103
Rancher节点/rancher      192.168.80.104 (只要安装docker的主机都能作为Rancher节点)

systemctl stop firewalld
setenforce 0

1、安装 rancher 

所有 node 节点下载 rancher-agent 镜像

docker pull rancher/rancher-agent:v2.5.7

在 rancher 节点下载 rancher 镜像并docker run启动(注意主机上不要有80 443端口冲突)

yum install -y docker
systemctl start docker
docker pull rancher/rancher:v2.5.7
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7
#--restart=unless-stopped 表示在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
docker ps -a|grep rancher

1326da432b17   rancher/rancher:v2.5.7   "entrypoint.sh"   13 seconds ago   Up 13 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher

2、登录 Rancher 平台

需要先等一会儿,再浏览器访问 http://192.168.80.104 ,由于未使用授信证书,会有报警,忽略即可
登录后如是英文页面,可点击右下角语言选项选择中文

 

3、Rancher 管理已存在的 k8s 集群

选择【添加集群】,点击【导入】
【集群名称】设置为 k8s-cluster,点击【创建】

 

选择复制第三条命令绕过证书检查导入 k8s 集群

 在 k8s 控制节点 master01 上执行刚才复制的命令,如第一次执行报错,再执行一次即可

curl --insecure -sfL https://192.168.80.104/v3/import/dsrhm4vpzmf5xjkmc5dsvfmv5vw52crlws6cqfwq9nswwlrzt6bzsc_c-jxsdv.yaml | kubectl apply -f -

 

 查看创建了哪些命名空间以及pod

kubectl get ns

NAME              STATUS   AGE
cattle-system     Active   3m24s #创建了这个命名空间
default           Active   27d
fleet-system      Active   2m14s #创建了这个命名空间
kube-node-lease   Active   27d
kube-public       Active   27d
kube-system       Active   27d
kubectl get pods -n cattle-system -o wide

NAME                                    READY   STATUS    RESTARTS   AGE    IP           NODE     NOMINATED NODE   READINESS GATES
cattle-cluster-agent-78647b4ff8-fbqdp   1/1     Running   0          2m1s   10.244.1.4   node01   <none>           <none>
kubectl get pods -n fleet-system -o wide

NAME                           READY   STATUS    RESTARTS   AGE    IP           NODE     NOMINATED NODE   READINESS GATES
fleet-agent-55bfc495bd-m9qjt   1/1     Running   0          6m8s   10.244.1.3   node01   <none>           <none>

若迟迟未创建 cattle-system命名空间内pod,或是迟迟未创建fleet-system,重启几遍集群。发现是虚拟机出了一些很奇怪的问题。重启时设置卡在启动界面。多次重启解决问题。

4、Rancher 部署监控系统(Rancher会自动安装Prometheus)

点击【启用监控以查看实时监控】

【监控组件版本】选择 0.2.1,其他的默认即可
点击【启用监控】,启动监控时间可能比较长,需要等待10分钟左右

安装完成后,点击集群监控,查看监控信息。

 Rancher界面

 

Grafana界面

 

5、使用 Rancher 仪表盘管理 k8s 集群

以创建 nginx 服务为例
点击【仪表盘】进入 k8s 集群仪表盘界面

 

 

创建名称空间 namespace

点击左侧菜单【Namespaces】,再点击右侧【Create】
【Name】输入 dev,【Description】选填可自定义
点击右下角【Create】

 

创建 Deployment 资源

点击左侧菜单【Deployments】,再点击右侧【Create】
【Namespace】下拉选择 dev,【Name】输入 nginx-dev,【Replicas】输入 3
点击中间选项【Container】,【Container Image】输入 nginx:1.14,【Pull Policy】选择 IfNotPresent
在【Pod Labels】下点击【Add Lable】,【Key】输入 app,【Value】输入 nginx (设置pod标签)
点击中间选项【Labels and Annotations】,点击【Add Label】,【Key】输入 app,【Value】输入 nginx(设置deployment标签)
点击右下角【Create】

 

创建 service

点击左侧菜单【Services】,再点击右侧【Create】
点击【Node Port】
【Namespace】下拉选择 dev,【Name】输入 nginx-dev-service
【Port Name】输入 nginx,【Listening Port】输入 80(service端口号),【Target Port】输入 80(容器内端口号),【Node Port】输入 34567(nodeip端口号)
点击中间选项【Selectors】(标签选择器),【Key】输入 app,【Value】输入 nginx
点击右下角【Create】
点击【nginx-dev-service】查看 service 是否已关联上 Pod

 

 点击 service 资源的节点端口 30080/TCP,可以访问内部的 nginx 页面了

 

 

创建 ingress

点击左侧菜单【ingress】,再点击右侧【Create】
点击【Node Port】
【Namespace】下拉选择 dev,【Name】输入 nginx-dev-ingress
【Request Host】输入 www.xue666.com,【Path】选择 Prefix(前缀匹配)填入 / ,【Target Service】选择 nginx-dev-service,【Port】选择 80(刚刚创建的service的端口号)

点击右下角Edit as YAML,73行 修改    ingressClassName: nginx(指定ingressClass控制器)
点击右下角【Create】

点击【nginx-dev-ingress】查看 service 是否已关联上 Pod

编辑C:\Windows\System32\drivers\etc\hosts

192.168.80.101 www.xue666.com
#ip写安装了nginx-ingress-controller的主机

访问测试:域名+nodeport 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字符设备驱动实例(PWM和RTC)

目录 五、PWM 六、RTC 五、PWM PWM(Pulse Width Modulation&#xff0c;脉宽调制器)&#xff0c;顾名思义就是一个输出脉冲宽度可以调整的硬件器件&#xff0c;其实它不仅脉冲宽度可调&#xff0c;频率也可以调整。它的核心部件是一个硬件定时器&#xff0c;其工作原理可以用…

15.配置资源管理

文章目录 配置资源管理Secret陈述式创建声明式创建存储卷挂载变量引用创建tls类型创建dockerconfigjson类型安装docker&#xff0c;创建 harbor仓库pod节点设置 ConfigMap创建挂载目录挂载文件以环境变量引用通过打补丁的方式修改配置 总结 配置资源管理 Secret Secret 是用来…

项目实战 — 博客系统③ {功能实现}

目录 一、编写注册功能 &#x1f345; 1、使用ajax构造请求&#xff08;前端&#xff09; &#x1f345; 2、统一处理 &#x1f384; 统一对象处理 &#x1f384; 保底统一返回处理 &#x1f384; 统一异常处理 &#x1f345; 3、处理请求 二、编写登录功能 &#x1f345; …

Android 10.0 SystemServer进程读写sdcard权限的修改

1.前言 在10.0的系统开发中,在一些系统进程中,也就是在SystemServer的进程中,其中系统服务中会要求读写Sdcard的一些功能,然后 默认是没有读取sdcard权限的,而在app中可以申请sdcard读写权限在系统服务中就不能申请权限,接下来看怎么授权实现sdcard授权 如图: 2.Sy…

计算机网络(9) --- 数据链路层与MAC帧

计算机网络&#xff08;8&#xff09; --- IP与IP协议_哈里沃克的博客-CSDN博客IP与IP协议https://blog.csdn.net/m0_63488627/article/details/132155460?spm1001.2014.3001.5502 目录 1.MAC帧 1.MAC地址 2.MAC帧报头 3.资源碰撞 4.MTU 1.对IP协议的影响 2.对UDP协议…

【docker】基于dockerfile编写LNMP

目录 一、基础环境准备 二、部署nginx&#xff08;容器IP为172.18.0.10&#xff09; 1、整个Dockerfile文件内容 2、配置nginx.conf文件 3、构建镜像 ​编辑 三、部署mysql 1、整个Docker文件内容 2、准备my.conf文件 3、生成镜像 4、启动镜像容器 5、验证mysql 四、PH…

视频局部区域移动检测, 删除相似帧

视频局部区域移动检测, 删除相似帧 完整方案在本文最后, 不想听故事的直接跳转到完整方案即可 起因 老板的一个东西找不到了, 让查监控 场景 东西放在一个架子上, 由一个海康威视全天候录像的摄像头监控, 但是巧就巧在这个要找的东西被放在了摄像头的死角里, 正好被柜子的隔…

nginx crlf+xss漏洞组合拳

1.crlf漏洞概述 CRLF是指回车和换行符的组合&#xff0c;它们的十六进制编码分别为0x0d和0x0a。在HTTP协议中&#xff0c;HTTP头和HTTP正文之间使用两个CRLF来进行分隔。如果攻击者能够注入恶意的换行符&#xff0c;就能够向HTTP消息中插入恶意的代码或会话Cookie。CRLF漏洞通常…

Redis是如何保证高可用的?

Redis这种基于内存的关系型数据库我们在选用的时候就是考虑到它的快。而且可以很方便的实现诸如分布式锁、消息队列等功能。 笔者在前一段秋招面试的时候就被提问&#xff0c;“Redis是怎么保证高可用的&#xff1f;” 后续的子问题包含&#xff0c;集群模式是怎么实现的&…

HTTP连接管理

基础知识&#xff1a;非持久连接 HTTP初始时1.0版本在浏览器每一次向服务器请求完资源都会立即断开TCP连接&#xff0c;如果想要请求多个资源&#xff0c;就必须建立多个连接&#xff0c;这就导致了服务端和客户端维护连接的开销。 例如&#xff1a;一个网页中包含文字资源也包…

1、攻防世界第一天

1、网站目录下会有一个robots.txt文件&#xff0c;规定爬虫可以/不可以爬取的网站。 2、URL编码细则&#xff1a;URL栏中字符若出现非ASCII字符&#xff0c;则对其进行URL编码&#xff0c;浏览器将该请求发给服务端&#xff1b;服务端会可能会先对收到的url进行解码&#xff0…

完全二叉树O(1)插入

919. 完全二叉树插入器 - 力扣&#xff08;LeetCode&#xff09; 完全二叉树 是每一层&#xff08;除最后一层外&#xff09;都是完全填充&#xff08;即&#xff0c;节点数达到最大&#xff09;的&#xff0c;并且所有的节点都尽可能地集中在左侧。 设计一种算法&#xff0c…

日志系统——日志落地模块设计

一&#xff0c;大致框架 首先我们需要明确模块的功能&#xff0c;将格式化后的日志信息字符串&#xff0c;输出到对应的位置。同时由于用户输出信息的方式是多样的&#xff0c;因此我们日志落地模块也支持拓展的功能&#xff0c;也就是用户自定义落地方式。 日志信息落地的方式…

vite打包遇到的错误

1.js emit is not supported 2.将package.json中的bulid后面写成“vue-tsc --noEmit --skipLibCheck && vite build” 3.再次打包成功

设计模式——接口隔离原则

文章目录 基本介绍应用实例应传统方法的问题和使用接口隔离原则改进 基本介绍 客户端不应该依赖它不需要的接口&#xff0c;即一个类对另一个类的依赖应该建立在最小的接口上先看一张图: 类 A 通过接口 Interface1 依赖类 B&#xff0c;类 C 通过接口 Interface1 依赖类 D&…

四、性能监控工具nmon,severAgent

简单的性能监控工具 一、 性能监控概括二、 常用的性能监控工具1、nmon概况nmon有三种运行模式&#xff1a;nmon的使用 2、SeverAgent安装步骤集成jmeter注意点特点 一、 性能监控概括 性能测试工具&#xff1a; 用什么工具来做性能测试性能测试场景设计&#xff1a; 用什么方法…

VisualVM(All-in-One Java Troubleshooting Tool)多合-故障处理工具

VisualVM&#xff1a;多合-故障处理工具 VisualVM&#xff08;All-in-One Java Troubleshooting Tool&#xff09;是功能最强大的 运行监视 和 故障处理 程序之一&#xff0c;曾经在很长一段时间内是Oracle官方主力发展的虚拟机故障处理工具。Oracle曾在VisualVM的软件说明中写…

基于opencv的手势控制音量和ai换脸

基于opencv的手势控制音量和ai换脸 HandTrackingModule.py import cv2 import mediapipe as mp import timeclass handDetector():def __init__(self, mode False, maxHands 2, model_complexity 1, detectionCon 0.5, trackCon 0.5):self.mode modeself.maxHands max…

dockerfile编写LNMP

目录 1. 项目环境 2. 服务器环境 二、部署nginx&#xff08;容器IP为192.168.158.26&#xff09; 1、整个Dockerfile文件内容 ​编辑 2、配置nginx.conf文件 3、构建镜像 三、部署mysql 1、整个Docker文件内容 3、生成镜像 4、启动镜像容器 5、验证mysql 四、PHP部署 1…

初始web

华子目录 前后端与全栈BS架构网页开发原则前端三剑客初始htmlhtml的基本框架如何使用vscode创建网页网页基本框架html基本标签 前后端与全栈 前端:给用户看的内容 – 荧幕前&#xff08;负责显示&#xff09; 后端:在后台处理数据 – 荧幕后&#xff08;负责处理&#xff09; …