一開始初學Kubernetes(以下簡稱K8s)不外乎就是使用Minikube工具或是Docker Desktop附加的K8s功能,這兩個工具都是方便我們不需要再針對Control Plan和Node做細部的安裝和設定(什麼是Control Plan和Node以後會介紹),這裡我會使用Docker Desktop提供的K8s因為他連VM都省了XD,對於剛剛入門的人來說真的是很方便!



安裝Docker Desktop K8s

首先當然是安裝Docker Desktop的工具,之前Docker的文章有提到安裝Docker Desktop的方式【點我前往】,因此我們就直接略過把重點放在K8s的部分吧!

首先打開Docker Desktop的Settings」Kubernetes」EnableKubernetes打勾」

勾選後等待安裝完成即可在左下角看到K8s順利執行

順利執行後就可以打開終端機和輸入指令
kubectl version
kubectl get nodes
kubectl get pods -n kube-system


完成!恭喜你可以開始使用K8s工具練習了!



K8s額外元件安裝 - Metrics Server(建議有一定基礎再來看)

Metrics Server主要是K8s中一個重要的元件,主要用於監控 Kubernetes 叢集中各個節點、Pod 和容器的資源使用情況,並將這些資訊提供給 Kubernetes API Server 以供其他 Kubernetes 元件使用,通常是用在自動橫向擴展(Horizontal Pod Autoscaling / HPA),由於Docker Desktop Kubernetes是不包含Metrics Server,因此必須自行手動安裝,我們可以使用以下指令查看Metrics Server有沒有架設
kubectl top pod
💡 top是用於顯示K8s叢集中各個Pod的CPU和記憶體使用情況

如果顯示Metrics API not available表示沒有安裝過Metrics API,我們可以先到Github下載Metrics Server的定義檔案【點我前往下載】並針對定義檔做細部的調整
💡 注意!這裡請不要直接apply部署哦!因為下載下來的定義檔還要再調整參數

打開定義檔案之後找到Deployment的地方我們在「spec.containers.args」添加一個命令參數「--kubelet-insecure-tls」,儲存之後才將它部署上K8s

spec:
  containers:
  - args:
    - --cert-dir=/tmp
    - --secure-port=4443
    - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
    - --kubelet-use-node-status-port
    - --metric-resolution=15s
    - --kubelet-insecure-tls #<----加入這行
kubectl apply -f components.yaml

部署完成後稍微等個1分鐘後再使用top指令查看資源,此時如果有架好的Pod就可以看到資源使用量了!