日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取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

按狀態(tài)篩選容器以及刪除

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


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

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

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


#例如,下面的語句可以找到所有的Pods并打印可以執(zhí)行的語句
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]);
}
}'

#執(zhí)行結果如下
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,然后指定監(jiān)聽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轉發(fā), 并且設置-v=9的時候, 你就自動獲得了一個日志記錄工具, 在調試時相當有用.

總結

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

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

    關注

    2

    文章

    2481

    瀏覽量

    67063
  • 工具
    +關注

    關注

    4

    文章

    317

    瀏覽量

    28937

原文標題:kubectl的多樣用法

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    連接器的多樣化應用有哪些?

    可以傳輸電力、信號和數據等信息,廣泛應用于計算機、通信、汽車、航空航天和醫(yī)療設備等領域中。連接器的多樣化應用有哪些?
    的頭像 發(fā)表于 04-16 16:47 ?187次閱讀
    連接器的<b class='flag-5'>多樣</b>化應用有哪些?

    Kubernetes Pod啟動失敗的各種場景及其排障方法

    在 Kubernetes 日常運維中,Pod 起不來是最常見的故障形態(tài)之一。很多運維工程師看到 Pod 狀態(tài)不是 Running 時,第一反應是盯著 kubectl get pod 的 STATUS
    的頭像 發(fā)表于 04-13 13:53 ?108次閱讀

    變頻器的特殊用法

    變頻器作為電力電子技術的重要應用設備,其核心功能是通過改變電源頻率實現對電機轉速的精確控制。然而在實際工業(yè)場景和創(chuàng)意應用中,工程師們早已突破傳統認知,開發(fā)出一系列令人驚嘆的特殊用法。這些創(chuàng)新實踐不僅拓展了變頻器的應用邊界,更展現了電力電子技術的無限可能。
    的頭像 發(fā)表于 03-03 17:08 ?623次閱讀

    Kubernetes kubectl命令行工具詳解

    kubectl是Kubernetes官方提供的命令行工具,作為與Kubernetes集群交互的主要接口,它通過調用Kubernetes API Server實現對集群資源的全面管理。在生產環(huán)境中,運維工程師需要熟練掌握kubectl命令來完成日常的集群運維、應用部署、故障
    的頭像 發(fā)表于 02-02 16:40 ?627次閱讀

    松下無線連接模塊:多樣選擇,滿足多元設計需求

    松下無線連接模塊:多樣選擇,滿足多元設計需求 在當今的電子設備設計中,無線連接功能至關重要。松下提供了豐富的無線連接模塊產品線,涵蓋藍牙和 Wi-Fi 等多種技術,為電子工程師們帶來了多樣化的選擇
    的頭像 發(fā)表于 12-22 10:10 ?645次閱讀

    奇異摩爾受邀出席2025多樣性算力產業(yè)發(fā)展大會

    為探究多樣性算力發(fā)展新模式、推動國內算力產業(yè)優(yōu)化升級,中國通信標準化協會多樣性算力產業(yè)及標準推進委員會(CCSA TC622)將于2025年11月18日在北京香格里拉飯店舉辦“多樣性算力產業(yè)發(fā)展大會2025”,屆時多位頂尖專家將
    的頭像 發(fā)表于 11-19 17:45 ?1599次閱讀
    奇異摩爾受邀出席2025<b class='flag-5'>多樣</b>性算力產業(yè)發(fā)展大會

    C語言的printf基本用法介紹

    中使用頻率最高的一個函數一點也不為過,每個C語言程序員都應該掌握 printf 的用法,這是最基本的技能。 不過 printf 的用法比較靈活,也比較復雜,初學者知識儲備不足,不能一下子掌握,目前
    發(fā)表于 11-12 07:04

    電阻應變片的多樣選擇與應用

    電阻應變片作為一種重要的傳感器技術,被廣泛應用于壓力、變形、應變測量等領域。其工作原理基于電阻隨材料形變而變化的特性,能夠將物理量轉化為可測量的電信號。電阻應變片的種類繁多,各具特色,適用于不同的應用場景。本文將詳細介紹電阻應變片的多樣選擇以及其在各個領域中的應用。
    的頭像 發(fā)表于 08-30 15:44 ?1771次閱讀

    高效管理Kubernetes集群的實用技巧

    作為一名經驗豐富的運維工程師,我深知在日常的Kubernetes集群管理中,熟練掌握kubectl命令是提升工作效率的關鍵。今天,我將分享15個經過實戰(zhàn)檢驗的kubectl實用技巧,幫助你像藝術家一樣優(yōu)雅地管理K8s集群。
    的頭像 發(fā)表于 08-13 15:57 ?1142次閱讀

    【原創(chuàng)】labview 通過“引用調用“ 的快捷用法,不需編程獲取VI引用

    labview的“通過引用調用”函數在調用嚴格類型VI時,通常需要獲取VI的引用。該函數的輸入端也確實有引用接口,如圖: 但是該函數還有一個快捷用法,右鍵單擊 引用調用 函數,彈出菜單中有“調用設置
    發(fā)表于 07-30 17:53

    k8s權限管理指南說明

    我們在目前的k8s集群環(huán)境里面,只能在master節(jié)點上執(zhí)行kubectl的一些命令,在其他節(jié)點上執(zhí)行就會報錯。
    的頭像 發(fā)表于 06-26 14:06 ?931次閱讀

    什么是 K8S,如何使用 K8S

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

    海康威視科技助力守護生物多樣性之美

    近日,由中國林業(yè)產業(yè)聯合會指定的團體標準T/LYCY 3075-2024《生物多樣性監(jiān)測信息化技術規(guī)范》正式實施。作為該標準的牽頭單位,??低晳{借在生態(tài)監(jiān)測領域的技術積累與實踐經驗,深度參與標準編寫工作,為生物多樣性監(jiān)測信息化技術體系的構建貢獻了重要力量。
    的頭像 發(fā)表于 06-19 10:14 ?1192次閱讀

    米爾RK3576核心板適配多種系統,解鎖多樣化應用

    米爾電子發(fā)布的基于瑞芯微RK3576核心板和開發(fā)板,具備高性能數據處理能力、領先的AI智能分析功能、多樣化的顯示與操作體驗以及強大的擴展性與兼容性,適用于多種應用場景。目前米爾電子為RK3576
    的頭像 發(fā)表于 05-23 08:03 ?1752次閱讀
    米爾RK3576核心板適配多種系統,解鎖<b class='flag-5'>多樣</b>化應用

    UIAbility組件基本用法說明

    UIAbility組件基本用法 UIAbility組件的基本用法包括:指定UIAbility的啟動頁面以及獲取UIAbility的上下文UIAbilityContext。 指定UIAbility
    發(fā)表于 05-16 06:32
    拉萨市| 绥阳县| 嘉定区| 耿马| 淮北市| 瓮安县| 阿城市| 区。| 宁陵县| 南丹县| 九江县| 金阳县| 安徽省| 鱼台县| 永顺县| 洪江市| 广州市| 新化县| 双流县| 溆浦县| 巴塘县| 成都市| 深泽县| 榕江县| 巧家县| 高碑店市| 东宁县| 搜索| 吉首市| 双城市| 称多县| 保靖县| 广饶县| 政和县| 略阳县| 福州市| 盐源县| 库尔勒市| 桐城市| 新安县| 濉溪县|