docker第四天,安装k8s和minikube,简单部署ngi
安装
- 通过
brew install docker-machine-driver-xhyve 来安装minikube
- 通过
brew install kubectl 来安装kubectl
启动minikube
- 通过命令
minikube start --vm-driver=xhyve 来启动minikube
- 通过命令
kubectl get services 来查看启动的服务, 应该可以看到 kubernetes 10.0.0.1 <none> 443/TCP 12m, 表示kubernetes已经被启动起来
- 通过命令
kubectl get pods 来查看启动的pods, 这个时候应该没有任何东西
- 通过kubectl来启动nginx服务
kubectl run --image=nginx nginx-app --port=80
- 然后通过
kubectl get pods 会发现 nginx-app-1666850838-pfr2s 0/1 ContainerCreating 0 5m ,表示一直在 ContainerCreating 状态
- 通过
kubectl describe pod nginx-app-1666850838-pfr2s 可以发现有错误 Error syncing pod
- 通过
minikube logs 可以发现 unable to pull sandbox image "gcr.io/google_containers/pause-amd64:3.0" 错误, 在网上查了一下可以发现是由于GFW的原因下载不了
- 执行
minikube ssh 进入到 minikube,然后执行 docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0 来指定阿里云的仓库下载 google-containers/pause-amd64:3.0, 然后通过命令 docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0 gcr.io/google_containers/pause-amd64:3.0 来打tag到本地
- 删掉之前的pod,然后通过describe命令,就可以看到在pull nginx,一段时间之后,
kubectl get pods 会发现状态变成了 nginx-app-1666850838-03h7g 0/1 running 0 1m
- 但是执行命令
kubectl get services 发现,service还是只有nginx,所以执行 kubectl expose deployment nginx-app --port=80 --name=nginx-http --type=NodePort 通过NodePort模式暴露一个新的服务,然后通过 kubectl get services 可以得到 nginx-http 10.0.0.73 <nodes> 80:30716/TCP 2s
- 通过
kubectl cluster-info 来得到 Kubernetes master is running at https://192.168.64.2:8443, 然后执行 curl '192.168.64.2:30716' 就可以访问到nginx了, 或者通过 minikube service nginx-http 来进行访问
本文标题:docker第四天,安装k8s和minikube,简单部署ngi
本文链接:https://www.haomeiwen.com/subject/runddxtx.html
网友评论