kubernetes初步 - CLI安裝及運行minikube

本地安裝minikube:

  • 經過本地虛擬機方式
  • Google提供的服務

==此處使用本地安裝的方式==html

安裝順序:

啓動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, 官方解決方案

(==重要==)運行demo - 簡單的部署及運行

啓動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
  • 啓動service - 想要訪問此deployment, 需將其做爲 Service 公開, 此步驟會啓動pod, --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
相關文章
相關標籤/搜索