kubelet用到的一些基本的數(shù)據(jù)類型

// 創(chuàng)建一個(gè)配置控制器

BootstrapKubeletConfigController(defaultConfig*kubeletconfiginternal.KubeletConfiguration,dynamicConfigDir string) {

? ? ?c := dynamickubeletconfig.NewController(defaultConfig, dir)

? ? // 讀取默認(rèn)配置,并啟動(dòng)一個(gè)goroutine來更新

? ??kc, err := c.Bootstrap()

? ???return kc, c, nil

}


kubeletconfig/Controller

//?Controller管理同步動(dòng)態(tài)Kubelet配置

Controller struct {

????defaultConfig *kubeletconfig.KubeletConfiguration????// 沒有提供初始配置時(shí)候的默認(rèn)配置

????pendingConfigSource chan bool?????//?寫入該信道以指示該配置源需要從API服務(wù)器同步

????configOk status.ConfigOkCondition??????//? 管理Node.Status.Conditions 中匯報(bào)的condition

????informer cache.SharedInformer???????//? 觀看節(jié)點(diǎn)對象的通知者

????checkpointStore store.Store????????//? 將配置源的位置保留在存儲層

}



kubernetes/pkg/util/config/mux

定義了用來處理合并的接口

有這個(gè)source的時(shí)候,就返回chan,沒有的話就創(chuàng)建一個(gè)新的chan,監(jiān)聽在上面并返回。如果有新的內(nèi)容從chan上面過來,則觸發(fā)調(diào)用 Merge 方法。

kubernetes/pkg/util/config/Broadcaster

定義了一個(gè)更新的方法

broadcaster 維護(hù)了一組listener,在獲得消息的時(shí)候進(jìn)行依次通知

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Jenkins是一個(gè)開源的自動(dòng)化服務(wù)器。通過Jenkins,可以通過自動(dòng)化加速軟件開發(fā)過程。Jenkins管理和...
    EricJonse閱讀 697評論 0 1
  • IBM 物聯(lián)網(wǎng) (IoT) 專區(qū) How to parse C programs with clang: A tu...
    baitu閱讀 172評論 1 1
  • 近期研究了兩個(gè)項(xiàng)目:一個(gè)是java的嗨購網(wǎng)上商城實(shí)戰(zhàn),一個(gè)是廖雪峰的blog python實(shí)戰(zhàn),對web開發(fā)框架有...
    swynner閱讀 866評論 1 0
  • CmsWing學(xué)習(xí)與思考 分析方法: 先從src/config/route.js開始分析網(wǎng)站一開始訪問contro...
    Purson閱讀 300評論 0 0
  • 常見語法釋疑1、“;” 此處的分號正確理解,一個(gè)完整語句。先執(zhí)行分號前語句,再執(zhí)行分號后。if date, ok ...
    如風(fēng)云淡閱讀 168評論 0 0