原创 kubelet 創建 pod 過程

kubelet 的重要性不必多說,下面是一張前些日子讀源碼畫的簡單的 pod 創建流程圖. 歡迎大家批評、指點 v1.12.0 kubelet 源碼

原创 Kubernetes核心概念及核心組件使用與理解

什麼是Kubernetes? 工作流程 Kubernetes是一個可移植性,可擴展的開源平臺,用於管理容器化工作負載和服務,有助於聲明性配置和自動化管理。它擁有龐大,快速發展的生態系統。 谷歌在2014年開源了Kuberne

原创 k8s 修改 Docker 驅動

剛安裝 k8s 時,docker 的驅動是 cgroupfs k8s 需要使用 systemd,這是直接添加 docker 配置即可。 vim /etc/docker/daemon.json { "exec-opts":["na

原创 Istio 基於“權重”、“Headers” 的灰度發佈

ps:istio 的官方提供的 bookinfo 例子已經很齊全了,但我很討厭拿 bookinfo 當作示例。因爲是別人已經提供好的,包括 yaml 文件你自己根本沒有從中學習到什麼,所以想自己寫一些 demo、yaml 來使用。

原创 Istio VirtualService 結合 DestinationRule 基礎使用

ps:istio 的官方提供的 bookinfo 例子已經很齊全了,但我很討厭拿 bookinfo 當作示例。因爲是別人已經提供好的,包括 yaml 文件你自己根本沒有從中學習到什麼,所以想自己寫一些 demo、yaml 來使用。

原创 k8s calico 插件錯誤:Calico node 'node4' is already using the IPv4 address 172.19.0.1.

描述:集羣剛初始化以後創建了 calico 之後,所有的 pod 都是正常的,只有 calico node 的數量是 0/1,也就是根本沒有運行。k8s 版本是 1.17.0,calico 沒注意。 查看日誌: kubectl

原创 git 徹底清除歷史提交中的大文件

原因:在使用 git 開發的過程中,會出現例如:一些敏感數據、構建之後的 jar 包,不小心 git push 到 gitlab 或 github 中,這個時候並不是刪除了之後重新 push 上去就可以解決問題,其他人同樣可以通過

原创 記一次使用 Docker 指定 Spring Boot 配置引發的事件

場景:使用 Docker 運行一個由 Maven 工程構建的鏡像,包含多個 application.yml。 application.yml application-dev.yml application-docker-rele

原创 使用 Jenkins + GitLab 在遠程主機部署 Maven工程

搜索了很多關於 jenkins 遠程主機部署服務的帖子,發現寫的都非常的亂,有的雖然可以部署成功,但是成功之後回想一下如何部署的流程,顯得毫無頭緒。這就是這篇文章誕生的背景。 Jenkins 配置流程 安裝支持遠程服務的插件 配

原创 Java String equals() 方法源碼實現

有時候經常看到一些比如 == 和 equals() 的區別,這樣的問題,其實你只需要搞明白 equals() 的底層實現,這個問題絕對不難。 下面是關於 equals() 方法的源碼,首先 String 的 equals() 方法

原创 Java elasticsearch 基本使用

今天使用到,所以記錄了下來,可以搭配 kinaba 使用會更加方便,廢話少說。 以下示例是一個解析日誌的場景 添加依賴 <dependency> <groupId>org.elasticsearch.client</g

原创 Kubernetes jsonpath 的正確使用姿勢

寫在前面 廢話少說今天偶然使用到 jsonpath 感覺還是很好玩的,所以誕生了這篇文章。主要分爲兩部分,1 爲語法 2 爲示例。 關於 jsonpath 的語法 語法在這裏 https://kubernetes.io/docs/

原创 Golang 跨平臺編譯

例如:在 windows 環境編譯 linux 可以執行文件或者在 linux 環境編譯 windows 可執行文件 windows 環境編譯 linux 設置參數: export CGO_ENABLED=0 export GOO

原创 Kong/Nginx access log 自定義

自定義 Kong/Nginx access log 日誌 本文主要描述 Kong access log 如何自定義,因爲 kong 底層使用 nginx 實現的,所以定義同意的方法定義 nginx 是沒有任何問題的(已測試)。 s

原创 Golang 學習路線 - Part 22:Channels

這裏是 Golang 教程系列的第二十二部分。 在上一個教程中我們討論瞭如何使用 Goroutines 在 Go 實現併發。在本教程中我們將討論 channels 以及使用 channels 和 Goroutines 進行通信。