原创 gang scheduler在kube-batch中的實現

目錄 一、名詞解釋 二、流程圖 gang scheduler介紹:一個kube-batch作業(kube-batch job)可能有多個pods, 這些pods要不全部執行,要不一個都不執行。 一、名詞解釋 k8s job:一些pod集

原创 kube-batch源碼梳理

目錄 一、Cache 1.1 type SchedulerCache 1.2 newSchedulerCache方法 1.2.1 Pod 1.2.2 PodGroup 1.3 Run方法 1.4 Snapshot方法 1.5 Bind、E

原创 kubelet源碼分析(一)——kubelet啓動流程及pod狀態變化感知和消費流程

目錄 1、kubelet啓動流程 1.1 cmd/kubelet/app/server.go  Run方法 1.2 cmd/kubelet/app/server.go  run方法 1.3 cmd/kubelet/app/server.g

原创 kube-controller-manager inform機制學習

介紹 controller中的傳感器主要由Reflector, Informer, Indexer組成 Reflector通過List&Watch kube-apiserver來獲取k8s資源數據,獲取到資源數據後,會在Delt

原创 kubernetes kubebuilder實現crd(二)

本篇主要介紹如何在crd中添加字段信息 1、看下config/samples下面的yaml文件: kubectl get guestbooks.webapp.my.domain -o yaml spec:   # Add field

原创 kubernetes daemonSet源碼學習

kubernetes daemonSet源碼學習一、daemonSet controller對象創建1、給Informer註冊EventHandler2、聲明核心處理函數二、daemonSet controller啓動1、run函

原创 kubernetes kubebuilder實現crd初探

目錄   1、crd介紹 2、使用kubebuilder開發crd 2.1 準備環境 2.2 創建一個項目 2.3 創建api 2.4、編譯 第一步:修改DockerFile,記得關掉go mod 第二步:修改Makefile 第三步:構

原创 Go 基本語法(方便查詢,不斷完善中。。。)

一、tips 1、main函數只有在main包中纔可以跑起來 2、package名字是隨便起的,不一定非要有個實體的文件夾 3、一個較爲複雜的傻瓜for循環 :) for i, j := 0, len(stringValue)-1; i

原创 idea創建go項目

idea創建go項目 go編程第一步 詳細步驟如下: 首先保證idea plugin中有go插件,沒有自己安裝一下; 新建go項目 這裏選擇的是go的安裝路徑 要在gopath的src目錄下 寫個test程序,

原创 二分查找練習

目錄 一、原生二分查找及其變種 二、變種 2.1.總結 2.1.1.模板 2.1.2.首先判斷出是返回left,還是返回right 2.1.3.判斷比較符號 2.2.題  2.2.1.查找第一個相等的元素(結果是2) 2.2.2.查找最後

原创 Netty源碼分析——NioEventLoopGroup & NioEventLoop

目錄   1、NioEventLoopGroup 1.1 類圖 1.2 初始化 1.創建線程執行器 2.創建EventLoop,並存儲到EventExecutor類型的數組中 3.創建線程選擇器 2、NioEventLoop 2.1 類圖

原创 Netty框架中的設計模式

1、facade模式(外觀模式) JDK的SocketChannel和ServerSocketChannel沒有統一的Channel接口供業務開發者使用,對於用戶而言,沒有統一的操作視圖,使用起來不方便。而Netty重新定義了Channe

原创 java線程池

目錄   1、ctl 2、狀態轉換 3、幾個重要的參數及注意事項 <1>corePoolSize <2>maximumPoolSize <3>keepAliveTime <4>workQueue (1) “直接執行” (常用的隊列是 Sy

原创 Java IO模型與Netty線程模型

目錄   一、概念介紹 1、同步與異步 2、阻塞與非阻塞 3、同步阻塞io 4、同步非阻塞io 5、IO多路複用 6、異步IO 二、BIO(同步阻塞IO) 三、僞異步IO ​ 四、NIO(同步阻塞IO) 五、Netty線程模型 1、Rea

原创 Netty實戰練習——tcp拆包和粘包

一、發現問題 繼續上篇帖子的內容,https://blog.csdn.net/weixin_43599368/article/details/84206351 利用java原生序列化方式來編碼解碼,其餘代碼如下: RpcClient: