了解最新公司動態及行業資訊
這是我參加11月更新挑戰賽的第21天,活動詳情請查看:2021年最后更新挑戰賽”
目錄內容: 1.開發經驗 2.知識圖譜 3.組件說明
本節目標:要求能夠畫出bolg系統和系統的架構圖,了解架構中各部分的作用。
一、開發經歷
對于云計算,他會有一些發展標準
1. 作為:IAAS 的簡稱,基礎設施和服務。 典型的國內廠商是阿里云。 最大的國際制造商是AWS。
2. as a:簡稱PaaS,平臺和服務。
3.as a:簡稱SSAS,軟件設施和服務。
例如:我想使用套件。 我不需要像以前那樣安裝它。 安裝需要1小時。 我只需要通過b/s結構,也就是瀏覽器訪問他的網頁即可。 完成的文件創建和修改
下面詳細談談PaaS、平臺和服務。
新浪有個老平臺SAA。 過去,用戶可以免費申請這樣的平臺,運行java、php等代碼項目。
例如:有一個用戶申請了一個SAA服務平臺。 然后新浪運維在后臺看到這個命令,開始部署環境。 這時候運維難度很大。 來個清單,部署一套環境。
后來出現了一些自動化部署運維工具,自動化部署所謂的環境創建,可能是java環境,也可能是php環境。 直到后來,一家股份公司開發了它。 這家公司主要是做PaaS平臺的,在他們公司的主要崗位就是自動搭建這些環境的包。 它已經成為下一代PaaS的標準。 也會帶來一些問題。
傳統業務中,多個數據庫運行在一臺物理機上,形成一個大集群。 這個沒有問題,但是一旦容器化了,就會有問題。
假設:有6臺物理機,讓這6臺物理機組成一個集群。 比如nginx一套,3套,mysql 2套。 他們之間的訪問方式是ip+端口號,他們是相連的。
但是在使用了容器之后,我們發現他們之間的映射關系就比較難了。 比如在電腦上安裝nginx。 首先我們需要將nginx的端口號映射到物理機上。 我們需要將 8080 映射到主機的 8080。 mysql也是如此。 而且一臺服務器不可能只安裝一個,還會有很多其他的應用,每臺機器都會映射很多端口。 這樣越來越多,太復雜了,太亂了。 所以一個新產品。 該產品稱為資源管理器。
那么資源管理器要經過什么流程呢?
1. Mesos:mesos是加州大學伯克利分校開發的開源分布式管理框架。 2019年5月放棄mesos,全部改為k8s。
2. swarm:設置母公司誕生的資源管理器。 與swarm形成了系統功能。 這個東西很輕量,只消耗幾十M的資源。 對于集群管理來說,耗費幾十M,很小,一般幾十G,這么好,為什么不用呢? 根本原因是swarm相比k8s功能太少了。 比如我要實現滾動更新和返回等操作。 在swarm中實現起來非常困難。 我們需要手動定義這個過程,太費時了。 2019年7月,阿里云宣布淘汰swarm
3. : ,容器化基礎設施管理已經進行了10年。 該系統的名稱是borg(伯格系統)。 流行起來,市場開始研究資源管理器。 這是站起來說話。 他讓他的內部工程師用go語言重寫了borg系統。 現在是k8s。 它已成為當前的標準。
專業:
1、輕量級:Go語言開發,運行效率高,資源消耗少。
2、開源:能夠推廣的主要原因
3、彈性擴容:公司運營幾年后上市,資源不夠用服務器運維,所以從5--->升級到10。我們也可以把一些節點調度從節點分離出來,用原來的8臺減少到5臺服務器運維,可以釋放資源,減少資金消耗
4.負載均衡:已經實現了模塊之間的負載均衡,我們不需要使用調度器來實現。 它是由這臺機器完成的。 并且采用了最新版本的負載均衡框架IPVS。 IPVS是我國研發出來的,是中國公司的驕傲,也是負載均衡行業的佼佼者,no1。
2.知識圖譜
了解一下,有哪些知識點
3. 組件描述 本節目標:要求能夠畫出bolg系統和系統的架構圖,并了解架構中各部分的作用。
borg系統的前身。 那么,我們先來看看borg系統的架構
3.1 Borg系統的系統架構 1. 首先大家可以看到主要有兩大塊:和。 2. 三種訪問方式
里面也會有這三種調度管理方法。
請求通過三種方式到達系統后,將請求分發分發給不同的各方進行處理。 比如有工作來了,想把工作分給不同的,那么怎么分呢? 有一個調度程序。
調度程序決定將任務分配給哪個。 這里調度并不是直接分配工作,而是將任務寫入數據庫Paxos中進行持久化存儲。 Paxos 是 的鍵值對數據庫。 它會監控Paxos數據庫,看看有沒有任務過來。 如果它來了,那就吃掉它。
以上就是borg系統的架構,和borg系統差不多。 讓我們看看架構
3.2 架構
這是k8s的架構圖。 主要分為兩部分:服務端包含中間三個綠色包。 節點節點在下面。
etcd:鍵值對數據庫,存放K8s集群的所有重要信息(持久化)。 etcd類似于Borg系統中的Paxos鍵值對數據庫。 它在集群中起到持久化的作用。 對于etcd,有兩點說明:
現在有兩個版本的 etcd,v2 和 v3。 v2版本將數據保存在內存中,v3版本將數據保存在數據庫中。 通常我們都選擇使用v3版本,但是在v1.11版本之前使用的是v2版本。
其他重要插件