Rancher部署的K8S集群服务节点上执行 kubectl 命令

文章目录

    • 1、Rancher UI 和执行 kubectl 命令之间的关系
      • 1.1、Rancher 的架构和 kubectl
      • 1.2、Rancher 内置 kubectl 的位置
      • 1.3、执行权限和安全
    • 2、Rancher UI 的使用操作
      • 2.1、UI 界面内置的 Kubectl 命令工具
      • 2.2、在服务节点执行 kubectl 命令的方法
      • 2.3、创建一个集群上下文文件 config
      • 2.4、安装 kubectl 命令
    • 3、总结

1、Rancher UI 和执行 kubectl 命令之间的关系

1.1、Rancher 的架构和 kubectl

Rancher 本身并不是 kubectl,而是一个 集群管理平台。

当你在 Rancher 的 UI 界面(Cluster Explorer 或者 Cluster Manager)里点开 kubectl Shell 或者 Execute Shell 的时候,其实 Rancher 会通过 API 调用到它内部的 rancher-webhook / rancher-api-server,再转发到对应的 Kubernetes API server。

换句话说:

UI 显示出来的 kubectl 终端并不是真的直接在你本地执行,而是 Rancher 在服务节点(运行 Rancher Server 的容器)里内置了一个 kubectl 客户端,通过 Rancher 的访问权限去执行命令。

你看到的结果是 Rancher 把 kubectl 输出通过 WebSocket 回传到浏览器。

1.2、Rancher 内置 kubectl 的位置

Rancher Server 镜像(如 rancher/rancher:v2.12.0)里内置了一个 kubectl 二进制文件。

当你进入 rancher 容器执行:

# 查看 Rancher 容器
docker ps | grep rancher# 进入容器
docker exec -it rancher-2-11-3 bashwhich kubectl
kubectl version --client

在这里插入图片描述

你能看到 Rancher 自带的 kubectl。

UI 打开的 kubectl shell,就是调用了这个内置 kubectl,并且带上了 Rancher 给的 kubeconfig。

1.3、执行权限和安全

Rancher 的 kubectl 命令使用的是当前登录用户在 Rancher 内的 RBAC 权限。

例如你是 cluster-admin,就能执行所有命令。

普通用户则只能执行有限的 kubectl 操作。

这样保证了 UI 和 CLI 行为一致,不会绕过 Rancher 的权限管理。

Rancher UI 里的 kubectl 并不是直接在 Kubernetes 节点上跑的命令,而是 在 Rancher 服务容器内置的 kubectl 客户端执行,再通过 Rancher 的 API 转发到集群。

  • 方法1:宿主机直接执行

如果你在宿主机安装了 kubectl:

export KUBECONFIG=/opt/rancher/kubeconfig.yaml
kubectl get nodes
  • 方法2:Rancher 容器内执行

如果你在 Rancher 容器内执行:

# 上传 kubeconfig 到容器
docker cp /opt/rancher/kubeconfig.yaml rancher-2-11-3:/root/kubeconfig.yaml# 进入容器
docker exec -it rancher-2-11-3 bash# 设置环境变量
export KUBECONFIG=/root/kubeconfig.yaml# 测试连接
kubectl get nodes
kubectl get pods -A

2、Rancher UI 的使用操作

2.1、UI 界面内置的 Kubectl 命令工具

选择 K8S 集群 “cluster-dev” ,点击右上角带箭头的图标,在下面会弹出一个CLI的输入框,稍等后连接成功后,就可以执行 kubectl 命令

在这里插入图片描述

2.2、在服务节点执行 kubectl 命令的方法

Rancher Server 容器内置了 kubectl
当你进入运行 Rancher 的容器时,就可以直接用它

获取 kubeconfig 文件内容
如下图标:左边是直接下载 kubeconfig 文件,右边是直接复制文件的内容 ,二选一即可

在这里插入图片描述

2.3、创建一个集群上下文文件 config

Rancher 运行时,会把各个集群的 kubeconfig 保存在 Rancher 的数据库里,并通过 API 下发给 UI。

如果你要在服务节点(宿主机或者 Rancher 容器里)直接用 kubectl 管理某个集群,需要导出 kubeconfig:

在 Rancher UI 里 → 点击集群 → Kubeconfig File → 下载。

把下载的文件保存为 ~/.kube/config,然后在 Rancher 容器或宿主机直接执行:

apiVersion: v1
kind: Config
clusters:
- name: "vm-k8s"cluster:server: "https://192.168.31.203/k8s/clusters/c-xb85q"certificate-authority-data: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ2VENDQ\VdPZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQkdNUnd3R2dZRFZRUUtFeE5rZVc1aGJXbGoKY\kdsemRHVnVaWEl0YjNKbk1TWXdKQVlEVlFRRERCMWtlVzVoYldsamJHbHpkR1Z1WlhJdFkyRkFNV\GMxTlRFMQpOVEl5T0RBZUZ3MHlOVEE0TVRRd056QTNNRGhhRncwek5UQTRNVEl3TnpBM01EaGFNR\Vl4SERBYUJnTlZCQW9UCkUyUjVibUZ0YVdOc2FYTjBaVzVsY2kxdmNtY3hKakFrQmdOVkJBTU1IV\1I1Ym1GdGFXTnNhWE4wWlc1bGNpMWoKWVVBeE56VTFNVFUxTWpJNE1Ga3dFd1lIS29aSXpqMENBU\VlJS29aSXpqMERBUWNEUWdBRVFXNmpxQmJlM09sRwp4aDlldHJ6d1BubVlWc3hCQ3RHZ2RFNHBzZ\HZsbHBYOFJyOGRWekdRM2hsV2JmNW5LZ1ovQ1Y5ZDh5ak9kTTR1CkdNUjMySjlNQjZOQ01FQXdEZ\1lEVlIwUEFRSC9CQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWUQKVlIwT0JCWUVGR\09seGVRbDYwVGNnSy9RS1I4YWRtdU1mWDdhTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEdwpOb\ERnRFI1TTdoYitFbTY3cTJ0R084cEpicVlyN2tYV05QZzEvNUoyekFJZ09WVE9sNmw4OXFwOXR0S\lZpT0o5ClJBNTI0Sy8xQ2VMZUlrZUMzWVFQSmpFPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t"users:
- name: "vm-k8s"user:token: "kubeconfig-user-66m4vfkwh9:4dmw9pdl6lp7dtqkkgj7xp6vddvrzl5d9fjgp2bs4ks8lwpbwrcgb7"contexts:
- name: "vm-k8s"context:user: "vm-k8s"cluster: "vm-k8s"current-context: "vm-k8s"

2.4、安装 kubectl 命令

首先查看kubernetes仓库的yum/源地址

cat /etc/yum.repos.d/kubernetes.repo

在这里插入图片描述
然后运行安装命令

 yum install kubectl-1.33.3 -y     ### 注意版本要相同

在这里插入图片描述

3、总结

  • Rancher UI 的 kubectl → 调用的是 Rancher 容器里自带的 kubectl,通过 WebSocket 回传到 UI。

  • Rancher 服务节点 → 可以直接进入 Rancher 容器执行 kubectl,但必须指定 kubeconfig。

  • 宿主机 → 安装 kubectl 后,也可以用 Rancher 下发的 kubeconfig 文件操作集群。

这样,你就能在 Rancher 的服务节点(容器内或宿主机)直接执行 kubectl,和 Rancher UI 里看到的结果完全一致。
在这里插入图片描述


“人的一生会经历很多痛苦,但回头想想,都是传奇”。


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

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

相关文章

基于Nodejs作为服务端,React作为前端框架,axios作为通讯框架,实现滑块验证

文章目录基于Nodejs作为服务端,React作为前端框架,axios作为通讯框架,实现滑块验证1. 为什么要自己写滑块验证2. 滑块验证的整体思路3. 具体实现3.1 服务端3.2 前端4. 总结基于Nodejs作为服务端,React作为前端框架,axi…

2025年物流大数据分析的主要趋势

大数据已为物流行业带来革命性变革,助力实现更智能的运营与实时洞察。如今,企业可精准识别瓶颈、优化供应链;自疫情以来,大数据的采用率大幅攀升,79% 的供应链负责人将分析培训列为优先事项。这一转变不仅提升了效率、…

【C2000常见问题】JTAG仿真器类型和JTAG Debug定位方法

【C2000常见问题】JTAG仿真器类型和JTAG Debug定位方法 母线继电保护动作行为仿真分析系统 【C2000常见问题】JTAG仿真器类型和JTAG Debug定位方法 1问题背景 2问题分析 3可能出现的问题 4JTAG问题总结 1问题背景 某客户产品应用中,使用JTAG仿真器时经常会遇到一启动负载或者…

LT8712SX,Type-C/DP1.4 /eDP转 DP1.4/HD-DVI2.0 带音频

简介LT8712SX是一款高性能Type-C/DP1.4 /eDP转 DP1.4/HD-DVI2.0 带音频,支持4K(3840*2316)60Hz 的分辨率,提供 I2S 和 SPDIF 两个数字音频输出接口,均支持 8 通道 LPCM 或压缩音频,最高采样率为 192KHz。应用场景便携式显示器例如,手机通过 T…

C语言基础:(二十)自定义类型:结构体

目录 前言 一、结构体类型的声明 1.1 结构体回顾 1.1.1 结构体的声明 1.1.2 结构体变量的创建和初始化 1.2 结构的特殊声明 1.3 结构的自引用 二、结构体内存对齐 2.1 对齐规则 2.1.1 练习1 2.1.2 练习2 2.1.3 练习3:结构体嵌套问题 2.2 为什…

数据仓库分层解析(详细)

目录 一、数据仓库为什么要分层 二、数据仓库怎么分层 1、ODS(Operational Data Store):数据源层 2、DW(Data Warehouse): 数据仓库层 2.1、DWD(Data Warehouse Detail)&#x…

智慧城管云平台源码,微服务vue+element+springboot+uniapp技术架构,数字化综合执法办案系统

智慧城管综合执法系统源码,包括PC端和移动端。微服务架构,vueelementspringbootuniapp技术框架开发。智慧城管建立了统一的城管执法案件数据库、法律法规库、档案信息库等,支持简易程序案件、一般程序案件、行政强制管理等执法业务的办理&…

VUE实现多个弹窗优先级变化实现思路

在开发复杂的单页应用(SPA)时,我们经常会遇到需要管理多个浮动窗口(或称“弹窗”、“面板”)的场景。一个核心的用户体验要求是:用户当前操作的窗口应该总是在最顶层。本文将结合代码示例,总结一…

集成算法和kmeans

一、集成算法(Ensemble Learning) 1. 基本概念 集成学习通过构建并结合多个学习器(基分类器/回归器)来完成学习任务,旨在通过集体决策提升模型性能,类似于“多个专家的综合判断优于单个专家”。 2. 结合策略…

图数据库性能与可扩展性评估

图数据库的性能与可扩展性直接决定业务场景(如实时风控、知识图谱分析)的落地效果,需结合业务场景特性(OLTP/OLAP)、技术指标(响应时间、吞吐量)和扩展能力(数据量/节点扩展&#xf…

树莓派常用的国内镜像源列表以及配置方法

1. 常用的镜像源使用下来发现清华源经常访问不到,阿里源比较好用。其他源还未测试。源名称URL清华源https://pypi.tuna.tsinghua.edu.cn/simple阿里云https://mirrors.aliyun.com/pypi/simple/中科大https://pypi.mirrors.ustc.edu.cn/simple/华为云https://repo.hu…

Transformer在文本、图像和点云数据中的应用——经典工作梳理

摘要 最近在整一些3D检测和分割的任务,接触了一下ptv3,在之前梳理的工作owlv2中用到了vit,去年年假阅读《多模态大模型:算法、应用与微调》(刘兆峰)时学习了Transformer网络架构及其在文本数据中的应用&am…

训练后数据集后部署PaddleOCR转trt流程

训练后的模型部署,首先要进行训练 0.训练流程见文章 PaddleOCR字符识别,训练自己的数据集全流程(环境、标注、训练、推理)-CSDN博客文章浏览阅读1.6k次,点赞53次,收藏23次。PaddleOCR是基于百度飞桨框架的…

《MLB美职棒》美国国球是橄榄球还是棒球·棒球5号位

USAs National Sport Showdown: MLB⚾️ vs NFL Ultimate Guide!从商业价值到文化基因,360解析美国体育王座之争!添加图片注释,不超过 140 字(可选)️ 历史定位 Historical Roots⚾️ MLB:The "Classi…

常见 Linux 网络命令梳理

在日常运维和排障工作中,网络相关命令是最常用的一类工具。无论是检查网络连通性,还是定位路由问题,又或是分析端口和服务占用,熟悉这些命令都能让我们更高效地解决问题。本文将从几个常见的维度来梳理 Linux 下的网络命令&#x…

Docker 搭建 Gitlab 实现自动部署Vue项目

1、配置要求: 硬件要求: CPU:双核或以上 内存:4GB或以上 软件要求:Centos6 或更高版本 2、gitlab镜像: # 中文版仓库 #docker pull twang2218/gitlab-ce-zh docker pull gitlab/gitlab-ce 3、gitlab部署目录 说明:为了跟其他容器区分,gitlab相关容…

如何解决机器翻译的“幻觉“问题(Hallucination)?

更多内容请见: 机器翻译修炼-专栏介绍和目录 文章目录 一、数据层面优化 二、模型架构改进 三、训练策略调整 四、评估与迭代 五、前沿方向与挑战 六、案例:WMT2023幻觉缓解方案 机器翻译中的“幻觉”(Hallucination)指模型生成与源文本语义无关、逻辑矛盾或事实错误的翻译…

基于STM32+NBIOT设计的宿舍安防控制系统_264

文章目录 1.1 项目介绍 【1】开发背景 【2】实现需求 【3】项目硬件模块组成 【4】设计意义 【5】国内外研究现状 【6】摘要 1.2 系统总体设计 【1】系统功能需求分析 【2】系统总体方案设计 【3】系统工作原理 1.3 系统框架图 1.4 系统功能总结 1.5 系统原理图 1.6 实物图 1.7…

SLAM文献之-Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping

一、简介 该论《Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping》是日本先进工业科学技术研究所(AIST)的Koide等人于2022年在IEEE国际机器人与自动化会议(ICRA)上发表的一篇论文。该研究提出了一种基于全局…

【STM32】HAL库中的实现(七):DMA(直接存储器访问)

DMA 是什么? DMA(Direct Memory Access)是 外设直接和内存之间数据搬运的机制,不需要 CPU 参与。 ✅ 举个例子:传统方式: ADC → CPU → RAM 使用 DMA:ADC → DMA → RAM(CPU 不需干…