Containerd Server學(xué)習(xí) Part 2

【編者的話】containerd v1.0.0的源碼分析祝钢,以docker-containerd --config /var/run/docker/containerd/containerd.toml為入口,看大神們?nèi)绾谓M織Go語(yǔ)言代碼

分析

程序信號(hào)處理
  • 位置:cmd/containerd/main.go
...
var (
  signals = make(chan os.Signal, 2048)
  ctx     = log.WithModule(gocontext.Background(), "containerd")
)
done := handleSignals(ctx, signals, serverC)
...
signal.Notify(signals, handledSignals...)

...

<-done
...
初始化服務(wù)
  • 位置:cmd/containerd/main.go
...
server, err := server.New(ctx, config)
if err != nil {
    return err
}
...
開啟debug / metrics / grpc服務(wù)
...
if config.Debug.Address != "" {
    l, err := sys.GetLocalListener(config.Debug.Address, config.Debug.UID, config.Debug.GID)
    if err != nil {
        return errors.Wrapf(err, "failed to get listener for debug endpoint")
    }
    serve(log.WithModule(ctx, "debug"), l, server.ServeDebug)
}

if config.Metrics.Address != "" {
    l, err := net.Listen("tcp", config.Metrics.Address)
    if err != nil {
        return errors.Wrapf(err, "failed to get listener for metrics endpoint")
    }
    serve(log.WithModule(ctx, "metrics"), l, server.ServeMetrics)
}
l, err := sys.GetLocalListener(address, config.GRPC.UID, config.GRPC.GID)
if err != nil {
    return errors.Wrapf(err, "failed to get listener for main endpoint")
}
serve(log.WithModule(ctx, "grpc"), l, server.ServeGRPC)
...
containerd架構(gòu)

初始化服務(wù)解析

載入插件
  • 位置:server/server.go
plugins, err := loadPlugins(config)
if err != nil {
  return nil, err
}
初始化 grpc服務(wù) 和 傳輸服務(wù)
  • 位置:server/server.go
type Server struct {
    rpc    *grpc.Server
    events *exchange.Exchange
}
grpc服務(wù)
rpc := grpc.NewServer(
    grpc.UnaryInterceptor(interceptor),
    grpc.StreamInterceptor(grpc_prometheus.StreamServerInterceptor),
)

傳輸服務(wù)
// Exchange broadcasts events
type Exchange struct {
    broadcaster *goevents.Broadcaster
}

整理:

github.com/llitfkitfk/containerd/tree/part-2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末若厚,一起剝皮案震驚了整個(gè)濱河市拦英,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌测秸,老刑警劉巖疤估,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異乞封,居然都是意外死亡做裙,警方通過(guò)查閱死者的電腦和手機(jī)岗憋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門肃晚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人仔戈,你說(shuō)我怎么就攤上這事关串。” “怎么了监徘?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我忍燥,道長(zhǎng)掷贾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任户敬,我火速辦了婚禮落剪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘尿庐。我一直安慰自己忠怖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布抄瑟。 她就那樣靜靜地躺著凡泣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪皮假。 梳的紋絲不亂的頭發(fā)上鞋拟,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音惹资,去河邊找鬼贺纲。 笑死,一個(gè)胖子當(dāng)著我的面吹牛布轿,可吹牛的內(nèi)容都是我干的哮笆。 我是一名探鬼主播来颤,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼稠肘!你這毒婦竟也來(lái)了福铅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤项阴,失蹤者是張志新(化名)和其女友劉穎滑黔,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體环揽,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡略荡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歉胶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片汛兜。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖通今,靈堂內(nèi)的尸體忽然破棺而出粥谬,到底是詐尸還是另有隱情,我是刑警寧澤辫塌,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布漏策,位于F島的核電站,受9級(jí)特大地震影響臼氨,放射性物質(zhì)發(fā)生泄漏掺喻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一储矩、第九天 我趴在偏房一處隱蔽的房頂上張望感耙。 院中可真熱鬧,春花似錦椰苟、人聲如沸抑月。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谦絮。三九已至,卻和暖如春洁仗,著一層夾襖步出監(jiān)牢的瞬間层皱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工赠潦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叫胖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓她奥,卻偏偏與公主長(zhǎng)得像瓮增,于是被迫代替她去往敵國(guó)和親怎棱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

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