入門Kubernetes-minikube本地k8s環境

chaney1992發表於2021-07-18

前言:

 在上一篇 結尾中使用到了minikube方式來做k8s本地環境來學習k8s。 

 那麼這篇先了解下minikube及使用

一、Minikube 簡介

  minikube 在 macOS、Linux 和 Windows 上實現了本地 Kubernetes 叢集。minikube 的主要目標是成為本地 Kubernetes 應用程式開發的最佳工具,並支援所有適合的 Kubernetes 功能。

 環境準備:

  • 2 個或更多 CPU
  • 2GB 可用記憶體
  • 20GB 可用磁碟空間
  • 網路連線
  • 容器或虛擬機器管理器,例如:DockerHyper-V

 為什麼使用minikube

  • 實際開發和體驗 Kubernetes時,可能會遇到網路訪問的原因或者其他的坑導致無法使用Kubernetes進行實驗
  • Minikube更加輕量化,比Docker Desktop開銷更小

 minikube流程

  

 本次部署將採用Docker來實現minikube的部署使用,需要先準備好Docker環境

二、Minikube 安裝及使用

 1、獲取安裝包:minikube支援多平臺,本次操作是在window下安裝,直接獲取minikube安裝包即可:

   

  獲取安裝包後執行一直下一步即可。

 2、minikube安裝成功後,進入命令列:啟動k8s叢集

//指定 2個節點:由於本機已使用了docker做驅動器,本次使用hpyerv作為驅動
minikube start -n 2 --driver=docker --image-mirror-country=cn 

   常用引數:

  • --driver='': 驅動為: virtualbox, vmwarefusion, hyperv, vmware, docker 其中一個
  • -n,--node:節點數量
  • --image-mirror-country='':需要使用的映象映象的國家/地區程式碼。留空以使用全球程式碼。對於中國大陸使用者,請將其設定為cn。
  • --registry-mirror=[]: 傳遞給 Docker 守護程式的登錄檔映象(映象加速)
  • --cpus=2: CUP數量
  • --memory='': 為 Kubernetes 分配的 RAM 容量(格式:<數字>[<單位>],其中單位 = b、k、m 或g)

  啟動如下:

  

   

 3、minikube 常用命令:

  a)開啟Kubernetes控制檯:

//開啟控制檯頁面
minikube dashboard

   檢視兩個執行節點:

   

   b)登入kubernetes環境:

//登入環境
minikube ssh

//進入後獲取當前執行的映象:
docker ps

  c)檢視配置檔案內容

kubectl config view

  d)service轉發:

//命令格式:minikube service service名稱
minikube service k8s-service  

  e)其他命令檢視幫助:

Basic Commands:
  start          啟動本地Kubernetes叢集
  status         獲取本地Kubernetes叢集狀態
  stop           停止本地Kubernetes叢集
  delete         刪除本地Kubernetes叢集
  dashboard      訪問minikube叢集中執行的儀表盤
  pause          暫停Kubernetes
  unpause        恢復 Kubernetes

Images Commands:
  docker-env     配置環境以使用 minikube's Docker daemon
  podman-env     配置環境以使用 minikube's Podman service
  cache          在minikube中新增、刪除或推送本地映象
  image          管理映象

Configuration and Management Commands:
  addons         啟用或禁用載入項
  config         修改持久配置值
  profile        獲取當前叢集配置檔案
  update-context 更新kubeconfig

Networking and Connectivity Commands:
  service        連線到service
  tunnel         連線到 LoadBalancer 服務

Advanced Commands:
  mount          將指定的目錄掛載到 minikube
  ssh            登入minikube環境
  kubectl        執行與叢集版本匹配的kubectl二進位制檔案
  node           節點相關操作
  cp             拷貝指定檔案到minikube

Troubleshooting Commands:
  ssh-key        檢索指定節點的ssh標識金鑰路徑
  ssh-host       檢索指定節點的ssh主機金鑰
  ip             檢索指定節點的IP地址
  logs           Returns logs to debug a local Kubernetes cluster
  update-check   列印當前和最新版本版本
  version        列印 minikube 版本

 4、部署應用:

  按照前面文章中內容進行部署。

 

總結:

 minikube相對於直接使用docker-desktop更加簡單方便,並且可以實現多節點叢集效果。對於開發、學習人員來說還是比較方便。下一步將對Ingress資源進行了解 

參考

 minikube官網   

相關文章