自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

管理20+Kubernetes集群、400臺機器,秘訣在于?

云計算
我在生產(chǎn)中管理大規(guī)模Kubernetes集群已經(jīng)三年有余,日復(fù)一日的事實證明,我的方法是行之有效的。本文中將和大家分享關(guān)于kubectl終端設(shè)置的極簡主義法。

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)

我在生產(chǎn)中管理大規(guī)模Kubernetes集群已經(jīng)三年有余,日復(fù)一日的事實證明,我的方法是行之有效的。本文中將和大家分享關(guān)于kubectl終端設(shè)置的極簡主義法。

一個精心定制的命令行終端可以顯著提高生產(chǎn)率,這是所有奇跡發(fā)生的核心。但是我認(rèn)為,與流行的命令行定制和功能豐富的升級相比,在安裝任何一種新的二進(jìn)制文件、包裝器或修改程序時,簡單的設(shè)置是非常省時省力的。特別是使用kubectl時,這種本機工具設(shè)計完善、幾乎沒有需要解決的問題。

下面是我對kubectl終端添加的四個簡單功能。在這種設(shè)置下,我每天可以管理20多個大型Kubernetes集群,其中還包括400多臺機器。

[[348572]]

使用‘kubetail’在多個Pod實例中查看日志文件

使用kubectl 時首先會注意到的一件事就是,難以跨多個實例查看日志文件。這是最常見的用例之一,但kubectl中并沒有 。如果在kubectl 上查看單個pod的日志,它看起來就像這樣:

  1. kubectl logs -f <POD_NAME> -n <NAMESPACE> 

在kubetail上,若要查看多個pods的日志,那么可以使用:

  1. 圖源:unsplashkubetail<POD_NAME_REGEX> -n <NAMESPACE> 

這將查看名稱與正則表達(dá)式相匹配的所有pods日志文件。由于日志記錄跨多個pods,因此kubetail會使用不同的顏色來幫助區(qū)分和分析不同的日志文件。

圖源:Komal Venkatesh Ganesan

kubetail是位于kubectl頂端的一個簡單包裝器,它可以實現(xiàn)上述功能。

動態(tài)更改默認(rèn)命名空間

多次重復(fù)地為每個單獨的kubectl操作提供命名空間指示,會耗費大量時間精力,而且效率低下。要解決這個問題就需要一種動態(tài)設(shè)置和更改默認(rèn)命名空間的方法。

下面是我編寫的一個名為ksn的簡單別名函數(shù),它實現(xiàn)了上述目的(ksn表示設(shè)置命名空間)。

圖源:Komal Venkatesh Ganesan

圖源:Komal Venkatesh Ganesan

通常,根據(jù)手頭的任務(wù),我們的工作涵蓋大量命名空間。因此,如果我排查了一個kafka問題,那么10個命令中有8個會被發(fā)送到Kafka命名空間。在此期間,它將成為默認(rèn)命名空間。這可以節(jié)省大量的時間,特別是在處理需要發(fā)布大量kubectl指令的復(fù)雜工作任務(wù)時。

在Shell命令提示符中顯示“kube-context”和“namespace”

在發(fā)出kubectl命令時,必須時刻了解當(dāng)前的 kube-context 和 namespace。同時在20個不同的kube-contexts和50個左右的命名空間中管理集群,這并不是一件容易的事。很容易在環(huán)境中發(fā)出錯誤的命令,尤其是在跨不同上下文和集群中執(zhí)行多任務(wù)時。

為了解決這個問題,在終端提示附近隨時顯示活動的 namespace和kube-contexts是非常有用的。

在下述例子中,kube-context是dev2–1,命名空間是 test。有了這些信息,當(dāng)在集群中執(zhí)行命令時,就可以簡單地查看它。

圖源:Komal Venkatesh Ganesan

基本‘kubectl’別名

無需多言,別名是自定義和加速終端工作的最快方法。下面是我常用的一些kubectl別名,我已經(jīng)非常習(xí)慣使用它們了。

  1. alias k='kubectl ' 
  2. alias kcc='kubectl config current-context' 
  3. alias kdp='kubectl delete po' 
  4. alias kgc='kubectl config get-contexts' 
  5. alias kge='kubectl get events --sort-by='\''{.lastTimestamp}'\' 
  6. alias kgp='kubectl get po' 
  7. alias kl='kubectl logs ' 
  8. alias kpf='kubectl port-forward' 
  9. alias ksc='kubectl config use-context' 

少即是多——不要過度使用終端

我們?yōu)閗ubectl用戶介紹了四種基本的終端定制:

  • 使用kubetail查看多個pod實例的日志文件。
  • 動態(tài)更改默認(rèn) namespace以顯著縮短kubectl指令。
  • 在命令提示符附近顯示kube-context和namespace,避免意外錯誤。
  • 重要的kubectl別名列表。

與這種極簡設(shè)置形成對比的是,流行的終端升級(比如K9s)往往是復(fù)雜、功能豐富、色彩多樣的,但相反,它的速度緩慢、容易令人分心,而且并不是必需的。添加的(各種花里胡哨的)功能越多,花在理解和瀏覽屏幕上所有額外信息上的時間就越多。

[[348573]]

圖源:unsplash

一個簡潔的終端設(shè)置,比任何東西都更能增強你的注意力。擁有一個簡單的命令行終端設(shè)置可以讓你快速熟練地使用本地二進(jìn)制文件和工具,這是至關(guān)重要的——尤其是需要使用大量基礎(chǔ)架構(gòu)、登錄和退出不同的VM shell配置文件時。

對于一個工程師來講,終端設(shè)置應(yīng)有助于豐富經(jīng)驗,而不是讓你無所適從。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2020-04-21 08:24:09

IO機器代碼

2017-06-08 13:31:40

NetflixEureka服務(wù)器

2022-11-02 07:27:06

Java版本管理

2020-07-08 08:03:37

KubernetesLens集群

2019-12-10 09:42:57

OOM運維內(nèi)存

2011-08-04 14:07:43

2018-03-19 08:22:40

Kubernetes秘訣容器

2010-11-22 09:29:31

宕機檢測分布式

2022-01-17 11:05:11

CFSSLKubernetesLinux

2022-05-24 09:00:00

云計算Kubernetes安全

2021-02-07 08:00:00

Kubernetes集群云原生

2009-09-22 18:26:14

運行多個JBoss

2018-09-27 10:47:45

機房計算機DNS

2018-04-13 09:21:07

高可用Redis架構(gòu)

2011-05-16 10:58:06

MySQL服務(wù)器

2022-08-09 09:10:43

Kubernetes容器

2021-11-22 16:21:28

Kubernetes 運維開源

2019-08-23 13:10:39

美團點評Kubernetes集群管理

2014-12-24 09:35:29

Docker集群管理kubernetes

2020-12-08 09:10:49

僵尸網(wǎng)絡(luò)DDOS攻擊
點贊
收藏

51CTO技術(shù)棧公眾號