chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

kubectl的多樣用法

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

掃碼添加小助手

加入工程師交流群

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

打印當(dāng)前使用的API

#kubectl的主要作用就是與ApiServer進(jìn)行交互,而交互的過程,我們可以通過下面的方式來打印,
#這個(gè)命令尤其適合調(diào)試自己的api接口時(shí)使用.
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


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

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

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


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

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

統(tǒng)計(jì)具體某臺(tái)機(jī)器上運(yùn)行的所有pod

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

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

統(tǒng)計(jì)Pod在不同機(jī)器的具體數(shù)量分布

不知道有讀者看過我的這篇文章: 基于kubernetes的PaaS平臺(tái)中細(xì)力度控制pods方案的實(shí)現(xiàn). 均衡分布的工作前提是得知pod在各個(gè)機(jī)器的分布情況. 最好的辦法就是我們得到pod信息之后進(jìn)行簡(jiǎn)單的統(tǒng)計(jì), 這個(gè)工作可以使用awk實(shí)現(xiàn).

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í)行結(jié)果如下
Word:Count
NODE:1
pve-node1:1
pve-node2:1


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

kubectl proxy的使用

你可以理解為這個(gè)命令為K8s的ApiServer做了一層代理, 使用該代理, 你可以直接調(diào)用API而不需要經(jīng)過鑒權(quán). 啟動(dòng)之后, 甚至可以實(shí)現(xiàn)kubectl套娃, 下面是一個(gè)例子:

#當(dāng)你沒有設(shè)置kubeconfig而直接調(diào)用kubectl時(shí)
kubectlgetns-v=9
#可以打印出下面類似的錯(cuò)誤
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
#也就是說當(dāng)你不指定kubeconfig文件時(shí),kubectl會(huì)默認(rèn)訪問本機(jī)的8080端口
#那么我們先啟動(dòng)一個(gè)kubectlproxy,然后指定監(jiān)聽8080,再使用kubectl直接訪問,是不是就可行了呢,
#事實(shí)證明,安全與預(yù)想一致.
KUBECONFIG=~/.kube/config-symv3kubectlproxy-p8080
kubectlgetns
NAMESTATUSAGE
defaultActive127d

默認(rèn)啟動(dòng)的proxy是屏蔽了某些api的, 并且有一些限制, 例如無法使用exec進(jìn)入pod之中 可以使用kubectl proxy --help來看, 例如

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

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

有人說這個(gè)kubectl proxy可能沒什么作用, 那可能僅僅是你還沒有實(shí)際的應(yīng)用場(chǎng)景. 例如當(dāng)我想要調(diào)試K8s dashboard代碼的時(shí)候. 如果直接使用kubeconfig文件, 我沒法看到具體的請(qǐng)求過程, 如果你加上一層proxy轉(zhuǎn)發(fā), 并且設(shè)置-v=9的時(shí)候, 你就自動(dòng)獲得了一個(gè)日志記錄工具, 在調(diào)試時(shí)相當(dāng)有用.

總結(jié)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    2288

    瀏覽量

    66556
  • 工具
    +關(guān)注

    關(guān)注

    4

    文章

    317

    瀏覽量

    28811

原文標(biāo)題:kubectl的多樣用法

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    松下無線連接模塊:多樣選擇,滿足多元設(shè)計(jì)需求

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

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

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

    C語(yǔ)言的printf基本用法介紹

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

    電阻應(yīng)變片的多樣選擇與應(yīng)用

    電阻應(yīng)變片作為一種重要的傳感器技術(shù),被廣泛應(yīng)用于壓力、變形、應(yīng)變測(cè)量等領(lǐng)域。其工作原理基于電阻隨材料形變而變化的特性,能夠?qū)⑽锢砹哭D(zhuǎn)化為可測(cè)量的電信號(hào)。電阻應(yīng)變片的種類繁多,各具特色,適用于不同的應(yīng)用場(chǎng)景。本文將詳細(xì)介紹電阻應(yīng)變片的多樣選擇以及其在各個(gè)領(lǐng)域中的應(yīng)用。
    的頭像 發(fā)表于 08-30 15:44 ?1444次閱讀

    高效管理Kubernetes集群的實(shí)用技巧

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

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

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

    k8s權(quán)限管理指南說明

    我們?cè)谀壳暗膋8s集群環(huán)境里面,只能在master節(jié)點(diǎn)上執(zhí)行kubectl的一些命令,在其他節(jié)點(diǎn)上執(zhí)行就會(huì)報(bào)錯(cuò)。
    的頭像 發(fā)表于 06-26 14:06 ?649次閱讀

    什么是 K8S,如何使用 K8S

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

    ??低暱萍贾κ刈o(hù)生物多樣性之美

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

    米爾RK3576核心板適配多種系統(tǒng),解鎖多樣化應(yīng)用

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

    UIAbility組件基本用法說明

    UIAbility組件基本用法 UIAbility組件的基本用法包括:指定UIAbility的啟動(dòng)頁(yè)面以及獲取UIAbility的上下文UIAbilityContext。 指定UIAbility
    發(fā)表于 05-16 06:32

    harmony OS NEXT-Navagation基本用法

    # Navagation基本用法 > Navigation組件是路由導(dǎo)航的根視圖容器,一般作為Page頁(yè)面的根容器使用,其內(nèi)部默認(rèn)包含了標(biāo)題欄,內(nèi)容欄和公工具欄,其中內(nèi)容區(qū)默認(rèn)首頁(yè)顯示導(dǎo)航內(nèi)容
    的頭像 發(fā)表于 04-27 17:39 ?867次閱讀

    Linux中文本處理命令的用法

    Linux 三劍客是(grep,sed,awk)三者的簡(jiǎn)稱,熟練使用這三個(gè)工具可以提升運(yùn)維效率。Linux 三劍客以正則表達(dá)式作為基礎(chǔ),而在Linux系統(tǒng)中,支持兩種正則表達(dá)式,分別為“標(biāo)準(zhǔn)正則表達(dá)式”和“擴(kuò)展正則表達(dá)式”。在掌握好正則表達(dá)式后,將具體講解三劍客的用法。
    的頭像 發(fā)表于 04-15 10:22 ?679次閱讀
    Linux中文本處理命令的<b class='flag-5'>用法</b>

    請(qǐng)教下\"InitConnectionAndCommandLayer\"的用法是不是在程序最開始調(diào)用一次就行了?

    我現(xiàn)在一臺(tái)電腦通過2個(gè)USB口分別連接一臺(tái)dlpc,用的DLPC-API-1.10開發(fā)自己的程序,我想請(qǐng)教下\"InitConnectionAndCommandLayer\"的用法是不是在我程序最開始調(diào)用一次就行了?還是針對(duì)每臺(tái)設(shè)備使用前要分別調(diào)用一次?
    發(fā)表于 02-24 07:48

    自建K8S集群認(rèn)證過期

    今天使用kubectl命令查看pod信息時(shí),一直正常運(yùn)行的k8s集群突然不能訪問了,輸入任何命令都提示以下報(bào)錯(cuò)。
    的頭像 發(fā)表于 02-07 12:32 ?732次閱讀