国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

K8s:Kubernetes 故障排除方法論

這篇具有很好參考價值的文章主要介紹了K8s:Kubernetes 故障排除方法論。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

寫在前面


  • 博文內(nèi)容為節(jié)譯整理
  • 文中提到的工具大部分是商業(yè)軟件,不是開源的,作為了解
  • 理解不足小伙伴幫忙指正

對每個人而言,真正的職責(zé)只有一個:找到自我。然后在心中堅守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是對大眾理想的懦弱回歸,是隨波逐流,是對內(nèi)心的恐懼 ——赫爾曼·黑塞《德米安》


Kubernetes 故障排除方法論?

Kubernetes 故障排除是識別、診斷和解決 Kubernetes 集群、節(jié)點、Pod 或容器中問題的過程。

更廣泛地說,Kubernetes 故障排除還包括有效的持續(xù)故障管理,并采取措施防止 Kubernetes 組件出現(xiàn)問題。

Kubernetes 故障排除的三大支柱,在 Kubernetes 集群中進(jìn)行有效的故障排除有三個方面:

  • 了解問題
  • 管理和修復(fù)問題
  • 防止問題再次發(fā)生

了解問題

在 Kubernetes 環(huán)境中,很難理解發(fā)生了什么并確定問題的根本原因。這通常涉及:

  • 查看最近對受影響的集群、Pod 或節(jié)點所做的更改,以查看導(dǎo)致故障的原因。
  • 分析運行故障組件的虛擬機或裸機的 YAML 配置、GitHub 存儲庫和日志。
  • 查看 Kubernetes 事件和指標(biāo),如磁盤壓力、內(nèi)存壓力和利用率。在成熟的環(huán)境中,您應(yīng)該有權(quán)訪問儀表板,這些儀表板顯示一段時間內(nèi)集群、節(jié)點、Pod 和容器的重要指標(biāo)。
  • 比較行為相同的類似組件,并分析組件之間的依賴關(guān)系,以查看它們是否與故障相關(guān)。

為了實現(xiàn)上述目標(biāo),團(tuán)隊通常使用以下技術(shù):

  • 監(jiān)控工具:Datadog,Dynatrace,Grafana,New Relic
  • 可觀測性工具:Lightstep, Honeycomb
  • 實時調(diào)試工具:OzCode,Rookout
  • 日志記錄工具:Splunk,LogDNA,Logz.io

管理和修復(fù)問題

在微服務(wù)體系結(jié)構(gòu)中,通常每個組件都由單獨的團(tuán)隊開發(fā)和管理。由于生產(chǎn)事件通常涉及多個組件,因此協(xié)作對于快速修復(fù)問題至關(guān)重要。

了解問題后,有三種方法可以修復(fù)它:

  • 臨時解決方案 : 基于處理受影響組件的團(tuán)隊的部落知識。通常,構(gòu)建組件的工程師對如何調(diào)試和解決它有不成文的知識。
  • 手動運行手冊 : 一個清晰的、記錄在案的過程,顯示如何解決每種類型的事件。擁有運行手冊意味著團(tuán)隊的每個成員都可以快速解決問題。
  • 自動化運行手冊: 一種自動化過程,可以作為腳本、基礎(chǔ)結(jié)構(gòu)即代碼 (IaC) 模板或 Kubernetes 運算符實現(xiàn),并在檢測到問題時自動觸發(fā)。自動響應(yīng)所有常見事件可能具有挑戰(zhàn)性,但它可能非常有益,可以減少停機時間并消除人為錯誤。

為了實現(xiàn)上述目標(biāo),團(tuán)隊通常使用以下技術(shù):

  • 事件管理:PagerDuty, Kintaba
  • 項目管理:Jira, Monday, Trello
  • 基礎(chǔ)設(shè)施即代碼:Amazon CloudFormation、Terraform

預(yù)防

成功的團(tuán)隊將預(yù)防作為重中之重。隨著時間的推移,這將減少用于識別和解決新問題的時間。防止 Kubernetes 中的生產(chǎn)問題涉及:

  • 在每次事件發(fā)生后創(chuàng)建策略、規(guī)則和行動手冊,以確保有效補救
  • 調(diào)查是否可以自動響應(yīng)問題,以及如何自動執(zhí)行
  • 定義如何在下次快速識別問題并提供相關(guān)數(shù)據(jù) - 例如通過檢測相關(guān)組件
  • 確保將問題上報給適當(dāng)?shù)膱F(tuán)隊,并且這些團(tuán)隊可以有效地溝通以解決問題

為了實現(xiàn)上述目標(biāo),團(tuán)隊通常使用以下技術(shù):

  • 混沌工程:Gremlin, Chaos Monkey, ChaosIQ.

Gremlin 是一個混沌工程平臺,它提供了多種故障注入工具,包括網(wǎng)絡(luò)故障、主機故障、應(yīng)用程序故障等,可以幫助用戶測試系統(tǒng)的彈性和可靠性。

Chaos Monkey 是 Netflix 公司開發(fā)的一個混沌工程工具,它可以在生產(chǎn)環(huán)境中隨機關(guān)閉實例來測試系統(tǒng)的可靠性和彈性。

ChaosIQ 是一個混沌工程平臺,它提供了多種故障注入工具,包括網(wǎng)絡(luò)故障、主機故障、應(yīng)用程序故障等,可以幫助用戶測試系統(tǒng)的彈性和可靠性。它還提供了可視化儀表板和報告,幫助用戶分析測試結(jié)果和改進(jìn)系統(tǒng)。

  • 自動修復(fù):Shoreline, OpsGenie.

集群故障排除

獲取集群信息

要在集群中進(jìn)行調(diào)試,請確保所有節(jié)點都已正確注冊。

┌──[root@vms100.liruilongs.github.io]-[~]
└─$kubectl get nodes
NAME                          STATUS   ROLES           AGE    VERSION
vms100.liruilongs.github.io   Ready    control-plane   141d   v1.25.1
vms101.liruilongs.github.io   Ready    control-plane   141d   v1.25.1
vms102.liruilongs.github.io   Ready    control-plane   141d   v1.25.1
vms103.liruilongs.github.io   Ready    <none>          141d   v1.25.1
vms105.liruilongs.github.io   Ready    <none>          141d   v1.25.1
vms106.liruilongs.github.io   Ready    <none>          141d   v1.25.1
┌──[root@vms100.liruilongs.github.io]-[~]
└─$
使用dump進(jìn)行故障排除

獲取集群信息:

┌──[root@vms100.liruilongs.github.io]-[~]
└─$kubectl cluster-info
Kubernetes control plane is running at https://192.168.26.99:30033
CoreDNS is running at https://192.168.26.99:30033/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

使用 grep 對關(guān)鍵字進(jìn)行過濾,排查問題

┌──[root@vms100.liruilongs.github.io]-[~]
└─$kubectl cluster-info dump
獲取群集組件的運行狀況

v1.19+之后可能要被廢棄

┌──[root@vms100.liruilongs.github.io]-[~]
└─$kubectl get componentstatuses
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS    MESSAGE                         ERROR
scheduler            Healthy   ok
etcd-0               Healthy   {"health":"true","reason":""}
controller-manager   Healthy   ok
┌──[root@vms100.liruilongs.github.io]-[~]
└─$

集群日志記錄查找

獲取日志的最后五行:

┌──[root@vms100.liruilongs.github.io]-[~]
└─$kubectl logs argocd-application-controller-0 --tail=5
time="2023-06-16T20:26:58Z" level=warning msg="Failed to save clusters info: dial tcp 10.96.153.48:6379: connect: connection refused"
time="2023-06-16T20:27:08Z" level=warning msg="Failed to save clusters info: dial tcp 10.96.153.48:6379: connect: connection refused"
time="2023-06-16T20:27:18Z" level=warning msg="Failed to save clusters info: dial tcp 10.96.153.48:6379: connect: connection refused"
time="2023-06-16T20:27:28Z" level=warning msg="Failed to save clusters info: dial tcp 10.96.153.48:6379: connect: connection refused"
time="2023-06-16T20:27:38Z" level=warning msg="Failed to save clusters info: dial tcp 10.96.153.48:6379: connect: connection refused"
┌──[root@vms100.liruilongs.github.io]-[~]
└─$

獲取特定于時間的信息

┌──[root@vms100.liruilongs.github.io]-[~]
└─$kubectl logs  argocd-application-controller-0 --since=20s
time="2023-06-16T20:29:16Z" level=error msg="Failed to cache app resources: error setting app resource tree: dial tcp 10.96.153.48:6379: connect: connection refused" application=argocd/guestbook dedup_ms=0 diff_ms=1 git_ms=15114 health_ms=0 live_ms=0 settings_ms=0 sync_ms=0
time="2023-06-16T20:29:16Z" level=info msg="No status changes. Skipping patch" application=argocd/guestbook
time="2023-06-16T20:29:16Z" level=info msg="Reconciliation completed" application=argocd/guestbook dedup_ms=0 dest-name= dest-namespace=default dest-server="https://kubernetes.default.svc" diff_ms=1 fields.level=0 git_ms=15114 health_ms=0 live_ms=0 settings_ms=0 sync_ms=0 time_ms=15289
time="2023-06-16T20:29:18Z" level=warning msg="Failed to save clusters info: dial tcp 10.96.153.48:6379: connect: connection refused"
time="2023-06-16T20:29:28Z" level=warning msg="Failed to save clusters info: dial tcp 10.96.153.48:6379: connect: connection refused"
┌──[root@vms100.liruilongs.github.io]-[~]
└─$

博文部分內(nèi)容參考

? 文中涉及參考鏈接內(nèi)容版權(quán)歸原作者所有,如有侵權(quán)請告知


https://medium.com/@sudheer.barakers/kubernetes-troubleshooting-3bc4c3a3cb9a


? 2018-2023 liruilonger@gmail.com, All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)文章來源地址http://www.zghlxwxcb.cn/news/detail-618734.html

到了這里,關(guān)于K8s:Kubernetes 故障排除方法論的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 搜索方法論

    搜索方法論

    搜索技巧: 1. “”:不拆分。當(dāng)我們查找的內(nèi)容為一個詞組或者多個漢字,那么我們用雙引號把他們括起來再進(jìn)行查找,此時搜索到的結(jié)果最少也最精確。 2. -干擾詞(中間有個空格) 3. +確定詞(中間有個空格) ?4. filetype:文件格式 效果就是尋

    2024年02月12日
    瀏覽(28)
  • 數(shù)倉建模方法論

    1.數(shù)倉建模的理由 數(shù)據(jù)建模的主要目的是降低成本,提高數(shù)據(jù)的利用效率。尤其是大數(shù)據(jù)時代的到來,數(shù)據(jù)的多樣化,巨量,更需要有效的有針對性數(shù)據(jù)建模方法。 大數(shù)據(jù)的數(shù)倉建模正是通過建模的方法,更好的組織、存儲數(shù)據(jù),以便在性能、成本、效率和數(shù)據(jù)質(zhì)量之間找到

    2024年02月05日
    瀏覽(31)
  • OneData方法論-概述

    OneData方法論-概述

    OneData概述 OneData是阿里巴巴數(shù)據(jù)整合及管理體系,其方法論的核心在于:從業(yè)務(wù)架構(gòu)設(shè)計到模型設(shè)計,從數(shù)據(jù)研發(fā)到數(shù)據(jù)服務(wù),做到數(shù)據(jù)可管理 、可追溯、可規(guī)避重復(fù)建設(shè)。即數(shù)據(jù)只建設(shè)一次。 OneData體系架構(gòu) Onedata方法論分為三個階段:業(yè)務(wù)板塊、規(guī)范定義、模型設(shè)計。 業(yè)

    2024年02月05日
    瀏覽(28)
  • SQL-方法論

    寫SQL時可以考慮的手段: 行轉(zhuǎn)列 先分為多個臨時表,然后JOIN到一起 用sum(if()) 列轉(zhuǎn)行 先分為多個臨時表,然后UNION到一起

    2024年02月14日
    瀏覽(31)
  • 滲透測試方法論

    滲透測試方法論

    攻擊與防御,攻擊典型代表就是黑客入侵,非法的和滲透測試,合法的等工作。防御的典型代表等級保護(hù)、安全基線檢查與加固、安全設(shè)備等。 滲透測試(penetration testing,pentest)是模擬黑客攻擊,實施安全評估(即審計)的具體手段。方法論是在制定、實施信息安全審計方案時

    2024年02月11日
    瀏覽(48)
  • 性能分析方法論簡介

    性能分析方法論簡介

    限于作者能力水平,本文可能存在謬誤,因此而給讀者帶來的損失,作者不做任何承諾。 通常,我們是通過理論指導(dǎo)實踐,而實踐又反哺完善理論,二者缺一不可。 總的來說,性能優(yōu)化是 從 時間 和 空間 兩方面做出優(yōu)化 ,然后取得一個可接受的平衡點。記住,無論怎么優(yōu)

    2023年04月19日
    瀏覽(41)
  • 論文閱讀與管理方法論

    構(gòu)建知識體系 通過Related Works快速了解該方向研究現(xiàn)狀,追蹤經(jīng)典論文。 緊跟前沿技術(shù) 了解領(lǐng)域內(nèi)新技術(shù)及效果,快速借鑒到自身項目。 培養(yǎng)科研邏輯 熟悉論文體系,了解如何快速創(chuàng)造新事物,培養(yǎng)良好的科研習(xí)慣。 寫論文 面試找工作 快速熟悉某領(lǐng)域 發(fā)展歷程 、 現(xiàn)狀及

    2024年02月15日
    瀏覽(58)
  • SOA認(rèn)知和方法論

    在軟件設(shè)計領(lǐng)域,企業(yè)架構(gòu)通常被劃分為如下五種分類: 如何理解架構(gòu)分類依據(jù)及其彼此之間的關(guān)系?業(yè)務(wù)是企業(yè)賴以生存之本,因此業(yè)務(wù)架構(gòu)是基礎(chǔ)、是靈魂,其他一切均是對業(yè)務(wù)架構(gòu)的支撐;根據(jù)業(yè)務(wù)架構(gòu)形成與之相應(yīng)的產(chǎn)品架構(gòu)和數(shù)據(jù)架構(gòu);最后通過技術(shù)架構(gòu)落地實施

    2024年02月08日
    瀏覽(36)
  • MySQL的性能優(yōu)化方法論

    作者:禪與計算機程序設(shè)計藝術(shù) MySQL是一個開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB開發(fā)并發(fā)布。它的目的是為了快速、可靠地處理復(fù)雜的事務(wù)處理,支持多種編程語言,包括C、C++、Java、PHP、Python等。它是一個高效、可伸縮的數(shù)據(jù)庫服務(wù)器,在Web應(yīng)用方面也經(jīng)常被應(yīng)用到

    2024年02月06日
    瀏覽(25)
  • SRE方法論之擁抱風(fēng)險

    系統(tǒng)不可能100%可靠,人都不可能100%健康,更何況我們?nèi)祟悇?chuàng)造的系統(tǒng)?所以,任何軟件系統(tǒng)都不應(yīng)該一味地追求 100%可靠。事實證明,可靠性超過一定值后,再提高可靠性對于一項服務(wù)來說,結(jié)果可能會更差而不是更好!極端的可靠性會帶來成本的大幅提升:比如過分追求穩(wěn)

    2024年02月05日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包