Published on
📅

使用 Minikube 操作 Kubernetes

Table of Contents

K8s 設計原理

K8s 是用來管理、擴充、自動部屬 container 的軟體,而且它能在不同的機器管理 container,例如不同台電腦、手機,做好資源分配。

  • vertical scalling 針對一台電腦升級效能,例如 升級 cpu、記憶體
  • horizontal scaling 將資源分配給不同的機器,用來達到 load balance

為什麼需要用到 MiniKube?

一般企業要使用 Kubernetes 會在雲端上進行,例如 GKS, EKS, AKS。 在開發階段,我們會使用 MiniKube 在本地端模擬 Kubernetes 的環境,來做測試,最後再到雲端上去做真正的部屬。

雲端部署可以提供更多的管理和擴展性,但在本地部署可以提供更好的控制性和可視性。

安裝 Minikube

  1. 到 minikube官網,打開 windows powershell 並貼上安裝指令,便會開始安裝

  2. 確保已開啟 docker 應用程式,在 powershell 貼上下列指令啟動集群(cluster)

    minikube start
    

    可以看到 Docker 產生新的 container

  3. 在 powershell 打以下指令,開啟儀表板

    minikube dashboard
    

    這個頁面會自動在網頁打開

    k8s 的儀表板能讓我們看到網站使用狀況,包含 server 收到多少 requests

建立一個 pod

新增一個檔案 pod.yaml:

# pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: foo
  labels:
    app: foo
spec:
  containers:
    - name: foo
      image: mikehsu0618/foo
      ports:
        - containerPort: 8080

用下列指令從 dockerhub 拉取測試用的 image:

docker pull mikehsu0618/foo

執行 pod.yaml 檔,產生 pod:

kubectl apply -f pod.yaml

當 pod 產生後,dashboard 會出現該 pod 的資訊