前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用minikube安装kubernetes和dashboard

使用minikube安装kubernetes和dashboard

作者头像
jinjunzhu
发布2020-08-20 15:35:49
3.5K0
发布2020-08-20 15:35:49
举报
文章被收录于专栏:个人开发

minikube可以运行一个本地单节点的kubernetes集群,可以非常容易地在本地部署kubernetes。虽然只支持单节点的kubernetes集群,但是能支持很多kubernetes特性,包括:

  • DNS
  • NodePorts
  • ConfigMaps and Secrets
  • Dashboards
  • Container Runtime: Docker, CRI-O, and containerd
  • Enabling CNI (Container Network Interface)
  • Ingress
  • Installa

还没有安装好minikube,可以阅读我的上篇文章《centos安装kubectl和minikube工具》。

本文以安装rabbitmq为例,使用minikube来部署一个kubernete节点

1.启动minikube,使用上一篇文章的启动命令

代码语言:javascript
复制
minikube start --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' --vm-driver=none

2.下面使用已经存在的镜像rabbitmq部署kubernete

代码语言:javascript
复制
kubectl create deployment rabbitmq-minikube --image=docker.io/rabbitmq:3.8.2-management

注意:为了方便管理,建议命令最后指定版本号,如果不指定,默认是latest

status=running说明服务已经起来了

3.将rabbitmq暴露一个service端口

代码语言:javascript
复制
kubectl expose deployment rabbitmq-minikube --type=NodePort --port=15672

4.查看service对外暴露的url详情

代码语言:javascript
复制
minikube service rabbitmq-minikube --url

这个地址就是我们访问rabbitmq的地址,在浏览器输入这个地址,进入rabbitmq页面,

5.打开Dashboard

代码语言:javascript
复制
minikube dashboard

提示如下:

1)在浏览器输入失败,如下图:

代码语言:javascript
复制
http://127.0.0.1:43584/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

查看所有pod,发现没有Dashboard

代码语言:javascript
复制
kubectl get pods --namespace kube-system

2)创建Dashboard节点,按照官方的方法:

代码语言:javascript
复制
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

3)查看pod状态是ImagePullBackOff,镜像拉取失败。只能从阿里云pull镜像了,如下命令:

代码语言:javascript
复制
docker pull  mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1
docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

上面命令执行成功后,再执行2)中的命令。查看pod状态:

代码语言:javascript
复制
kubectl get pods --all-namespaces

查看pod日志:

代码语言:javascript
复制
kubectl logs -f pods/kubernetes-dashboard-7c54d59f66-7tswd -n kube-system

参考网上的一些资料,这个错误是kube dns反复重启,需要重启ip规则,如下命令:

代码语言:javascript
复制
systemctl stop kubelet
systemctl stop docker
iptables --flush
iptables -tnat --flush
systemctl start kubelet
systemctl start docker

之后再查看pod状态,发现启动成功了。

在虚机浏览器输入下面网址,可以看到kubernete dashboard页面

代码语言:javascript
复制
http://127.0.0.1:39780/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

6.常用命令

代码语言:javascript
复制
#查看kubernete集群下的pod
kubectl get pod
#查看集群下所有pod和namespace信息
kubectl get pods --all-namespaces
#删除一个pod -n后跟namespace
kubectl delete deployment dashboard-metrics-scraper -n kubernetes-dashboard
#删除service
kubectl delete services rabbitmq-minikube
#停止minikube集群
minikube stop
#删除minikube集群
minikube delete
#查看service对外暴露详情
minikube service rabbitmq-minikube
这个命令会使用默认l浏览器打开这个地址
#查看pod状态
kubectl describe -n kube-system pod/kubernetes-dashboard-65c76f6c97-htfxt
#查看pod启动日志
kubectl logs -f pods/kubernetes-dashboard-65c76f6c97-htfxt -n kube-system
minikube logs
#为rabbitmq-minikube deployment创建service,并通过Service的80端口转发至容器的8000端口上。
kubectl expose deployment rabbitmq-minikube --port=80 --target-port=8000

参考文档:

代码语言:javascript
复制
https://kubernetes.io/docs/setup/learning-environment/minikube/
https://blog.csdn.net/shida_csdn/article/details/80028905?utm_source=blogxgwz1
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 jinjunzhu 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档