iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
DevOps

前端工程師學習 DevOps 之路系列 第 5

Day05-Kubernetes 那些事 -基本觀念與操作

前言

接下來就正式進入本系列文的重頭戲:Kubernetes,Kubernetes 可以說是近期快速崛起的一套用來部屬應用程式的工具,拜 Kubernetes 所賜可以讓我們開發好的應用程式可以非常好的被管理,而且也有很多好用的工具來幫助部屬,Kubernetes 的文章沒意外會佔據本系列文一半以上的篇幅,接下來就讓我們正式進入 Kubernetes 的介紹吧!

什麼是 Kubernetes?

在正式開始進入系列文之前不免俗先介紹一下什麼是 Kubernetes?Kubernetes 的出現就是為了提供跨主機集群的自動部署、擴展以及運行應用程式容器的平台,簡單來說 Kubernetes 就是個強化版的 Docker Swarm XD
相信大家應該也會聽到很多人講 K8s ,為什麼 Kubernetes 會簡稱為 K8s 呢?其實很簡單就是因為 ubernete 一共有 8 個字母的關係,所以身為一個懶惰的工程師把名稱只留頭尾把中間用數字代替也是合情合理的是吧?

操作 K8s

首先我們要先下載 kubectl ,官網上的安裝方式寫得非常清楚這邊就不加以闡述了,ctl 全名其實就是 control 的意思,所以 kubectl 意思就是 control kubernetes 的工具啦!

有了 kubectl 後就可以進行 K8s 的各項操作了,後續的文章也會利用這套工具進行整個應用程式的架設,所以讀者一定要先安裝,這樣後續的文章才能跟著一起實作也會比較了解文章的內容。

minikube

為了方便後續的實作,這邊要請讀者安裝 minikube

minikube 是由 Google 發布的一個輕量級工具。讓開發者可以在本機上輕易架設一個 Kubernetes 叢集(Cluster),至於叢集是什麼待會的文章會提到,這邊讀者稍微有個印象就好,簡單來說 minikube 就是個方便初學者可以在本地端使用整個 K8s 環境的工具。

Hyperkit

接下來這個段落讀者可以選擇性閱讀就好,由於筆者是用 MacOS 系統,在後續一些比較細部的設定有些驅動程式並不支援,在筆者踩了這麼多雷之後終於找到一個驅動程式可以完美的支援我想要的設定,而這個驅動程式就是 Hyperkit,所以如果讀者不是 MacOS 系統的話這邊可以略過沒關係XD

啟動 minikube

由於前面先安裝了 Hyperkit 這個驅動程式,因此在啟動 minikube 的時候就不能使用他預設的驅動程式,這邊就要利用 Hyperkit 來啟動,指令也很簡單只要下 minikube start --vm-driver=hyperkit 即可,這時候就會啟動一個叫 minikube 的叢集,之後所有的操作都會針對這個叢集進行操作。

甚麼是 Cluster(叢集)?

Cluster 簡單來說就是管理眾多機器的存在,相當於 Master 的概念,在一般的系統架設中我們不會只有一台機器而已,通常都是多個機器一起運行同一種內容,在沒有 K8s 的時候就必須要土法煉鋼將機器一台一台的更新,但是有了 K8s 後我們就可以透過 Cluster 進行控管,只要更新 Master 旗下的機器也會一並的更新內容上去非常方便,所以上面才會提到 minikube 會架設一個 Cluster 而非一台機器。

小結

今天的文章相對來說會比較輕鬆一些,畢竟 K8s 的觀念可以說是相當的多,一開始先來點輕鬆地先介紹基本觀念跟基礎架設才方便後續的開發與教學,從明天開始的文章就會正式進入 K8s 的內容了。

如果對於文章有什麼問題都歡迎在下面留言給筆者,讓我們就明天的文章見吧!


上一篇
Day04-管理 Docker 的各種組合(Docker Compose)
下一篇
Day06-Kubernetes 那些事-Pod 篇
系列文
前端工程師學習 DevOps 之路30

尚未有邦友留言

立即登入留言