1

本地安装minikube:

  • 通过本地虚拟机方式
  • Google提供的服务

==此处使用本地安装的方式==

安装顺序:

启动minikube

==首次启动==

minikube start --vm-driver=<driver_name> 

根据hypervisor不同,此中的driver_name也不同, 详细列表

mac上用的是virtualbox, 所以此命令为:

minikube start --vm-driver=virtualbox

但此时报错:

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

查询到解决方案, 需要配置代理 - 此处配置阿里云代理

minikube start --vm-driver=virtualbox --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'

执行命令后,成功.

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 命令查看状态

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

yizheng
301 声望27 粉丝

一蓑烟雨任平生