==此處使用本地安裝的方式==html
安裝 kubectl: https://kubernetes.io/zh/docs/tasks/tools/install-kubectl/#span-id-jump-%E5%9C%A8-macos-%E4%B8%8A%E7%94%A8-homebrew-%E5%AE%89%E8%A3%85-kubectl-spanlinux
brew install kubernetes-cli
安裝minikube: https://kubernetes.io/zh/docs/tasks/tools/install-minikube/#%E5%AE%89%E8%A3%85-kubectlspring
brew install minikube
==首次啓動==docker
minikube start --vm-driver=<driver_name>
根據hypervisor不一樣,此中的driver_name也不一樣, 詳細列表shell
mac上用的是virtualbox, 因此此命令爲:macos
minikube start --vm-driver=virtualbox
但此時報錯:api
caoyizhengdeMacBook-Pro:~ cyz$ minikube start --vm-driver=virtualbox 😄 Darwin 10.14.6 上的 minikube v1.8.2 ✨ 根據現有的配置文件使用 virtualbox 驅動程序 ⌛ 從新配置現有主機 🔄 Starting existing virtualbox VM for "minikube" ... ❗ 虛擬機無權訪問 k8s.gcr.io,或許您須要配置代理或者設置 --image-repository
查詢到解決方案, 須要配置代理 - 此處配置阿里雲代理springboot
minikube start --vm-driver=virtualbox --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
執行命令後,成功.app
caoyizhengdeMacBook-Pro:~ cyz$ minikube start --vm-driver=virtualbox --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' 😄 Darwin 10.14.6 上的 minikube v1.8.2 ✨ 根據現有的配置文件使用 virtualbox 驅動程序 ✅ 正在使用鏡像存儲庫 registry.cn-hangzhou.aliyuncs.com/google_containers 💾 Downloading preloaded images tarball for k8s v1.17.3 ... ⌛ 從新配置現有主機 🏃 Using the running virtualbox "minikube" VM ... 🐳 正在 Docker 19.03.6 中準備 Kubernetes v1.17.3… 🚀 正在啓動 Kubernetes ... 🌟 Enabling addons: default-storageclass, storage-provisioner 🏄 完成!kubectl 已經配置至 "minikube" caoyizhengdeMacBook-Pro:~ cyz$
此時虛擬機應是「正在運行」狀態
經過 minikube status
命令查看狀態google
caoyizhengdeMacBook-Pro:~ cyz$ minikube status host: Running kubelet: Running apiserver: Running kubeconfig: Configured caoyizhengdeMacBook-Pro:~ cyz$
若是想要中止minikube, 命令是: minikube stop
caoyizhengdeMacBook-Pro:~ cyz$ minikube stop ✋ Stopping "minikube" in virtualbox ... 🛑 Node "m01" stopped.
刪除minikube集羣: minikube delete
==非首次啓動==
minikube start --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
此時有可能出現異常, start後提示machine does not exist
, 官方解決方案
啓動minikube - 略
運行
k8s 默認支持docker項目,這一步依賴docker庫中的項目,我以前部署了一個springboot項目到docker repository中, 鏡像名爲: caoyizheng/springtest:1.0
注: 此工程端口號爲8081, 只加了根目錄的controller
啓動項目命令爲: (此步驟的官方名字叫: ==建立Kubernetes Deployment==)
kubectl run springtest --image=caoyizheng/springtest:1.0 --port=8081
--type=NodePort
不加會報錯kubectl expose deployment springtest --type=NodePort
查看pod是否已被建立: (若是status是ContainerCreating, 須要等一下)
caoyizhengdeMacBook-Pro:k8s cyz$ kubectl get pod NAME READY STATUS RESTARTS AGE springtest-fd85cd58c-dzs4b 1/1 Running 0 31s
最後一步, 查看service暴露的url:
caoyizhengdeMacBook-Pro:k8s cyz$ minikube service springtest --url http://192.168.99.100:31289
最後, 若是想要把這個鏡像刪掉, 要執行兩個刪除的命令:
//刪除service: caoyizhengdeMacBook-Pro:k8s cyz$ kubectl delete services springtest service "springtest" deleted //刪除deployment caoyizhengdeMacBook-Pro:k8s cyz$ kubectl delete deployment springtest deployment.apps "springtest" deleted