原创 Go 源碼學習 - http庫:淺析一次 http 請求的處理過程

文章目錄出發web app 必要構件整體流程閱讀源碼1 http.ListenAndServe2 Server.ListenAndServe3 Server.Server4 *conn.Serve5. serverHandler.

原创 Prometheus 查詢語言 PromQL 的 CPU 使用率計算方法

CPU 使用率的計算方法 翻了幾篇 Prometheus 的 PromQL 查詢 cpu 使用率的文章,說得都不是特別透,結合一篇英文文章終於搞明白了怎麼計算這個指標。 cpu 模式 一顆 cpu 要通過分時複用的方式運行於不同的

原创 CentOS 7.5 使用 kubeadm 安裝 Kubernetes 1.17.2

環境 三臺 vmware 虛擬機,2C4G 操作系統:CentOS 7.5 Minimal 全程使用 root 用戶安裝 準備 關閉防火牆、SELinux 和 swap systemctl stop firewalld s

原创 百倍速度的 Ansible -- Python 與 Go 的併發性能對比測試

題目有點標題黨了:P 測試目標 用 Python 和 Go 的併發編程實現類似 Ansible 的 ping 命令,對比不同併發規模的執行效率。 測試環境 i7 7500 雙核超線程的筆記本,win10系統。 測試結果 主機

原创 Java 多線程實現和尚喫饅頭的問題

和尚喫饅頭問題 30和尚,100個饅頭,每個和尚最多喫4個饅頭,最少喫1個饅頭,一次只能喫1個饅頭。 滿足上述條件,儘快喫光饅頭。 注意 合適沒喫一個饅頭之後要 yield(),不然他會連續喫滿4個饅頭才撒嘴。 代碼 Monk

原创 Java 多線程實現蜜蜂和熊的問題

蜜蜂和熊的問題 100只蜜蜂,2頭熊,每隻蜜蜂每次生產的蜂蜜是1,有一個罐子,容量是50 罐子的蜂蜜量一旦到達20,熊就一次喫掉20 注意問題 生產和消費函數在等待結束執行完生產消費邏輯後要notifyAll() 生產者和消

原创 Pod 生命週期

翻譯官方文檔 文章目錄Pod 階段Pod 狀態(conditions)容器探針pod和容器 status容器 statespod就緒gate重啓策略pod 生命週期 Pod 階段 Pending 下載鏡像 Running 全部p

原创 CI/CD:使用 Jenkins 的 Pipeline 測試 python 程序並製作 docker 鏡像

上文書實踐了 Jendkins 的 freestyle 項目,這次使用 pipeline 進行測試和構建打包 加入自動單元測試 啓動 Jenkins 的 docker 以後,freestyle 是通過執行 shell 命令來逐步實

原创 Go 源碼學習 - log 庫

log 包實現了一個簡單的日誌功能。 Logger 結構體作爲日誌對象,生成文本行到 io.Writer。每次記錄日誌的操作都生成一行日誌,即便是log.Printf也不用包含\n。結構體中有sync.Metex鎖,保證了在多 g

原创 Go 源碼學習 - sync.atomic 庫

這個包裏的主要功能應該都是底層實現的,不是go寫的,先看一下說明文檔。 原子包提供了實用的底層原子內存原語用以實現同步算法。 這些函數需要非常小心才能正確使用。除底層應用這一特殊情況以外,同步最好使用通道或者 sync 包裏的其他

原创 Kubernetes Pod 關閉流程

翻譯自官方文檔 用戶發送delete pod命令,grace period 參數即寬限期(假設爲30秒) API Server 更新 pod 的寬限期字段 執行pod get 命令顯示pod狀態變爲Terminating 與3同

原创 部署 etcd 3 節點集羣

1. 準備csr文件 etcd-csr.json { "CN": "etcd", "hosts": [ "127.0.0.1", "192.168.220.121", "192.168.220.12

原创 kubernetes kubectl 簽名TLS證書

kubernetes 集羣可以爲證書籤名,用於集羣內部的TLS通信,ca就是集羣的ca,每個pod裏面serviceaccount的secret都帶着。 1. 創建證書籤名請求-csr $ cat <<EOF | ./cfssl

原创 django rest framework 自定義ModelViewSet的返回內容

django rest framework的ModelViewSet非常爽,省了一大堆業務邏輯代碼,跟自己手寫restful的API 比至少減了100多行代碼,而且serializer這種東西都是複製就行,少耗費好多腦細泡。cre

原创 kubernetes 部署 https 服務器

創建ca證書籤名請求文件 ca-cst.json { "CN": "www.abc.com", "key": { "algo": "rsa", "size": 2048 }, "names":