iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 30
0
DevOps

Kubernetes的30天養成計劃系列 第 30

[Day30] k8s總結:架構整合、圖表整理

前言

今天我們來詳細回顧一下之前的內容,整理一些圖表及架構方便記憶。

正片開始

這30天我們看過了許多k8s的相關結構,有以下四個方面:四大面向k8s架構k8s與k8s之間k8s延伸

1. 四大面向

從最早的介紹,我們從4個不同的面向去理解k8s:

https://ithelp.ithome.com.tw/upload/images/20191014/20120468HUFJLY4CnS.jpg

再來的部分,就是k8s詳細的結構了

2. k8s架構

這個部分,分為上下兩卷,上卷是minikube的相關操作,下卷是EKS的相關操作

卷(上)

卷(下)

3. k8s與k8s之間

這個部分是群集與集群之間溝通的內容,我們有提到集群的備援:HA、Federation

4. k8s之延伸

雖然我們從剛開始到現在有介紹過很多與k8s相關的套件,避免疏漏,補個生態圖,鑑往知來。

https://ithelp.ithome.com.tw/upload/images/20191014/20120468PW5n0IHuGd.png

圖片來源:https://spotinst.com/blog/kubernetes-ecosystem/

可以看到主要有七大面向:

  • Public cloud:公有雲,可以看到對應的廠商,像是我們有用到EKS所屬的AWS
  • Open source frameworks:開源框架,像是我們提過的Docker
  • Management:管理工具,像是我們有安裝過的WeaveScope就是屬於weaveworks的範疇
  • Monitoring & Logging:監控與日誌,像是一般常見的搭配Prometheus使用的Grafana
  • Load Balancing:負載平衡器,像是我們有用過的nginx
  • Security:安全防護,像是BLACKDUCK,可以協助檢查開放原始碼的漏洞
  • Tools:小工具,像是GitLab,這是Local端的git管理工具

這個部分會跟後續k8s的發展有關聯,後續這些相關面向的更新,都值得我們密切關注。

總結

所以從整體來看,k8s可以有多個Federation,而單個Federation可以分有多個Cluster,每個Cluster可以分為四大方面去觀察:Docker、Node、Object、12-factor,再依照這四大方面下去細分對應的項目去看,一致性的邏輯是這樣。

Docker:k8s是基於Docker的管理框架

https://ithelp.ithome.com.tw/upload/images/20191014/20120468AC4hicrzZR.png

圖片來源:https://medium.com/@dpaunin/the-best-architecture-with-docker-and-kubernetes-myth-or-reality-77b4f8f3804d

Node:分為Master和Slave

https://ithelp.ithome.com.tw/upload/images/20191014/20120468ByqtJfnTgf.png

Object:分為basic和Abstraction

https://ithelp.ithome.com.tw/upload/images/20191014/20120468BevJKzpqwQ.png

12-factor:五大Aspect:Unify、Specify、Conform、Auto、Sync

https://ithelp.ithome.com.tw/upload/images/20191014/20120468AJTqZlyeIA.png

小技巧

這邊歸納了一些Docker與k8s使用的小技巧

首先,安裝完後,為了方便,你可以增加些設置加速你下指令的速度

  1. 設置Auto Complete
  2. 參考Cheat Sheet
  3. 使用一些圖像介面監控和管理

設置Auto Complete

可以參考:Mac設置Docker的AutoComplete

或是自行Google,找這個關鍵字

參考Cheat Sheet

可以參考:Docker的一些筆記k8s的Cheat Sheet與Auto Complete

圖像介面監控與管理

可以參考:Docker的Harbor(管理Private registry)、k8s的Dashboard(監控元件好用)、k8s的Helm(管理YAML)

心得感想

剛開始寫幾天基本上沒什麼感覺,因為有先寫了大概10篇左右,不過到後面發現根本不夠用XD,上班忙起來整個就翻掉,中途差點翻船,不外乎Debug到半夜三四點,隔天還是要上班(肝到爆,後面總算是有些多餘的時間挺過來了,還有一次忘記把EKS集群關掉,多噴了兩天的摳摳,比較有挑戰的部分應是你必須要在有限的時間把Bug修掉,不然就不用發文啦哈哈,直接Say Goodbye,有想挑戰的朋友,建議先寫個20篇再來會比較穩,有機會的話,可能會再寫些別的主題看看。整體來說,這整個30篇大概歸類在入門到進階之間,如下圖:

https://ithelp.ithome.com.tw/upload/images/20191014/2012046859WqXMTCN1.png

第一次發系列文,希望這一系列的文章有幫助到需要的朋友,筆者盡量呈現整體的完整性,若有誤請見諒,相關程式碼可以在Github下載,謝謝大家的收看囉!

文末的參考連結已將所有架構性或是實作相關內容,筆者覺得寫得不錯的部分一併分享,感謝提供靈感,謝謝你們。

另外特別感謝同事揪團,沒有你們我也不會去寫這個XD,雖然我們團賽出了點小狀況,有機會再一起挑戰!

參考連結

本文同步刊載於https://github.com/x1y2z3456/ironman

感謝您撥冗閱讀此文章,不喜勿噴,有任何問題建議歡迎下方留言:)

最後一天了,很開心有寫滿完整的30天,我想分享一句話:

生命的痕跡,來自於靈魂的永恆淬煉。

The trace of life is from the eternal quenching of soul.

各位看官,我是尼克,我們有緣再見。


上一篇
[Day29] k8s集群篇:HA、Federation
系列文
Kubernetes的30天養成計劃30

尚未有邦友留言

立即登入留言