首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在MacOS上使用K3d和Rancher构建K8S集群

现在很多同学都是用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来帮助集群管理;要说的是本文介绍的工具栈并不是唯一的工具栈,还有很多其他工具也可以完成同样的工作,如果你有更好用的工具栈也可以回复介绍给大家。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210104A0BCZZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券