现在很多同学都是用MacBook进行开发,但是由于MacOS对docker支持不是很好,创建基于容器的环境也比较费劲。在本文中,我们介绍基于K3D在macOS上本地运行Rancher以进行Kubernetes集群开发和测试。
概述
K3D是轻量级包装,可在Docker中运行Rancher Labs的K3S。K3s是经过认证的Kubernetes发行版,适用于边缘和物联网等只具有较小的资源空间的设备。和KiND一样,K3D使用容器运行时而不是虚拟机部署,从而节省了宝贵的资源。与KiND不同,K3D支持ARM体系结构,所需的RAM减少约16倍。
在MacOS一个创建用于本地开发的多节点K8s集群,并使Rancher来帮助集群管理;也能从命令行管理集群生命周期。实例需要在计算机上安装一些依赖工具,这些工具和正在运行的macOS版本无关紧要:
Docker Desk(禁用Kubernetes);
Homebrew;
Xcode的命令行工具;
Kubernetes命令行工具Kubectl;
Powerlevel10k(可选);
使用K3d安装K3S
使用Homebrew安装k3d,Helm和Kubernetes CLI:
提示:k3d安装需要Xcode CLT,因此请确保先已经安装过。
k3d安装完成后,使用它来创建测试集群:
应该看到如下输出:
使用Kubernetes CLI对测试集群进行自省:
应该看到如下输出:
默认计算机上已经运行一个单节点测试集群。我们创建另一个名为k3s-rancher的,集群有一个主服务器和和3个代理节点:
应该看到如下输出:
如果使用Powerlevel10k,则显示:
在这种情况下,集群为k3d-k3s-rancher。
接下来使用Kubernetes CLI查看集群信息:
应该看到如下输出:
安装Rancher
接着,安装Rancher,首先是证书管理器。
安装证书管理器
cert-manager是安装Rancher的先决条件。安装并验证证书管理器。这是基础结构的重要组成部分。
安装完成后,用以下命令进行验证:
应该看到如下输出:
等待所有pods 为READY状态,并确认已部署部署:
OK完成后,应该输出:
运行Helm Chart
部署了证书管理器后,使用Helm将Rancher安装到集群中:
应该看到如下输出:
使用以下命令监视Rancher部署部署的状态:
应该看到如下输出:
部署Rancher完成hou9,可使用以下命令检查安装:
如果安装正常,应该看到如下输出:
验证Rancher服务器是否已成功部署:
应该看到如下输出:
下次运行docker ps并验证Rancher负载均衡器的端口443是否已映射:
如果有k3d-k3s-rancher-serverlb监听为:0.0.0.0:443->443/tcp。如果无法监听443端口i,将无法使用https连接到Rancher。
应该看到如下输出:
要具体查看每个节点的运行情况,可以使用下面的命令:
应该看到如下输出:
注意到,共有23个容器运行。检查资源使用情况kubectl top node。应该看到如下输出:
也可以htop以图形方式停止显示机器实际的状态:
更新hosts文件
要使用Rancher UI,我们需要首先修改hosts文件(/etc/host)要添加对rancher.k3d.localhost的解析,将其解析到本地本地环回地址,即:
启动Rancher UI
然后通过HTTPS浏览到。如果有证书报错
ERR_CERT_INVALID浏览器,告警站点使用了不信任所使用的证书。在macOS上,单击,点击高级点击thisisunsafe。
绕过证书安全性检查hou9,我们会访问rancher初始登陆欢迎界面,提示创建一个页面管理员和密码:
创建密码,保留.想创建或管理多个集群选择,禁用匿名数据收集,同意条款,然后单击Continue。接下来的页面允许保存Rancher服务器网址。
查看发行说明和集群管理器:
浏览到 以查看集群仪表板:
这是Rancher 2.5中添加的新仪表板,增加集群管理器,还包括用于应用程序的新市场,可以使用任何Helm图表存储库进行安装:
至此,已经开始在本地开始Rancher的工作,具体Web UI下的功能探索,请大家自行探索,我们不再详细介绍。
集群生命周期
停止并重新启动集群很简单:
集群清理
完成后,可以使用以下方法删除集群:
应该看到如下输出:
可以通过运行docker ps进行确认,以查看k3s集群中的服务器节点不再运行。
总结
本文我们介绍了在MacOS基于K3d创建一个用于本地开发的多节点K8s集群,并使Rancher来帮助集群管理;要说的是本文介绍的工具栈并不是唯一的工具栈,还有很多其他工具也可以完成同样的工作,如果你有更好用的工具栈也可以回复介绍给大家。
领取专属 10元无门槛券
私享最新 技术干货