色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

kubectl的多樣用法

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2023-02-13 10:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

kubectl是K8s官方附帶的命令行工具, 可以方便的操作K8s集群. 這篇文章主要介紹一些kubectl的別樣用法, 希望讀者有基礎的K8s使用經驗.

打印當前使用的API

#kubectl的主要作用就是與ApiServer進行交互,而交互的過程,我們可以通過下面的方式來打印,
#這個命令尤其適合調試自己的api接口時使用.
kubectlgetns-v=9

e8c1410e-aaa3-11ed-bfe3-dac502259ad0.png

按狀態篩選容器以及刪除

kubectlgetpods--all-namespaces--field-selectorstatus.phase=Pending-ojson|
jq'.items[]|"kubectldeletepods(.metadata.name)-n(.metadata.namespace)"'|
xargs-n1bash-c


#這個命令要拆開來看
#首先,獲取所有ns中狀態為Pending的pods,并以json形式輸出
#這個語句其實由很多變體,比如,我想查找Failed的狀態,或是某個deployment
kubectlgetpods--all-namespaces--field-selectorstatus.phase=Pending-ojson

#針對json變量進行處理,生成可用的腳本
#這里是我想介紹的重點,利用jq以及kubectl的輸出,構建出可用的命令
jq'.items[]|"kubectldeletepods(.metadata.name)-n(.metadata.namespace)"'

#執行每一條命令
#注意,這種命令一定要好好調試,刪掉預期之外的pod就不好了.
xargs-n1bash-c


#例如,下面的語句可以找到所有的Pods并打印可以執行的語句
kubectlgetpods--all-namespaces--field-selectorstatus.phase=Running-ojson|
jq'.items[]|"kubectlgetpods(.metadata.name)-owide-n(.metadata.namespace)"'

"kubectlgetpodsmetrics-server-6d684c7b5-gtd6q-owide-nkube-system"
"kubectlgetpodslocal-path-provisioner-58fb86bdfd-98frc-owide-nkube-system"
"kubectlgetpodsnginx-deployment-574b87c764-xppmx-owide-ndefault"

#當然,如果只是刪除單個NS下面的一些pods,我會選擇下面的方法,但是它操作多個NS就很不方便了.
kubectl-ndefaultgetpods|grepCompleted|awk'{print$1}'|xargskubectl-ndefaultdeletepods

統計具體某臺機器上運行的所有pod

kubectl可以使用兩種選擇器, 一種是label, 一種是field, 可以看官網的介紹: Labels and Selectors Field Selectors

#它是一種選擇器,可以與上面的awk或者xargs配合使用.
#我個人平時都不喜歡用這個,直接get全部pods,然后grep查找感覺更快
kubectlgetpods--all-namespaces-owide--field-selectorspec.nodeName=pve-node1

統計Pod在不同機器的具體數量分布

不知道有讀者看過我的這篇文章: 基于kubernetes的PaaS平臺中細力度控制pods方案的實現. 均衡分布的工作前提是得知pod在各個機器的分布情況. 最好的辦法就是我們得到pod信息之后進行簡單的統計, 這個工作可以使用awk實現.

kubectl-ndefaultgetpods-owide-lapp="nginx"|awk'{print$7}'|
awk'{count[$0]++}
END{
printf("%-35s:%s
","Word","Count");
for(indincount){
printf("%-35s:%d
",ind,count[ind]);
}
}'

#執行結果如下
Word:Count
NODE:1
pve-node1:1
pve-node2:1


#awk的語法我沒深入了解,有興趣的讀者可以研究看看,這里我就不求甚解了.

kubectl proxy的使用

你可以理解為這個命令為K8s的ApiServer做了一層代理, 使用該代理, 你可以直接調用API而不需要經過鑒權. 啟動之后, 甚至可以實現kubectl套娃, 下面是一個例子:

#當你沒有設置kubeconfig而直接調用kubectl時
kubectlgetns-v=9
#可以打印出下面類似的錯誤
curl-k-v-XGET-H"Accept:application/json,*/*"-H"User-Agent:kubectl/v1.21.3(linux/amd64)kubernetes/ca643a4"'http://localhost:8080/api?timeout=32s'
skippedcachingdiscoveryinfoduetoGet"http://localhost:8080/api?timeout=32s":dialtcp127.0.0.1connect:connectionrefused
#也就是說當你不指定kubeconfig文件時,kubectl會默認訪問本機的8080端口
#那么我們先啟動一個kubectlproxy,然后指定監聽8080,再使用kubectl直接訪問,是不是就可行了呢,
#事實證明,安全與預想一致.
KUBECONFIG=~/.kube/config-symv3kubectlproxy-p8080
kubectlgetns
NAMESTATUSAGE
defaultActive127d

默認啟動的proxy是屏蔽了某些api的, 并且有一些限制, 例如無法使用exec進入pod之中 可以使用kubectl proxy --help來看, 例如

#僅允許本機訪問
--accept-hosts='^localhost$,^127.0.0.1$,^[::1]$':Regularexpressionforhoststhattheproxyshouldaccept.
#不允許訪問下面的api,也就是說默認沒法exec進入容器
--reject-paths='^/api/.*/pods/.*/exec,^/api/.*/pods/.*/attach':Regularexpressionforpathsthattheproxyshouldreject.Pathsspecifiedherewillberejectedevenacceptedby--accept-paths.

#想跳過exec的限制也很簡單,把reject-paths去掉就可以了
kubectlproxy-p8080--keepalive3600s--reject-paths=''-v=9

有人說這個kubectl proxy可能沒什么作用, 那可能僅僅是你還沒有實際的應用場景. 例如當我想要調試K8s dashboard代碼的時候. 如果直接使用kubeconfig文件, 我沒法看到具體的請求過程, 如果你加上一層proxy轉發, 并且設置-v=9的時候, 你就自動獲得了一個日志記錄工具, 在調試時相當有用.

總結

kubectl是一個強大的命令行工具, 上面我只是介紹了我工作中對其用法的一點探索, 也并不鼓勵大家非要記住這些命令, 只是希望當讀者需要的時候, 能夠想起來kubectl可以有類似的功能, 就不需要針對幾個臨時需求去研讀client-api了.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1567

    瀏覽量

    63719
  • 工具
    +關注

    關注

    4

    文章

    314

    瀏覽量

    28219

原文標題:kubectl的多樣用法

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    什么是 K8S,如何使用 K8S

    kubectl get pods -n <namespace>:列出 Pod。 kubectl get svc:查看 Service。 kubectl describe pod
    發表于 06-25 06:45

    UIAbility組件基本用法說明

    UIAbility組件基本用法 UIAbility組件的基本用法包括:指定UIAbility的啟動頁面以及獲取UIAbility的上下文UIAbilityContext。 指定UIAbility
    發表于 05-16 06:32

    harmony OS NEXT-Navagation基本用法

    # Navagation基本用法 > Navigation組件是路由導航的根視圖容器,一般作為Page頁面的根容器使用,其內部默認包含了標題欄,內容欄和公工具欄,其中內容區默認首頁顯示導航內容
    的頭像 發表于 04-27 17:39 ?263次閱讀

    ADS1258 VREFN接了地,想問這樣用法可以嗎?

    現在是這樣使用ADS1258電壓參考的,VREFP接2.5V電壓,VREFN接地,因為采集信號都是正壓的,所以VREFN接了地,想問這樣用法可以嗎?會不會影響ADS1258正常工作?
    發表于 12-27 06:06

    DAC7562的CLR引腳怎么用法?可以懸空嗎?

    DAC7562的CLR引腳怎么用法?可以懸空嗎?能不能詳細解釋一下?謝謝
    發表于 12-17 08:16

    國產光耦合器的創新和產品多樣

    國產光耦合器正以其創新性和多樣性引領行業發展。憑借強大的研發能力,國內制造商推出了適應汽車、電信等領域獨特需求的專業化光耦合器,為各行業的技術進步提供了重要支持。本文將重點探討國產光耦合器的技術創新與產品多樣性,以及它們在推動產業升級中的重要作用。
    的頭像 發表于 11-29 10:37 ?412次閱讀

    常用SQL函數及其用法

    的 SQL 函數及其用法: 一、聚合函數(Aggregate Functions) 聚合函數對一組值執行計算,并返回單個值。 COUNT() 用途 :返回匹配指定條件的行數。 示例 : SELECT
    的頭像 發表于 11-19 10:18 ?1343次閱讀

    詳解kubectl常用命令

    詳解kubectl常用命令
    的頭像 發表于 11-05 15:39 ?1256次閱讀
    詳解<b class='flag-5'>kubectl</b>常用命令

    Linux lsof命令的基本用法

    在 linux 系統中,一切皆文件。通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件。所以 lsof 命令不僅可以查看進程打開的文件、目錄,還可以查看進程監聽的端口等 socket 相關的信息。本文將介紹 lsof 命令的基本用法,本文中 demo 的演示環境為 ubuntu 18.04。
    的頭像 發表于 10-23 11:52 ?1189次閱讀
    Linux lsof命令的基本<b class='flag-5'>用法</b>

    共模電感的用法

    呈現出大電感,具有抑制作用,而對于差模信號則呈現出很小的漏電感,幾乎不起作用。以下是對共模電感用法的詳細探討。
    的頭像 發表于 10-17 15:12 ?2004次閱讀

    Sn74hc245具體的用法是什么?

    Sn74hc245是緩沖器,但是具體的用法不會
    發表于 09-10 07:32

    NVIDIA助力提供多樣、靈活的模型選擇

    Dify.AI 提供了靈活多樣的模型集成選擇,專業、高效的模型接入方式讓開發者用戶能夠構建豐富的 AI 應用場景。
    的頭像 發表于 09-09 09:19 ?896次閱讀

    無人機高光譜影像與冠層樹種多樣性監測

    無人機高光譜影像與冠層樹種多樣性監測冠層樹種多樣性是自然森林生態系統功能和服務的重要基礎。
    的頭像 發表于 08-19 15:22 ?564次閱讀
    無人機高光譜影像與冠層樹種<b class='flag-5'>多樣</b>性監測

    請問TLC352比較器的用法是否正確?

    以下比較器TLC352的用法是否正確?謝謝 TLC352含兩個比較器,第二路不用,我是否可以把它的輸入管腳IN2+, IN2-懸空? 它的輸出是否是Open Drain? 也就是出高電平時,必須
    發表于 08-14 08:10

    基于無人機遙感的礦山重建植被功能多樣性研究

    采用無人機攝影測量系統獲取地面數據,提取植物群落形態和生理參數,反演功能多樣性,揭示修復模式對植物群落性狀及功能多樣性的影響,為礦區生態監測與評價提供科技支撐。
    的頭像 發表于 07-01 18:07 ?863次閱讀
    基于無人機遙感的礦山重建植被功能<b class='flag-5'>多樣</b>性研究
    主站蜘蛛池模板: 秋霞午夜一级理论片久久 | 暖暖视频免费观看视频 | 久久久黄色片 | 欧美日本高清动作片www网站 | 99久久国产露脸精品国产吴梦梦 | 龙广在线收听 | 狠狠色狠狠色88综合日日91 | 色人阁久久 | 欧洲美女人 一级毛片 | 桃花免费高清在线观看 | 精品动漫国产亚洲AV在线观看 | 四虎亚洲中文字幕永久在线 | 久久久久九九 | 在线视频免费国产成人 | 涩涩电影网 | 永久adc视频 | 亚洲欧美一区二区三区导航 | 亚洲阿v天堂在线2017 | 久久国产av偷拍在线 | 国产午夜精品久久理论片 | 欧美多人群p刺激交换电影 欧美多毛的大隂道 | a在线视频免费观看 | 果冻传媒AV精品一区 | 国产在线播放精品视频 | 老师真棒无遮瑕版漫画免费 | 久久黄色片 | 成年私人影院网站在线看 | 欧美成人momandson | 宿舍BL 纯肉各种PLAY H | 国产黄a三级三级三级 | 九九热视频在线观看 | 亚洲视频91 | 国产一在线精品一区在线观看 | 亚洲乱色视频在线观看 | 色99久久久久高潮综合影院 | 19不插片免费视频 | 国产久久精品热99看 | 古月娜下面好紧好爽 | 97资源站超碰在线视频 | 美女搜查官被高难度黑人在线播放 | 公主纯肉高H文 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品