Fabric8淺析

我們通過Fabric8調(diào)用k8s的功能接口俺夕,從而實現(xiàn)k8s的控制臺開發(fā)裳凸,雖然k8s以及提供了控制臺,但是本身的控制臺已經(jīng)不怎么更新劝贸,為了使用更方便姨谷,我們決定自己搭建控制臺并結(jié)合之前的項目完成一個疊加融合。
展示一下官方的控制臺:


image.png

廢話少說映九,我們來看看如何使用Fabric8梦湘。

要使用Fabric8我們就要調(diào)用其中的方法,找不到對應的方法在哪個類下是使用Fabric8的難題。這次我們就來解析一下我們Fabric8的那些方法藏在哪践叠。
1.首先要說一個很重要的對象----client
在每次操作集群前都需要先連接到k8s集群言缤,通過連接方法獲得的就是KubernetesClient接口下的client對象。之后的所有針對k8s集群的操作都無一例外地要傳入這個參數(shù)禁灼,所以KubernetesClient接口自然成為了我們一窺Fabric8源碼的突破口管挟。


image.png

可以看到,這個接口下定義了很多方法弄捕,如果細心一點僻孝,你會在其中發(fā)現(xiàn)很多熟悉的面孔。
比如:

NonNamespaceOperation< Namespace, NamespaceList, DoneableNamespace, Resource<Namespace, DoneableNamespace>> namespaces();

NonNamespaceOperation<Node, NodeList, DoneableNode, Resource<Node, DoneableNode>> nodes();

是不是方法名很熟悉守谓,就是k8s里基本的概念穿铆,命名空間和節(jié)點,后面還有pods斋荞、services這些荞雏。找到這些我們就有感覺大致方向沒問題了,然后我們繼續(xù)看這些方法的返回類型平酿。
2.發(fā)現(xiàn)操作的集合
可以看到他們的返回類型分為兩類凤优,一類是MixedOperation、一類是NonNamespaceOperation蜈彼,根據(jù)名稱我們猜測這兩個都是操作的集合筑辨,我們之后對pod、service的操作都應該是定義在這里面的幸逆。我們點進MixedOperation發(fā)現(xiàn)MixedOperation繼承了NonNamespaceOperation接口棍辕,這就有意思了,說明MixedOperation很可能包含的操作要多于NonNamespaceOperation还绘。這個時候我們已經(jīng)有了很多猜測楚昭,是到了證實一波的時候了,打開關系圖表蚕甥,我們可以看到MixedOperation和NonNamespaceOperation所有的繼承關系哪替。如下圖:


MixedOperation.png

NonNamespaceOperation.png

這樣一對比MixedOperation多了哪些功能是不是就一目了然了?
比如MixedOperation多繼承了Namespaceable接口菇怀,所以會多一個Namespaceable接口下定義的inNamespace方法,也就是說MixedOperation下的刪除查找可以根據(jù)namespace也就是命名空間來操作晌块,而NonNamespaceOperation下就沒有這個方法爱沟。再回顧一下這兩個操作集合的名字,是不是就明白了匆背,一個是可以根據(jù)命名空間操作的方法集呼伸,一個是不能根據(jù)命名空間操作的方法集。我們再去看看KubernetesClient下的哪些方法返回的是NonNamespaceOperation,是namespaces和nodes括享,這兩個當然不能根據(jù)命名空間進行操作搂根,所以是不是更加明白整個Fabric8的架構(gòu)了?
3.知道了去哪里找方法铃辖,還得之道去哪找操作對象吧
我們之前在KubernetesClient下找到了很多剩愧,但是這下面并不是全部呀,雖然pods娇斩、service仁卷、namespaces等等都有了,但像deployments就沒有呀犬第,這些在哪呢锦积?瞎找嗎?是的歉嗓,瞎找總是能找到的丰介,但是我們先不急著瞎找,我們先分析一波鉴分,說不定就能找到了呢哮幢?
還記不記得我們用yaml文件創(chuàng)建pod、service這些時候填的apiVersion冠场?
pod家浇、service、namespace這些的apiVersion是v1碴裙,而deployment和daemonSet的apiVersion是apps/v1钢悲,我們再看下里的方法,是不是有一個就很顯眼了舔株。


image.png

點進去它返回的接口莺琳,果不其然,我們的daemonSet和deployment就靜靜地躺在這里载慈。
image.png

相信通過帶領大家進行此次淺析惭等,大家對整個Fabric8的結(jié)構(gòu)都有了一定的了解,也對進一步該如何探索有了自己的理解办铡,剩下的就只能等大家自己進一步實踐了辞做。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市寡具,隨后出現(xiàn)的幾起案子秤茅,更是在濱河造成了極大的恐慌,老刑警劉巖童叠,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件框喳,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機五垮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門乍惊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人放仗,你說我怎么就攤上這事润绎。” “怎么了匙监?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵凡橱,是天一觀的道長。 經(jīng)常有香客問我亭姥,道長稼钩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任达罗,我火速辦了婚禮坝撑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘粮揉。我一直安慰自己巡李,他們只是感情好,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布扶认。 她就那樣靜靜地躺著侨拦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辐宾。 梳的紋絲不亂的頭發(fā)上狱从,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音叠纹,去河邊找鬼季研。 笑死,一個胖子當著我的面吹牛誉察,可吹牛的內(nèi)容都是我干的与涡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼持偏,長吁一口氣:“原來是場噩夢啊……” “哼驼卖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鸿秆,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤款慨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谬莹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年附帽,在試婚紗的時候發(fā)現(xiàn)自己被綠了埠戳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蕉扮,死狀恐怖整胃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情喳钟,我是刑警寧澤屁使,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站奔则,受9級特大地震影響蛮寂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜易茬,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一酬蹋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抽莱,春花似錦范抓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至虐呻,卻和暖如春象泵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铃慷。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工单芜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人犁柜。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓洲鸠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親馋缅。 傳聞我的和親對象是個殘疾皇子扒腕,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355