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
英文地址,請注明出處:http://en.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 不需干…