0%

Kubernetes (二) - 安裝和啟動 Kubernetes

上一篇 介紹完了 Kubernetes 的基本概念,接下來我們要來安裝 Kubernetes。

開始操作前我們需要先安裝三個工具 :

  • kubectl
  • VirtualBox
  • minikube

本篇會以 Ubuntu 的環境來操作,如果你使用的是其他的作業系統,可以從下方附上的連結找到其他作業系統的安裝方式。

kubectl

kubectl 是 Kubernetes 的 Command-Line 工具,可以用來操作 Kubernetes cluster。

上一篇 有提到要和 Kubernetes Cluster 溝通都需要透過 Master Node 的 apiserver,所以 Kubernetes 最基本的方式就是透過 REST API 的呼叫方式來進行操作。而 kubectl 便是將 API 呼叫的方式包裝成 Command-Line,這樣可以更簡單也更直觀去操作 Kubernetes。

安裝方法

1
2
3
4
5
sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl

其他作業系統可以在 Kubernetes 官網 找到相對應的安裝方式。

VirtualBox

VirtualBox

由於 minikube 會執行一個虛擬機來跑 Kubernetes,所以需要提供一個虛擬化的工具。這裡推薦使用 VirtualBox。

安裝方式可以在 VirtualBox 官網 下載。

不過如果你是 Linux 作業系統而且有安裝 Docker 的話,也可以不用下載其他虛擬化工具,minikube 提供了 Linux 作業系統結合 Docker 可以直接在跑在本機上,本篇因為使用 Ubuntu 所以會直接以這種方式進行操作。

minikube

minikube

minikube 可以在本地端執行 Kubernetes,並在本地部署 Kubernetes cluster。而他的運作方式是在本機上執行一個虛擬機,並在虛擬機裡建立一個 single-node Kubernetes cluster。

不過由於 minikube 只提供 single-node Kubernetes cluster,在實際應用上並不推薦使用。

安裝方法

1. 檢查虛擬化支援

先檢查 Linux 是否支援虛擬化,如果有輸出就代表支援。

1
grep -E --color 'vmx|svm' /proc/cpuinfo

Check Virtualization

2. 下載與安裝 minikube

下載 minikube 的 Binary 檔並安裝。

1
2
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

Install Minikube

安裝的方式也可以直接在 Github下載

3. 啟動 minikube

安裝完成後就可以啟動 minikube 了。

1
minikube start --driver=<driver-name>

在啟動時可以指定要用那一種虛擬化的平台啟動,例如 docker、virtualbox 等等。支援的虛擬化平台請參考 Kubernetes 官網。本篇採用 Docker 來啟動 minikube。

1
minikube start --driver=docker

也可以直接設定想要的虛擬化平台作為預設值,例如 :

1
minikube config set driver docker

設定完預設值後下次就不需要指定虛擬化的平台。

1
minikube start

Start Minikube

4. 打開 minikube dashboard

minikube dashboard 是 minikube 提供的 GUI 界面可以操作 Kubernetes Cluster。

1
minikube dashboard

minikube dashboard

其他常用指令

stop
停止 minikube 運作。

1
2
3
4
$ minikube stop
✋ Stopping node "minikube" ...
🛑 Powering off "minikube" via SSH ...
🛑 1 nodes stopped.

ip
查看 minikube 的 ip。

1
2
$ minikube ip
172.17.0.3

status
查看 minikube 的狀態。

1
2
3
4
5
6
7
$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

ssh
使用 ssh 連到 minikube。

1
2
$ minikube ssh
docker@minikube:~$

delete
刪除 minikube。

1
2
3
4
5
$ minikube delete
🔥 Deleting "minikube" in docker ...
🔥 Deleting container "minikube" ...
🔥 Removing /home/tony/.minikube/machines/minikube ...
💀 Removed all traces of the "minikube" cluster.

Summary

本篇介紹了如何快速的安裝和啟動 Kubernetes,下一篇將會介紹如何操作 Kubernetes。

參考

[1] Kubernetes 與 minikube 入門教學
[2] Minikube 安裝與配置
[3] Kubernetes 元件介紹與 minikube 安裝教學
[4] Interactive Tutorial - Creating a Cluster
[5] katacoda online kubernetes
[6] minikube start
[7] Install and Set Up kubectl
[8] windows下minikube安装啟動