anpanman
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 的資訊