成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么你不必害怕 Kubernetes

云計算
當你在一千個 Linux 服務器上瘋狂地鍵入命令時,五分鐘的感覺就像是永恒。我知道站點可能會在任何時候崩潰,因為當它被劃分成更小的集群時,壓垮上千個節(jié)點的集群是那么的容易。

 在 90 年代末和 2000 年代初,在大型網(wǎng)站工作很有趣。我的經(jīng)歷讓我想起了 American Greetings Interactive,在情人節(jié)那天,我們擁有了互聯(lián)網(wǎng)上排名前 10 位之一的網(wǎng)站(以網(wǎng)絡訪問量衡量)。我們?yōu)?AmericanGreetings.com 、 BlueMountain.com 等公司提供了電子賀卡,并為 MSN 和 AOL 等合作伙伴提供了電子賀卡。該組織的老員工仍然深切地記得與 Hallmark 等其它電子賀卡網(wǎng)站進行大戰(zhàn)的史詩般的故事。順便說一句,我還為 Holly Hobbie、Care Bears 和 Strawberry Shortcake 運營過大型網(wǎng)站。

[[281366]]

我記得那就像是昨天發(fā)生的一樣,這是我們第一次遇到真正的問題。通常,我們的前門(路由器、防火墻和負載均衡器)有大約 200Mbps 的流量進入。但是,突然之間,Multi Router Traffic Grapher(MRTG)圖示突然在幾分鐘內(nèi)飆升至 2Gbps。我瘋了似地東奔西跑。我了解了我們的整個技術堆棧,從路由器、交換機、防火墻和負載平衡器,到 Linux/Apache web 服務器,到我們的 Python 堆棧(FastCGI 的元版本),以及網(wǎng)絡文件系統(tǒng)(NFS)服務器。我知道所有配置文件在哪里,我可以訪問所有管理界面,并且我是一位經(jīng)驗豐富的,打過硬仗的系統(tǒng)管理員,具有多年解決復雜問題的經(jīng)驗。

但是,我無法弄清楚發(fā)生了什么……

當你在一千個 Linux 服務器上瘋狂地鍵入命令時,五分鐘的感覺就像是永恒。我知道站點可能會在任何時候崩潰,因為當它被劃分成更小的集群時,壓垮上千個節(jié)點的集群是那么的容易。

我迅速跑到老板的辦公桌前,解釋了情況。他幾乎沒有從電子郵件中抬起頭來,這使我感到沮喪。他抬頭看了看,笑了笑,說道:“是的,市場營銷可能會開展廣告活動。有時會發(fā)生這種情況。”他告訴我在應用程序中設置一個特殊標志,以減輕 Akamai 的訪問量。我跑回我的辦公桌,在上千臺 web 服務器上設置了標志,幾分鐘后,站點恢復正常。災難也就被避免了。

我可以再分享 50 個類似的故事,但你腦海中可能會有一點好奇:“這種運維方式將走向何方?”

關鍵是,我們遇到了業(yè)務問題。當技術問題使你無法開展業(yè)務時,它們就變成了業(yè)務問題。換句話說,如果你的網(wǎng)站無法訪問,你就不能處理客戶交易。

那么,所有這些與 Kubernetes 有什么關系?一切!世界已經(jīng)改變。早在 90 年代末和 00 年代初,只有大型網(wǎng)站才出現(xiàn)大型的、 規(guī)模級(web-scale)的問題。現(xiàn)在,有了微服務和數(shù)字化轉(zhuǎn)型,每個企業(yè)都面臨著一個大型的、規(guī)模級的問題——可能是多個大型的、規(guī)模級的問題。

你的企業(yè)需要能夠通過許多不同的人構建的許多不同的、通常是復雜的服務來管理復雜的規(guī)模級的網(wǎng)站。你的網(wǎng)站需要動態(tài)地處理流量,并且它們必須是安全的。這些屬性需要在所有層(從基礎結構到應用程序?qū)?上由 API 驅(qū)動。

進入 Kubernetes

Kubernetes 并不復雜;你的業(yè)務問題才復雜。當你想在生產(chǎn)環(huán)境中運行應用程序時,要滿足性能(伸縮性、性能抖動等)和安全性要求,就需要最低程度的復雜性。諸如高可用性(HA)、容量要求(N+1、N+2、N+100)以及保證最終一致性的數(shù)據(jù)技術等就會成為必需。這些是每家進行數(shù)字化轉(zhuǎn)型的公司的生產(chǎn)要求,而不僅僅是 Google、Facebook 和 Twitter 這樣的大型網(wǎng)站。

在舊時代,我還在 American Greetings 任職時,每次我們加入一個新的服務,它看起來像這樣:所有這些都是由網(wǎng)站運營團隊來處理的,沒有一個是通過訂單系統(tǒng)轉(zhuǎn)移給其他團隊來處理的。這是在 DevOps 出現(xiàn)之前的 DevOps:

  1. 配置 DNS(通常是內(nèi)部服務層和面向公眾的外部)
  2. 配置負載均衡器(通常是內(nèi)部服務和面向公眾的)
  3. 配置對文件的共享訪問(大型 NFS 服務器、群集文件系統(tǒng)等)
  4. 配置集群軟件(數(shù)據(jù)庫、服務層等)
  5. 配置 web 服務器群集(可以是 10 或 50 個服務器)

大多數(shù)配置是通過配置管理自動完成的,但是配置仍然很復雜,因為每個系統(tǒng)和服務都有不同的配置文件,而且格式完全不同。我們研究了像 Augeas 這樣的工具來簡化它,但是我們認為使用轉(zhuǎn)換器來嘗試和標準化一堆不同的配置文件是一種反模式。

如今,借助 Kubernetes,啟動一項新服務本質(zhì)上看起來如下:

  • 配置 Kubernetes YAML/JSON。
  • 提交給 Kubernetes API(kubectl create -f service.yaml)。

Kubernetes 大大簡化了服務的啟動和管理。服務所有者(無論是系統(tǒng)管理員、開發(fā)人員還是架構師)都可以創(chuàng)建 Kubernetes 格式的 YAML/JSON 文件。使用 Kubernetes,每個系統(tǒng)和每個用戶都說相同的語言。所有用戶都可以在同一 Git 存儲庫中提交這些文件,從而啟用 GitOps。

而且,可以棄用和刪除服務。從歷史上看,刪除 DNS 條目、負載平衡器條目和 Web 服務器的配置等是非常可怕的,因為你幾乎肯定會破壞某些東西。使用 Kubernetes,所有內(nèi)容都處于命名空間下,因此可以通過單個命令刪除整個服務。盡管你仍然需要確保其它應用程序不使用它(微服務和函數(shù)即服務 [FaaS] 的缺點),但你可以更加確信:刪除服務不會破壞基礎架構環(huán)境。

構建、管理和使用 Kubernetes

太多的人專注于構建和管理 Kubernetes 而不是使用它(詳見 Kubernetes 是一輛翻斗車 )。

在單個節(jié)點上構建一個簡單的 Kubernetes 環(huán)境并不比安裝 LAMP 堆棧復雜得多,但是我們無休止地爭論著構建與購買的問題。不是 Kubernetes 很難;它以高可用性大規(guī)模運行應用程序。建立一個復雜的、高可用性的 Kubernetes 集群很困難,因為要建立如此規(guī)模的任何集群都是很困難的。它需要規(guī)劃和大量軟件。建造一輛簡單的翻斗車并不復雜,但是建造一輛可以運載 10 噸垃圾并能以 200 邁的速度穩(wěn)定行駛的卡車 則很復雜。

管理 Kubernetes 可能很復雜,因為管理大型的、規(guī)模級的集群可能很復雜。有時,管理此基礎架構很有意義;而有時不是。由于 Kubernetes 是一個社區(qū)驅(qū)動的開源項目,它使行業(yè)能夠以多種不同方式對其進行管理。供應商可以出售托管版本,而用戶可以根據(jù)需要自行決定對其進行管理。(但是你應該質(zhì)疑是否確實需要。)

使用 Kubernetes 是迄今為止運行大規(guī)模網(wǎng)站的最簡單方法。Kubernetes 正在普及運行一組大型、復雜的 Web 服務的能力——就像當年 Linux 在 Web 1.0 中所做的那樣。

由于時間和金錢是一個零和游戲,因此我建議將重點放在使用 Kubernetes 上。將你的時間和金錢花費在 掌握 Kubernetes 原語 或處理 活躍度和就緒性探針 的最佳方法上(表明大型、復雜的服務很難的另一個例子)。不要專注于構建和管理 Kubernetes。(在構建和管理上)許多供應商可以為你提供幫助。

結論

我記得對無數(shù)的問題進行了故障排除,比如我在這篇文章的開頭所描述的問題——當時 Linux 內(nèi)核中的 NFS、我們自產(chǎn)的 CFEngine、僅在某些 Web 服務器上出現(xiàn)的重定向問題等)。開發(fā)人員無法幫助我解決所有這些問題。實際上,除非開發(fā)人員具備高級系統(tǒng)管理員的技能,否則他們甚至不可能進入系統(tǒng)并作為第二雙眼睛提供幫助。沒有帶有圖形或“可觀察性”的控制臺——可觀察性在我和其他系統(tǒng)管理員的大腦中。如今,有了 Kubernetes、Prometheus、Grafana 等,一切都改變了。

關鍵是:

時代不一樣了。現(xiàn)在,所有 Web 應用程序都是大型的分布式系統(tǒng)。就像 AmericanGreetings.com 過去一樣復雜,現(xiàn)在每個網(wǎng)站都有擴展性和 HA 的要求。

運行大型的分布式系統(tǒng)是很困難的。絕對是。這是業(yè)務的需求,不是 Kubernetes 的問題。使用更簡單的編排系統(tǒng)并不是解決方案。

Kubernetes 絕對是滿足復雜 Web 應用程序需求的最簡單,最容易的方法。這是我們生活的時代,而 Kubernetes 擅長于此。你可以討論是否應該自己構建或管理 Kubernetes。有很多供應商可以幫助你構建和管理它,但是很難否認這是大規(guī)模運行復雜 Web 應用程序的最簡單方法。

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2020-06-05 14:09:42

Kubernetes容器應用程序

2018-04-10 13:40:14

Kubernetes容器服務器

2012-06-20 16:22:57

2020-12-04 14:19:08

KubernetesDocker容器

2020-06-19 14:55:11

Kubernetes容器技術

2021-01-26 14:33:56

人工智能機器人技術

2020-06-02 19:14:59

Kubernetes容器開發(fā)

2020-06-16 14:13:50

Kubernetes容器Linux

2018-03-13 09:34:36

Kubernetes容器系統(tǒng)

2021-03-16 08:35:14

Kubernetes Docker容器

2017-08-31 17:43:06

云端遷移云計算

2023-11-07 08:00:00

Kubernetes

2024-04-03 09:23:31

ES索引分析器

2019-01-15 17:50:18

存儲技術容器

2021-09-14 08:50:38

Kubernetes容器Docker

2021-06-04 05:21:19

KubernetesDocker容器

2016-08-19 01:59:22

APPAPM用戶

2013-10-29 11:13:45

蘋果微軟

2020-06-23 14:09:49

枚舉JDK場景

2018-05-23 00:20:29

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久男人天堂 | 成人深夜福利在线观看 | 麻豆av免费观看 | 国产日韩欧美二区 | 国产极品粉嫩美女呻吟在线看人 | 免费国产一区二区视频 | 国产三级一区二区 | 欧美精品一区二区三区在线 | 亚洲欧美日韩精品久久亚洲区 | 精品欧美乱码久久久久久1区2区 | 精品欧美乱码久久久久久 | 欧美一区二区三区视频 | 日韩久久中文字幕 | 精品一区二区电影 | 欧美久久电影 | 在线观看成人av | 国久久 | 精品国产不卡一区二区三区 | www.久久99| 亚洲精品视频一区二区三区 | 一区在线视频 | 日韩视频一区在线观看 | 成人av看片 | 欧美中文字幕一区二区三区 | 99热视| 日本aaaa| 在线观看亚洲精品视频 | 欧美日韩在线免费 | 精品在线观看一区二区 | 一级片视频免费 | 中文字幕免费中文 | 91久久国产| 日韩二三区 | 毛片久久久 | 亚洲欧美久久 | 中文字幕精品一区二区三区精品 | 日韩精品a在线观看图片 | 久久精品欧美一区二区三区麻豆 | 在线国产视频 | 色女人天堂 | 亚洲精品 在线播放 |