原创 《 Kubebuilder v2 使用指南 》-P7-本地調試和發佈Controller

本地調試和發佈Controller 前言 前面幾篇已經完成了初步的代碼編寫,但隨後還需要 調試測試 --> 正式發佈 到K8s集羣內。這個步驟是官方文檔內簡筆帶過的,極易帶來困擾,寫代碼很難一氣呵成,總會有error需要調試,但不

原创 kubeadm修改默認證書有效期

kubeadm 修改默認證書有效期 前言 出於安全考慮,k8s 團隊推薦定期更新版本,因此kubeadm生成的證書,有效期默認在代碼中寫死爲1年,一旦證書過期,k8s集羣將會崩潰,因此,續期 or 升級,成了一個一年一度必選題。但

原创 Kubernetes源碼學習-Controller-P5-StatefulSet Controller

P5-StatefulSet Controller 前言 在前面的幾篇文章中,先對deployment controller進行了初步分析: Controller-P3-Deployment Controller 嚴格來講depl

原创 Kubernetes源碼學習-Controller-P1-多實例leader選舉

P1-多實例leader選舉.md 前言 Kubernetes多master場景下,核心組件都是以一主多從的模式來運行的,在前面scheduler部分的文章中,並沒有分析其主從選舉及工作的流程,那麼在本篇中,以controller

原创 kubernetes 部署redis cluster

kubernetes 部署redis cluster 前言 Redis cluster的集羣關係的維繫,並非是依賴於ip的,而是依賴於cluster內部的唯一id, ip只在首次建立集羣關係時連接彼此使用,不作爲成員連接憑據,取而

原创 Kubernetes源碼學習-Controller-總覽篇

Controller源碼分段閱讀導航 多實例leader選舉 Informer工作流程 Deployment Controller StafulSet Controller 待補充 概述 kube-controller的作用

原创 Kubernetes源碼學習-Controller-P3-Controller分類與Deployment Controller

P3-Controller分類與Deployment Controller 前言 Controller部分的第一篇文章中,我們從cobra啓動命令入口開始,進入到了多實例leader選舉部分的代碼,對leader選舉流程做了詳細地

原创 Kubernetes源碼學習-Controller-P2-Controller與client-go

病毒肆虐,陰雨連綿,門房緊閉,親友不問,冷冷清清,甚是無趣。坐下寫寫代碼,總結下過去一年所學,整理兩篇文章,倒也算是樂得自在。盼疫情早日控制,春回大地,願同胞們身體安康,祝新年快樂! P2-Controller與client-go

原创 Etcd 和 kubernetes master的災備與恢復

Etcd和kubernetes master的災備與恢復 背景說明 問題:假設某臺帶有etcd的k8s master節點完全故障,徹底無法恢復 方案:新啓動一臺主機,配置爲故障master主機相同的ip和主機名,並嘗試原地恢復,頂

原创 Golang併發模型

Golang併發模型 前言 Go實現了兩種併發形式。第一種是大家普遍認知的:多線程共享內存,這是最常見的各語言中的多線程併發模型,go本身也支持。另外一種是Go語言特有的,也是Go語言推薦的CSP(communicating se

原创 Kubernetes源碼學習-Scheduler-P5-Pod優先級搶佔調度

P5-Pod優先級搶佔調度 1. 前言 前面的兩篇文章中,已經講過了調度pod的算法(predicate/priority),在kubernetes v1.8版本之後可以指定pod優先級(v1alpha1),若資源不足導致高優先級

原创 Kubernetes源碼學習-Scheduler-P4-Node優先級算法

P4-Node優先級算法 前言 在上一篇文檔中,我們過了一遍node篩選算法: p3-Node篩選算法 按調度規則設計,對篩選出的node,選擇優先級最高的作爲最終的fit node。那麼本篇承接上一篇,進入下一步,看一看node

原创 Kubernetes源碼學習-Scheduler-P2-調度器框架

調度器框架 前言 在上一篇文檔中,我們找到了sheduler調度功能主邏輯的入口: P1-調度器入口篇 那麼在本篇,我們基於找到的入口,來進入調度器框架內部,看一看整體的邏輯流程,本篇先跳過調度的算法(Predicates斷言選擇

原创 Kubernetes源碼學習-Scheduler-P3-Node篩選算法

P3-Node篩選算法 前言 在上一篇文檔中,我們找到調度器篩選node的算法入口pkg/scheduler/core/generic_scheduler.go:162 Schedule()方法 p2-調度器框架 那麼在本篇,由此

原创 Kubernetes源碼學習-Scheduler-總覽篇

調度器總體設計 調度器源碼分段閱讀目錄 調度器入口 調度器框架 Node篩選算法 待補充 概覽 首先列出官方md鏈接,講解頗爲生動: https://github.com/kubernetes/communit