kubectl也可以擴充套件了

2021-09-20 00:03:29 字數 1164 閱讀 6466

kubernetes作為乙個開放式式的分布式系統,其提供了多種擴充套件機制如crd, service catalog等給使用者做系統功能增強以及外部系統對接等。當時以往版本都是以擴充套件服務端的功能,現在剛發布的全新版本1.12.0已經可以支援kubectl命令列的擴充套件了。下面將通過乙個簡單例子來演示如何做kubectl的擴充套件。

請注意:目前kubectl的擴充套件alpha狀態,從1.12,0開始提供。

例子的目的

通常我們會通過kubect get pod/*** -o yaml的方式來展示對應的k8s資源物件的申明,但是這個輸出比較不太友好,輸出沒有對於關鍵字做高亮展示,可否提供乙個命令對於輸出做渲染呢?

其實很簡單,通過簡單的kubectl命令擴充套件就可以做到,我們把這個擴充套件的kubectl子命令定義為inspect,這樣,我們期望的命令是:

kubectl inspect pod/***x
然後期望結果類似如下的渲染展示:

前置條件

brew upgrade kubernetes-cli
brew install bat
建立kubectl的inspect plugin

/usr/local/bin下建立乙個kubectl-inspect的檔案,並輸入以下內容

這裡需要注意的是,檔名必須是kubectl-《子命令》的形式

#!/bin/bash

kubectl get "$@" -o yaml | bat -l yaml -p

並將該檔案改為可執行

chmod +x kubectl-inspect
測試

在命令列執行

kubectl inspect pod/***
就可以看上面的效果了

這個plugin的機制還是十分誘人的,讓維護人員都可以集中在kubectl命令裡操作了。kubernetes在向分布式的os又向前邁了一小步,kubectl就像是linux的cmd了

VB也可以做標準dll了

vb中建立的dll只是com元件,無法作為輸出函式的dll,其實這只是個錯誤的說法。其實ms非常狡猾,如果你是個vb瘋狂發燒友的話,應該早就狂試出這種可以建立輸出函式的dll的方法。vb 編譯檔案實際上採取了兩次編譯的方法,首先是呼叫c2.exe產生 obj檔案,然後呼叫link.exe連線。如果在...

表白了。也釋然了。

從來都覺得情人節跟我無關,從來都是乙個人,任何時候。今天跟自己心儀的女孩子表白了,印象中這是第二次。記得第一次表白的時候是在大一,怯怯得用手機發了 我喜歡你 四個字。單相思三年,還在畢業聚餐那天嚎啕大哭,但無果。畢業後的好幾個月裡,都一直無法釋然.於是,一直乙個人,就算有心儀的女孩子也不去有進一步的...

可以開始了

上週,各方面的訊息都告訴我,畢業設計進度已經嚴重滯後。非常感謝這些及時的訊息,讓我認清了當前的形勢,並且經過了一周的努力,我終於找到了開始前行的方向。1,研究802.16mode在ns2中的實現,順便可以了解wimax的一些機制。2,研究802.21的mih模組在ns2中的實現。了解其中的異構網路模...