如果你玩过K8S的话,应该晓得有个叫Minikube的货色,能够在本机搭建一个单节点的K8S环境。最近发现一个图形化工具Rancher Desktop,比Minikube更好用,根本能够实现一键搭建K8S环境,在Win10上用起来十分不便,举荐给大家!
SpringBoot实战电商我的项目mall(50k+star)地址:https://github.com/macrozheng/mall
Rancher Desktop简介
Rancher Desktop 是一款开源的K8S管理工具,目前在Github上已有2.9K+Star
。它是桌面版的K8S和容器管理工具,反对在Windows, macOS and Linux上应用。如果你在Windows上想搭建K8S环境,应用Minikube的话,就得先搭建虚拟机、而后装置Linux、再装置Minikube才行。而应用Rancher Desktop的话你只需装置它即可,它将主动装置K8S环境,的确很不便!
上面是一张Rancher Desktop的应用界面图,反对一键切换K8S版本,十分不错!
WSL
得益于WSL(实用于 Linux 的 Windows 子系统),咱们能够更不便地在Windows下装置Linux子系统,且不会产生传统虚拟机或双启动设置开销。Rancher Desktop Windows版正是基于WSL来装置K8S环境的,上面几个罕用的WSL命令大家能够理解下。
# 应用wsl装置Linux的发行版(默认Ubuntu)
wsl --install
# 列出曾经装置的Linux发行版
wsl --list --verbose
# 通过在线商店取得的 Linux 发行版列表
wsl --list --online
# 敞开Linux子系统
wsl --shutdown
PowerShell
PowerShell是一种跨平台的工作自动化解决方案,由命令行shell、脚本语言和配置管理框架组成。PowerShell能在Windows、Linux和macOS上运行。
K8S环境装置实现后,咱们将应用PowerShell来操作K8S,应用的工具是Tabby ,Tabby 不愧是款神器,PowerShell反对也十分不错!
装置
接下来咱们将在Win10上装置Rancher Desktop,看看它是不是比Minikube更好用。
- 首先下载Rancher Desktop的安装包,下载地址:https://github.com/rancher-sa…
- 下载胜利后双击装置,会让你抉择K8S版本和容器运行时;
- 之后Rancher Desktop会自行装置K8S环境和WSL,无需手动下载,如遇到下载不了的状况,能够切换K8S版本试试,这里应用的是
v1.21.9
版本;
- 接下来在PowerShell中就能够应用
kubectl
命令了,比方查看下集群信息,至此K8S环境装置结束,贼简略吧!
应用
接下来咱们将在K8S上部署一个Nginx利用,来体验下应用Rancher Desktop装置的K8S环境是否和Minikube的一样!
- 首先创立一个用于部署Nginx利用的Deployment;
kubectl create deployment kubernetes-nginx --image=nginx:1.10
- 而后查看下利用是否曾经部署就绪;
kubectl get deployments
- 部署胜利后咱们创立一个服务用于裸露Nginx利用,以便内部拜访;
kubectl expose deployment/kubernetes-nginx --type="NodePort" --port 80
- 查看一下服务能够获取内部拜访端口;
kubectl get services
- 接下来间接通过浏览器就能够拜访到Nginx服务了。
可视化治理
之前应用Minikube的时候能够用 Dashboard来可视化治理K8S,应用Rancher Desktop装置的K8S环境也是能够它来治理的,上面咱们就来体验下。
- 首先在K8S环境中装置Dashboard,应用如下命令即可,装置脚本地址:https://raw.githubusercontent…
kubectl apply -f recommended.yaml
- 因为拜访Dashboard须要应用登录Token,咱们得先创立用户并生成token;
- 创立
dashboard-adminuser.yaml
配置文件,配置admin-user
账户并赋予集群管理员角色;
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
- 应用如下命令创立
admin-user
用户;
kubectl apply -f dashboard-adminuser.yaml
- 再应用如下命令生成登录Token,复制好以备登录Dashboard时应用;
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
- 应用
kubectl proxy
命令启用Dashboard的内部拜访,拜访地址:http://localhost:8001/api/v1/…
- 接下来就能够欢快地应用Dashboard治理K8S环境了,例如查看所有的Deployment;
- 查看所有运行中的Pod;
- 查看所有失效的Service。
总结
在Windows下装置K8S环境始终是件很麻烦的事件,直到应用了Rancher Desktop之后,才发现竟然能够如此简略!明天体验了一把,应用起来和Minikube并没啥区别,想在Windows上体验一下K8S的小伙伴能够尝试下它!
如果你想更加深刻学习K8S的话,能够参考下我之前写的K8S系列教程 。
如果你想在K8S下实际整套微服务项目的话,举荐这个标星8.2K+
的实战电商我的项目(带全套教程):https://github.com/macrozheng…
参考资料
- Rancher Desktop官网文档:https://docs.rancherdesktop.io/
- K8S官网文档:https://kubernetes.io/zh/docs…
- WSL应用文档:https://docs.microsoft.com/zh…
发表回复