Try   HackMD

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。

安裝方法

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

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

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

minikube

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

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

安裝方法

1. 檢查虛擬化支援

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

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

2. 下載與安裝 minikube

下載 minikube 的 Binary 檔並安裝。

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

3. 啟動 minikube

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

minikube start --driver=<driver-name>

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

minikube start --driver=docker

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

minikube config set driver docker

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

minikube start

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

4. 打開 minikube dashboard

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

minikube dashboard

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

其他常用指令

stop
停止 minikube 運作。

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

ip
查看 minikube 的 ip。

$ minikube ip 172.17.0.3

status
查看 minikube 的狀態。

$ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured

ssh
使用 ssh 連到 minikube。

$ minikube ssh docker@minikube:~$

delete
刪除 minikube。

$ 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安装啟動

tags: Container Kubernetes