入門Kubernetes-minikube本地k8s環境

前言:

 在上一篇 結尾中使用到了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官網