k8s原始碼閱讀之client go第一二章

2021-10-09 00:12:50 字數 813 閱讀 6942

client-go 客戶端物件

1、restclient (基礎)

2、clientset 基於restclient封裝resource和version管理方法僅能處理k8s內建資源(內建資源包括:原始碼位置(kubernetes\vendor\k8s.io\client-go\kubernetes)

3、dynamicclient 既可以訪問k8s內建資源又可以訪問crd(自定義資源)

4、discoveryclient 用於發現kube-apiserver 所支援的資源組,資源版本,資源資訊

1、資源組

2、資源版本(versions) —kubectl api-versions 檢視集群支援的api version

3、資源資訊(resources) —kubectl api-resources 獲取集群支援的resource型別

client-go與k8s通訊方式(restclient方式)

restclient客戶端主要通過rest.restclientfor呼叫newrestclient()—此客戶端在指定的路徑上執行通用的rest功能//,例如get,put,post和delete。編解碼器控制(createserializers建立序列化器)來自伺服器的響應的編碼和/或解碼。

通過newrestclient返回的restclient物件呼叫golang net/http方法實現client-go 與k8s 進行通訊

第一二章主要了解client-go 與k8s互動方式,以及各種互動方式之間的區別,這張重點看了restclient的實現方式,了解了k8s 內建資源以及crd自定義資源和client-go獲取k8s資源的方式

k8s原始碼分析 pdf k8s原始碼分析之Cobra

一 cobra簡介 cobra 既是乙個用來建立強大的現代cli命令列的golang庫,也是乙個生成程式應用和命令列檔案的程式.cobra主要提供的功能 完全相容posix命令列模式 巢狀子命令subcommand 支援全域性,區域性,串聯flags 自動生成commands和flags的幫助資訊 ...

k8s原始碼分析準備工作 原始碼準備

寫在前面 本文已過時,請移步 daniel hu s blog 作業系統 我們使用linux作為k8s原始碼分析和除錯環境,fedora centos ubuntu都行,我這裡使用fedora golang相關 mkdir p root go src k8s.io cd root go src k8...

K8s部署prometheus監控K8s細節

prometheus 一些配置檔案可以再github上找到。部署 root kube prometheus manifests 目錄下所有檔案 部署 root kube prometheus manifests setup 目錄下所有檔案 要注意的是自己要建立乙個工作空間 如果報錯執行下面語句 部署...