博客 / 列表

it排球君 - envoy使用consul做服務發現

前言 上一篇內容,我們詳細討論了怎麼使用envoy做負載均衡,並且記錄詳細的地址,其中還解決了一個問題,那就是怎麼讓envoy獲取真實後端pod ip地址,後面使用headless service,既使用了service的服務發現能力,又不使用service的負載均衡能力 如果在某些特殊的場景下完全放棄的k8s service(比如混合雲部署機房,兩邊雲都需要有相同的服務,但是服務之間不能跨雲訪問

微服務

it排球君 - 追蹤鏈路--使用envoy來記錄後端pod真實ip

前言 之前使用了iptables、ipvs,在數據包的必經之路(POSTROUTING)上攔截並且記錄日誌,本文使用一個比較成熟的組件envoy來記錄後端pod的真實ip 環境準備 環境準備如同之前 ▶ kubectl get pod -owide NAME READY STATUS RESTARTS AGE IP

微服務

it排球君 - 追蹤鏈路--使用iptables/ipvs來記錄後端pod真實ip

前言 之前使用nginx-ingress-controller來記錄後端真實ip,但是有位老哥説了,我沒有用nginx-ingress-controller,而是用的原生nginx,這時候又當如何記錄後端真實ip的問題呢 環境準備 nginx: upstream backend_ups { server backend-service:10000; } server { list

微服務

it排球君 - 鏈路追蹤--使用nginx-ingress-controller記錄後端pod真實ip

前言 常見的nginx做反向代理架構,nginx轉發到後端的多台服務 ┌─────────┐ │backend-1│ └─────────┘ ┌─────────┐ ┌─────┐ │backend-2│ │nginx│ ────► └─

微服務

it排球君 - 6年前的項目終於更新了--機房ping監控全國主要城市

前言 當初項目的本意是為了監測中心機房到全國各地(主要是省會與重要城市)的ping速率而創建,目標ip地址是根據某個ip網站爬取,而現在該網站已經下線了,導致目標ip無法獲取,再加上所用組件版本已經年久失修,最後是本人懶惰~~,導致項目已經不可用很久了 今年勤奮戰勝懶惰,又重新佔領高地,想着把該項目重修修繕一遍 開始修繕 更換ip庫:放棄了之前的網站,重新找了一份ip地址庫,並且會定期更新

監控

it排球君 - opentelemetry全鏈路初探--日誌跳轉trace

前言 上一小節描述了metrics、traces,本小節來把log也加進去,並且做一個traces與log的聯動 當查看日誌的時候,可以同時跳轉到對應的jaeger,查看分段trace情況 應用服務 本次要測試的應用服務架構為 a.py--b.py 業務服務會往對應的目錄打印日誌,並且日誌包含了trace_id a.py import tornado.httpserver as h

監控

it排球君 - opentelemetry全鏈路初探--jaeger架構拆分

前言 jaeger的架構演變 在之前的描述中,一直使用jaeger:all-in-one來做數據存儲與展示,jaeger:all-in-one就是將collector、query、ui、storage等等功能的大雜燴,在調試與測試環境中,非常方便,但是在生產環境肯定是不能這樣用,本節就來 將其拆分成對應的子模塊 jaeger架構改造 數據上報:可以是sdk、api、定時腳本等一切上報trace

監控

it排球君 - opentelemetry全鏈路初探--python注入

前言 經過上一節,opentelemetry的基本操作都已經融會貫通,但是有位老哥提出疑問?我的代碼都已經寫完了,為了添加全鏈路,還需要重構之前的代碼嗎?那這個代價太大了。那本章就來討論一下opentelemetry的注入的問題 本小節主要關注python注入 使用裝飾器 使用裝飾器的好處就是非常靈活,並且對代碼入侵很小,只需要裝飾一下即可 decoration-s1.py import torn

監控

it排球君 - opentelemetry全鏈路初探--埋點與jaeger

前言 某天一位業務研發老哥跑來諮詢 研發老哥:我的服務出現了504,但是不太清楚是哪個環節報錯,每次請求需要訪問4個微服務、2個數據庫、1個redis、1個消息隊列。。。 苦逼運維:停停停,不要再説了,目前不支持鏈路追蹤,只能手動幫你一個服務一個服務的排查了 先請老哥大概描述了一下業務邏輯以及訪問方式,10分鐘過去了。再逐級排查每個服務以及對應訪問的資源層,終於在半小時之後完成了故障定位。

監控

it排球君 - 抽絲剝繭--從零開始建設k8s監控之水平拆分(五)

前言 書接上文,經過之前的不懈努力,我們已經有了較為完善的監控系統與告警系統,而prometheus的工作模式就像一個單點,拉取數據回來之後存儲在自己的磁盤上 當監控數據越來越多,那prometheus單點的壓力就會變大,那本文就來討論一下如何降低單點prometheus的壓力 環境準備 組件 版本 操作系統 Ubuntu 22.04.4 L

容器 , devops

it排球君 - 深入淺出--從零開始建設k8s監控之thanos(六)

前言 書接上文,目前環境已經做好了水平拆分,是這個樣子的 本文使用thanos對這些prometheus進行數據匯聚,並且詳細討論一下thanos 環境準備 組件 版本 操作系統 Ubuntu 22.04.4 LTS docker 24.0.7 thanos 0.36.1 than

容器 , devops

it排球君 - 返璞歸真--從零開始建設k8s監控之thanos-sidecar(七)

前言 本文詳細討論一下thanos-sidecar 環境準備 組件 版本 操作系統 Ubuntu 22.04.4 LTS docker 24.0.7 thanos 0.36.1 thanos概述 thanos主要有4個組件 receive:獨立部署,提供了數據寫入的api,pro

容器 , devops

it排球君 - 重劍無鋒--從零開始建設k8s監控之總結(八)

前言 在前文中,prometheus基本的用法都簡單的描述一遍,最後本文來討論一下prometheus高可用的問題 環境準備 組件 版本 操作系統 Ubuntu 22.04.4 LTS docker 24.0.7 thanos 0.36.1 1. 雙prometheus架構 2

容器 , devops