本地安装minikube:
- 通过本地虚拟机方式
- Google提供的服务
==此处使用本地安装的方式==
安装顺序:
-
brew install kubernetes-cli
- 安装虚拟机https://kubernetes.io/zh/docs/tasks/tools/install-minikube/#%E5%AE%89%E8%A3%85-hypervisor
-
安装minikube: https://kubernetes.io/zh/docs/tasks/tools/install-minikube/#%E5%AE%89%E8%A3%85-kubectl
brew install minikube
启动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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。