簡介

Docker

與虛擬機器類似,但原理上,容器是將作業系統層虛擬化,虛擬機器則是虛擬化硬體,因此容器更具有可攜式性、高效地利用伺服器。

Kubernetes(K8S)

希臘語意為"舵手"或"駕駛員",是一個可以幫助我們管理微服務(microservices)的系統,他可以自動化地部署及管理多台機器上的多個容器(Container)。

Helm

英文語意為"舵",是一個管理設定檔的工具。他會把 Kubernetes 一個服務中各種元件裡的 yaml 檔統一打包成一個叫做 chart 的集合,然後透過給參數的方式,去同時管理與設定這些 yaml 檔案。

基本安裝

要實際動手在本機端體驗如何操作 Kubernetes 前,需要分別下載 Minikube、VirtualBox 以及 kubectl 三個套件。以下都以 Ubuntu 18.04 為示範:

Minikube

Google 發佈的輕量級工具,讓開發者可以輕鬆體驗一個的 Kubernetes Cluster。Minikube 會在本機端建立 Virtual Machine,並在其中運行一個 Single-Node 的 Kubernetes Cluster

VirtualBox

因為 Minikube 會透過 Virtual Machine 跑 Kubernetes,因此會需要先安裝一個跑虛擬化的工具,在這邊可以直接使用 Docker

Kubectl

Kubectl 是 Kubernetes 的 Command Line 工具,我們之後會透過 Kubectl 去操作我們的 Kubernetes Cluster

啟動 Minikube

在基本運作與安裝中,我們下載好了我們需要的三個程式:Minikube、Virtual Box、Kubectl,接下來我們就可以來建立第一個 Pod 。

# 啟動 minikube
minikube start
# 列出 minikube 的狀態
minikube status
# 停止 minikube 運行
minikube stop
# ssh 進入 minikube 中
minikube ssh
# 查詢 minikube 對外的 ip
minikube ip
# 透過 minikube 提供的瀏覽器 GUI 查看 Cluster 狀況
minikube dashboard

啟動 Minikube