---
# System prepended metadata

title: Kubernetes安裝

---

# Kubernetes安裝

## 1. 虛擬機安裝
詳細安裝教學可以參考：
1. VMware：
https://ithelp.ithome.com.tw/articles/10331979

2. Ubuntu：
https://ithelp.ithome.com.tw/articles/10332517



## 2. Kubernetes安裝

**更新apt**

```=
sudo apt update
```

**安裝curl**

```=
sudo apt install curl
```
**用 curl 從 Kubernetes 的官方網站下載 kubectl 的二進位檔案**

```=
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
```

**安裝 kubectl**

```=
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
```

**檢查 kubectl 版本 (選用)**

```=
sudo kubectl version --client --output=yaml
```

**安裝docker**

```=
sudo apt-get install docker.io
```


**檢查 docker 版本 (選用)**


```=
sudo docker version
```



**二進位下載minikube**

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

**將當前使用者添加到 docker 群組並更新**

```=
sudo chmod 666 /var/run/docker.sock
sudo usermod -aG docker $USER
newgrp docker
```


**啟動minikube**

```=
minikube start
```
**成功啟動會出現以下輸出**

![image](https://hackmd.io/_uploads/S1_G56gf0.png)



**檢查 kubenetes services 是否正確在執行**

```=
kubectl get po -A
```
**全部 STATUS 顯示 Running 代表 Kubernetes 正確地在執行**

![image](https://hackmd.io/_uploads/SksgcpgM0.png)


## 3. Auto-Scaling

[實作參考網址](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/)

當成功的時候可以看到下圖，當不斷訪問我們我們建立的pod時，TARGETS的使用率就會不斷的飆升，當達到設定的50%時就會開始不斷scaling pod來達到分散流量的目的。

第二張圖片就是經過一段時間之後就多複製了4個pods，可以看到他們所產生的時間只有22h那個是最初的那個，其他的pods都是新建立的。

![image](https://hackmd.io/_uploads/HJeG1l-GC.png)

![image](https://hackmd.io/_uploads/BJSM1e-fR.png)

可以看到當 Target 下降之後，多創建出來的 pod 就會慢慢刪除掉，到最後只會維持只有一個 pod 持續服務而已。 (過程需要等大約3-5分鐘)

![image](https://hackmd.io/_uploads/ry_71gWzC.png)


