原创 win10利用WSL2安裝docker的2種方式
前言 windows10目前推出了WSL2,相對於WSL採用API轉換的方式, WSL2 則完全不同,win10 開始內置了一個輕量級虛擬機,經過不斷的優化,這個虛擬機實現了與 windows 的高度集成,實現了虛擬機的高性能運行,WSL
原创 win10利用WSL2安裝windows版kubernetes集羣
前言 Kubernetes成爲事實上的雲原生平臺,用於在分佈式環境中運行容器化服務和應用程序。儘管可以在在雲環境(公有云,私有云或混合雲)或裸機環境中部署Kubernetes,但有時仍然需要在本地部署和運行Kubernetes進行開發測
原创 kubernetes配置自定義域名記錄
問題背景 客戶業務pod運行在內網,無法訪問外網,對於一些應用,需要訪問企業微信,淘寶等外部api接口時,採用代理的方式,即配置pod要訪問的外部域名解析爲內部代理服務器的ip,如配置api.weixin.qq.com,
原创 python腳本,調用接口清理鏡像多餘tag
問題背景 某平臺鏡像倉庫,對上傳上來的鏡像tag,無法設置tag保留策略,如設置tag最多保留數目,導致開發人員流水線構建的鏡像push到鏡像倉庫的tag不停累積,鏡像倉庫存儲空間消耗很快。
原创 通過開源插件實現sonarqube區分不同分支顯示代碼掃描結果
問題: 開源版本sonarqube-server,同一個代碼倉庫,無法區分不同分支,從而實現按代碼的不同分支顯示對應分支的掃描結果。 如上圖,所有分支的掃描結果,全部顯示爲master,而pipeline在che
原创 NetworkManager組件導致的flannel網絡異常排查
問題背景: 線上測試環境,發現一個node節點的pod到其他節點的pod網絡均不通,檢查發現改節點flannel網絡異常(k8s使用的爲flannel網絡插件)。繼續排查該節點,發現根本原因爲系統特定版本的NetworkMan
原创 帶證書擴展etcd集羣節點
背景 一個7節點的k8s集羣,一個master節點的磁盤異常,導致該節點的etcd經常寫入卡死,進而拖垮etcd集羣,因此考慮將該節點的etcd遷移走。 如上圖,tstr501384節點磁盤異常,考慮將上面的etcd遷移到t
原创 ingress-nginx-controller 414 Request—URI Too Large
問題 線上某平臺,通過Jenkins的API查詢流水線的執行歷史記錄時,報錯414. 排查 1.jenkins的訪問,使用的爲ingress的訪問方式,414的返回碼,可能是jenkins本身返回,
原创 ingress-nginx-controller 504 gateway time-out 問題
問題背景: 某應用的後臺,通過後面界面上傳一個excel文件時,上傳到半截是,後面界面顯示 504 gateway time-out錯誤。 問題調查: 經瞭解,後臺應用界面爲使用
原创 nginx ingress controller配置默認SSL證書
故障現象 線上某kubernetes集羣環境,使用nginx-ingress-controller暴露了一個service,爲一個API服務,其中在ingress對象中使用了TLS證書,使用瀏覽器輸入ingress對應的域名訪問這個API
原创 kubernetes pod內抓包,telnet檢查網絡連接的幾種方式
背景 在日常kubernetes的運維中,經常遇到pod的網絡問題,如pod間網絡不通,或者端口不通,更復雜的,需要在容器裏面抓包分析才能定位。而kubertnets的場景,pod使用的鏡像一般都是儘量精簡,很多都是基於alpine基礎鏡
原创 ansible取出主機register變量中最長字符串
背景 在用ansible撰寫一個etcd恢復的playbook時,有一個操作是獲取etcd啓動時的"initial-cluster"啓動參數,該參數在etcd集羣不同節點不一致,需要取出etcd節點啓動參數中最長的作爲etcdctl
原创 kubernetes flannel pod CrashLoopBackoff解決
背景 某環境客戶部署了一個kubernetes集羣,發現flannel的pod一直重啓,始終處於CrashLoopBackOff狀態。 排查 對於始終CrashLoopBackOff的pod,一般是應用本身的問題,需要查看具體po
原创 kube-controller-manager反覆重啓解決
背景 某環境,kube-controller-manager反覆重啓,嘗試重建kube-controller-manager的pod,但是過一會問題復現。 如上圖,kube-controller-manager反覆重啓了200
原创 強制刪除kubernetes的ns
問題背景 部署istio測試環境,想重新部署istio-operator,在清理殘留資源時,在使用 kubectl delete ns istio-operator --grace-period=0 --force刪除i