# Kubernetes (二) - 安裝和啟動 Kubernetes [上一篇](https://tienyulin.github.io/kubernetes-concept/) 介紹完了 Kubernetes 的基本概念,接下來我們要來安裝 Kubernetes。 開始操作前我們需要先安裝三個工具 : * kubectl * VirtualBox * minikube 本篇會以 Ubuntu 的環境來操作,如果你使用的是其他的作業系統,可以從下方附上的連結找到其他作業系統的安裝方式。 <!-- more --> ## kubectl kubectl 是 Kubernetes 的 Command-Line 工具,可以用來操作 Kubernetes cluster。 [上一篇](https://tienyulin.github.io/kubernetes-concept/) 有提到要和 Kubernetes Cluster 溝通都需要透過 Master Node 的 apiserver,所以 Kubernetes 最基本的方式就是透過 REST API 的呼叫方式來進行操作。而 kubectl 便是將 API 呼叫的方式包裝成 Command-Line,這樣可以更簡單也更直觀去操作 Kubernetes。 ### 安裝方法 ```bash= 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 官網](https://kubernetes.io/docs/tasks/tools/install-kubectl/) 找到相對應的安裝方式。 ## VirtualBox  由於 minikube 會執行一個虛擬機來跑 Kubernetes,所以需要提供一個虛擬化的工具。這裡推薦使用 VirtualBox。 安裝方式可以在 [VirtualBox 官網](https://www.virtualbox.org/wiki/Downloads) 下載。 不過如果你是 Linux 作業系統而且有安裝 Docker 的話,也可以不用下載其他虛擬化工具,minikube 提供了 Linux 作業系統結合 Docker 可以直接在跑在本機上,本篇因為使用 Ubuntu 所以會直接以這種方式進行操作。 ## minikube  minikube 可以在本地端執行 Kubernetes,並在本地部署 Kubernetes cluster。而他的運作方式是在本機上執行一個虛擬機,並在虛擬機裡建立一個 single-node Kubernetes cluster。 不過由於 minikube 只提供 single-node Kubernetes cluster,在實際應用上並不推薦使用。 ### 安裝方法 #### 1. 檢查虛擬化支援 先檢查 Linux 是否支援虛擬化,如果有輸出就代表支援。 ```bash= grep -E --color 'vmx|svm' /proc/cpuinfo ```  #### 2. 下載與安裝 minikube 下載 minikube 的 Binary 檔並安裝。 ```bash= curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube ```  安裝的方式也可以直接在 [Github下載](https://github.com/kubernetes/minikube)。 #### 3. 啟動 minikube 安裝完成後就可以啟動 minikube 了。 ```bash= minikube start --driver=<driver-name> ``` 在啟動時可以指定要用那一種虛擬化的平台啟動,例如 docker、virtualbox 等等。支援的虛擬化平台請參考 [Kubernetes 官網](https://kubernetes.io/docs/setup/learning-environment/minikube/#specifying-the-vm-driver)。本篇採用 Docker 來啟動 minikube。 ```bash= minikube start --driver=docker ``` 也可以直接設定想要的虛擬化平台作為預設值,例如 : ```bash= minikube config set driver docker ``` 設定完預設值後下次就不需要指定虛擬化的平台。 ```bash= minikube start ```  #### 4. 打開 minikube dashboard minikube dashboard 是 minikube 提供的 GUI 界面可以操作 Kubernetes Cluster。 ```bash= minikube dashboard ```  #### 其他常用指令 **stop** 停止 minikube 運作。 ```bash= $ minikube stop ✋ Stopping node "minikube" ... 🛑 Powering off "minikube" via SSH ... 🛑 1 nodes stopped. ``` **ip** 查看 minikube 的 ip。 ```bash= $ minikube ip 172.17.0.3 ``` **status** 查看 minikube 的狀態。 ```bash= $ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured ``` **ssh** 使用 ssh 連到 minikube。 ```bash= $ minikube ssh docker@minikube:~$ ``` **delete** 刪除 minikube。 ```bash= $ 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 入門教學](https://blog.techbridge.cc/2018/12/01/kubernetes101-introduction-tutorial/) [2] [Minikube 安裝與配置](https://ithelp.ithome.com.tw/articles/10192490) [3] [Kubernetes 元件介紹與 minikube 安裝教學](https://blog.toright.com/posts/6513/kubernetes-%E5%9F%BA%E7%A4%8E%E5%85%83%E4%BB%B6%E4%BB%8B%E7%B4%B9%E8%88%87minikube%E5%AE%89%E8%A3%9D.html) [4] [Interactive Tutorial - Creating a Cluster](https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/) [5] [katacoda online kubernetes](https://www.katacoda.com/courses/kubernetes/playground) [6] [minikube start](https://minikube.sigs.k8s.io/docs/start/) [7] [Install and Set Up kubectl](https://kubernetes.io/docs/setup/learning-environment/minikube/) [8] [windows下minikube安装啟動](https://blog.csdn.net/qq_28089993/article/details/102722539) ###### tags: `Container` `Kubernetes`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up