如果你玩过 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…