iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0

Kubernetes 簡介

學習大數據與AI,一定都會需要測試平台,這時K8s一定是你的好選擇~

Kubernetes簡化中間的8個英文字所以大家簡稱為K8s,它是由Google工程師開發,後面開放了原始碼,讓許多公司用於開發產品。現在的K8s和周邊生態系統逐漸成熟,使用者也日益擴張,成為幾乎必學的技能之一。

說到K8s錢應該要先知道VM(虛擬機)與Docker(容器),他兩的差別簡單來說就是VM虛擬出一整台完整功能的電腦,而Docker(容器)只透過包好的應用程式映像檔案直接在主機容器上跑,只取需要的資源使用,可大大減少主機的負荷,且因為容器有一致性的特點,所以在攜帶與轉換主機環境非常快速與方便。

K8s就是Docker的容器編排工具,它的前身是Google內部的Borg叢集管理系統,方便管理者不用手動去重新部署異常的環境,自動部署、自動修復、權限控制、負載平衡等自動化管理都可以靠K8s滾動更新完成。

今天不會深入講解K8s,大家只要知道知道幾個關鍵元件Node、Deployment、Pod、Service等就可以大約看懂後面的文章了。

  • Node:K8s運作的硬體單位,一個Node對應到一台主機
  • Pod:放置一個或多的容器,一個Pod一般對應到一個應用服務
  • Deployment:有自動修復Pod或平衡負載的功能,讓服務可以不中斷
  • Service:將內部服務開放給外部存取的渠道

Spring Boot 搭配 MySql

前陣子在學習如何使用java開API,在眾多框架中我選中最為火紅的Spring Boot來學習。

資料庫一般都有以下需求:
1.穩定性
2.高可用性
3.備份
4.還原
5.資源管理
6.調度
7.災難復原

對於Mysql資料庫上K8s是練習的成分居多,其實觀看許多資料後,我私心認為這種系統資料庫還是用一台本機比較方便與安全,API這種服務類的再上K8s較為適合。上K8s的資料庫感覺比較適合只新增、較少更新與刪除,就是一直寫新資料的類型,雖然還是得看實際的使用情況,其中的原因除了網路成本、較難測試效能還有最重要的人力成本較高(如果公司內有大神就隨便ww)

練習中我使用簡單的MySql跟我的教師系統API做搭配,本機上是沒什麼問題的,但開發完想嘗試把它架到K8s去又是另一回事了,接下來幾天就讓我從頭分享其中的過程吧~

/images/emoticon/emoticon13.gif


上一篇
Day20 《OpenRefine》回推功能細講
下一篇
Day22《Spring Boot Api 上 k8s 實例》MySql Deployment & Service yaml撰寫
系列文
數位中介法沒有屏蔽的 AI 大數據大補帖30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言