當運維遇到容器化時

### 當運維碰到docker時有什麼想法?

1. 使用Docker,不會再須要爲了一個開發項目而準備多個測試和生產環境,從根本上解決了環境配置的難題;
2. 緩解了使用虛擬機形成的`資源佔用多`,`操做冗餘步驟多`,`啓動慢`的問題,而相對的Docker容器則是`資源佔用少`,`一次配置`,`啓動時間短`,`運行體積小`;
3. 對於多實例多環境的配置,須要屢次安裝步驟,而使用Docker則是寫一次Dockerfile便可一直使用,達到`configure as a code`
4. 環境隔離更便捷,好比能夠針對某個服務進行CPU,memory限制;
5. ...更多的優勢,我想當你使用上Docker之後,至少能減小一半重複勞動的時間

### 當運維碰到kubernetes時有什麼想法?

1. 若是某一臺服務器忽然宕機了,那麼上面運行的服務是否是就不能夠正常訪問了? 若是使用kubernetes的deployment,就能保證咱們的服務實例永遠運行在我`指望的狀態`;
2. 無論傳統的服務升級仍是使用Docker容器發佈的服務,在進行服務發佈的時候,是否是確實存在某一個時刻服務有短暫的不可訪問?503? 若是使用kubernetes的deployment來進行滾動升級,就能實現服務`zero-downtime`;
3. 當服務的負載很高的時候,你是如何發現服務的負載大的,發現以後要擴容?仍是增長服務實例?到完成擴容完整須要多久的時間? 那麼使用kubernetes的HPA在服務負載較高時就能夠`自動伸縮`實例的數量,不須要人爲干預;
4. 當須要服務區域高可用的時候會怎麼部署服務呢?使用kubernetes解決了`跨地區`,`跨機器`之間的部署難題;
5. 使用kuberenetes簡化了使用不一樣類型存儲介質的安裝配置,其自己有`普遍的volume支持`;
6. `內置負載均衡`和`服務發現`功能的service,減小代理的手動干預;
7. 包含多種`受權`和`認證方式`,以及`認證插件`來增強多節點之間通訊的安全;
8. 若是處在傳統運維的公司有500臺機器的話,你以爲須要多少運維或者devops人員? 若是處於在傳統到容器過分之間的公司有500臺機器的話,你以爲須要多少運維或者devops人員?若是公司上了kubernetes集羣的話,運維或者devops人員又會是多少?

引入一個新的技術實際上是很難的,可是當引入或者學習一個新的技術,必定要知道這個技術能爲你帶來哪些幫助
1. 提升了多少工做效率;
2. 解決了哪些技術難題;
3. 服務的穩定性提升了多少;
4. 服務的可用性提升了多少;
5. 人力成本減小了多少;

我想若是這些本身的內心都有點概念的話,若是你以爲k8s能給你帶來較多的好處,那麼不要猶豫,直接盤它吧!

### kubernetes不可不知的背景

Google 的 公有云 PaaS 產品 AppEngine 雖有很強的託管性(自動部署、運維),但靈活性較差(只支持固定語言和中間件);而 IaaS 產品 Compute Engine 雖然靈活性高(近似裸機的可配置性),但管理性很低(用戶自行進行應用安裝、維護、配置),爲了解決這些問題,就是經過推出開源的容器編排管理系統 「Project 7」,利用開源社區迅速圈粉、打造生態、「shape people’s mind」,進行市場顛覆。同時,這一開源系統既提供了底層的容器、網絡、存儲等配置項,又提供了豐富的管理功能,從而打破了上述 PaaS 與 IaaS 產品在靈活性與託管性之間的矛盾。而在問世以後,「Project 7」也很快改名爲「Kubernetes」。下面是kubernetes近些年的發展:

* 2014 年 6 月 6 號,在這一個吉利的日子裏,Kubernetes founder 之一 Joe Beta 在 GitHub 上合併了第一個 GitHub commit
* 2015 年 7 月 21 日,Kubernetes 宣佈發佈正式 1.0 版本,達到生產可用
* 2009 年問世的 Apache Mesos 項目也在 Docker 問世後經過與 Docker 的整合煥發了第二春,並定位爲基於容器的數據中心操做系統(Data Center Operating System, 即 DCOS),在必定程度上與容器集羣管理平臺 Kubernetes 發生了定位上的重疊
* Docker 公司也隨後意識到容器自身只是一個輕薄的、底層的運行載體,很難大規模盈利並推進企業在複雜生產環境下使用;所以也開始研發自帶的集羣管理工具 Docker Swarm
* Docker 公司推出的 Swarmkit,更是將其進軍集羣管理領域的雄心壯志昭示於天下
* 2015 年 5 月,當 Kubernetes 宣佈支持除了 Docker 之外的新的容器運行時 AppC 和 rkt 
* 2015 年 4 月 22 日,Kubernetes 官方博客專門報道了 Mesosphere 將 Kubernetes 集成進 DCOS 的消息
* 2016 年西雅圖 KubeCon 的多個主題演講中直白地宣示着 Kubernetes 的領導者地位、到 Kubernetes 社區放大對 container runtime、network plugin 等抽象接口的投入
* 2016 年 Q2-Q3: 以 Mirantis 爲首的 OpenStack 廠商積極推進與 Kubernetes 的整合,避免站在 Kubernetes 的對立面,成爲被 Kubernetes 推翻的「老一代技術」。
* 2016 年 11 月,CNCF 與 Linux Foundation 聯手,正式推出 Kubernetes 認證服務,進一步推進 Kubernetes 的商業化落地和普及。
* 2016 年 11 月,在西雅圖召開的 KubeCon 會議上,包括 Pearson、Box 等數十家 Kubernetes 終端用戶向世人展現了 Kubernetes 在其生產環境中的成功應用。
* 2016 年 12 月,伴隨着 Kubernetes 1.5 的發佈,Windows Server 和 Windows 容器能夠正式支持 Kubernetes,微軟生態完美融入。
* 2017 年 2 月,Kubernetes 官方微博報道了中國京東用 Kubernetes 替代了 OpenStack 中的大量服務和組件,實現全容器化私有云和公有云的建設,中國的 Kubernetes 用戶案例首次登上國際舞臺。
* 2017 年 6 月,在北京召開的 LinuxCon 上,中國公司報道了 Kubernetes 在中國金融、電力、互聯網行業的成功案例,標誌着 Kubernetes 的終端用戶羣體走向國際化。
* 2 歲生日之際,Kubernetes 的用戶涵蓋了諸如金融(摩根斯坦利、高盛)、互聯網(eBay、Box、GitHub)、傳媒(Pearson、New York Times) 、通訊(三星、華爲)等行業的龍頭企業。
* 從 2015 年 7 月到 2017 年 7 月兩年時間,Kubernetes 的主要代碼倉庫(github.com/kubernetes/kubernetes)從 1.0 版本時的 10000+ commits 變成了現在的近 50000+ commits,增加近五倍
* 發展至今,Kubernetes 已經從一個單體的龐大代碼庫(github.com/kubernetes/kubernetes)向一個生態型多個代碼庫演進;除了主體代碼庫以外,還有約 40 個其餘的插件代碼庫和超過 20 的孵化項目
* 截止今日,Kubernetes 生態社區總共有 2505 個開發者,來自於 789 個參與公司
* 有意思的是,「大象現象」一樣存在於社區貢獻者中,前 10 的貢獻者貢獻了超過 26% 的代碼。
* Kubernetes 的主要代碼倉庫已經得到了近 25000 個 GitHub Stars,遙遙領先於早期的競爭者(Swarm 和 Mesos 均不到 5000 顆星)。
* CNCF 在全球召開了超過 200 場線下 meetups,僅在中國就有過十場。
* Kubernetes 的 GitHub 活躍度已經超過了 99.99% 的項目!
* ...

在k8s的不斷髮展中,咱們也在不斷的學習和進步,k8s功能的健全更須要咱們一塊兒實踐探索,準備好了嗎?玩起來...
相關文章
相關標籤/搜索