使用minikube安装kubernetes和dashboard

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 使用minikube安装kubernetes和dashboard

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,使用上一篇文章的启动命令

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

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

kubectl create deployment rabbitmq-minikube --image=docker.io/rabbitmq:3.8.2-management

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

微信图片_20221212161810.png

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

3.将rabbitmq暴露一个service端口


kubectl expose deployment rabbitmq-minikube --type=NodePort --port=15672

微信图片_20221212161836.png

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


minikube service rabbitmq-minikube --url

微信图片_20221212161856.png

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

微信图片_20221212161914.png

5.打开Dashboard


minikube dashboard

提示如下:

微信图片_20221212161938.png

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


http://127.0.0.1:43584/api/v1/namespaces/kubernetes-dashboard/services/http:

微信图片_20221212161959.png

查看所有pod,发现没有Dashboard


kubectl get pods --namespace kube-system

微信图片_20221212162024.png

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


kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

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

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状态:


kubectl get pods --all-namespaces

微信图片_20221212162100.png

查看pod日志:


kubectl logs -f pods/kubernetes-dashboard-7c54d59f66-7tswd -n kube-system

微信图片_20221212162128.png

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

systemctl stop kubelet
systemctl stop docker
iptables --flush
iptables -tnat --flush
systemctl start kubelet
systemctl start docker

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

微信图片_20221212162205.png

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


http://127.0.0.1:39780/api/v1/namespaces/kubernetes-dashboard/services/http:kub

微信图片_20221212162234.jpg

6.常用命令

#查看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

微信图片_20221212162308.png

参考文档:

https://kubernetes.io/docs/setup/learning-environment/minikube/
https://blog.csdn.net/shida_csdn/article/details/80028905?utm_source=blogxgwz1
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
10天前
|
Kubernetes Ubuntu Linux
我应该如何安装Kubernetes
我应该如何安装Kubernetes
|
1月前
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
123 1
|
1月前
|
Kubernetes Linux 开发工具
centos7通过kubeadm安装k8s 1.27.1版本
centos7通过kubeadm安装k8s 1.27.1版本
|
1月前
|
Kubernetes Docker 容器
rancher docker k8s安装(一)
rancher docker k8s安装(一)
40 2
|
1月前
|
Kubernetes 网络安全 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
211 2
|
1月前
|
存储 Kubernetes 负载均衡
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
28 1
|
1月前
|
负载均衡 应用服务中间件 nginx
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
51 1
|
1月前
|
缓存 Kubernetes 应用服务中间件
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
|
1月前
|
弹性计算 Kubernetes Linux
如何使用minikube搭建k8s集群
如何使用minikube搭建k8s集群
|
1月前
|
Kubernetes Docker 容器
rancher docker k8s安装(二)
rancher docker k8s安装(二)
44 0

推荐镜像

更多