與虛擬機器類似,但原理上,容器是將作業系統層虛擬化,虛擬機器則是虛擬化硬體,因此容器更具有可攜式性、高效地利用伺服器。
希臘語意為"舵手"或"駕駛員",是一個可以幫助我們管理微服務(microservices)的系統,他可以自動化地部署及管理多台機器上的多個容器(Container)。
英文語意為"舵",是一個管理設定檔的工具。他會把 Kubernetes 一個服務中各種元件裡的 yaml 檔統一打包成一個叫做 chart 的集合,然後透過給參數的方式,去同時管理與設定這些 yaml 檔案。
要實際動手在本機端體驗如何操作 Kubernetes 前,需要分別下載 Minikube、VirtualBox 以及 kubectl 三個套件。以下都以 Ubuntu 18.04 為示範:
Google 發佈的輕量級工具,讓開發者可以輕鬆體驗一個的 Kubernetes Cluster。Minikube 會在本機端建立 Virtual Machine,並在其中運行一個 Single-Node 的 Kubernetes Cluster
因為 Minikube 會透過 Virtual Machine 跑 Kubernetes,因此會需要先安裝一個跑虛擬化的工具,在這邊可以直接使用 Docker
Kubectl 是 Kubernetes 的 Command Line 工具,我們之後會透過 Kubectl 去操作我們的 Kubernetes Cluster
在基本運作與安裝中,我們下載好了我們需要的三個程式: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