2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

使用 Rancher Server 部署本地多借点 K8S 集群

  • 2020-05-25
  • 本文字数:1769 字

    阅读完需:约 6 分钟

使用Rancher Server部署本地多借点K8S集群

当我第一次开始我的 Kubernetes 之旅时,我一直在寻找一种设置本地部署环境的方式。很多人常常会使用 minikube 或 microk8s,这两者非常适合新手在单节点集群环境下进行操作。但当我已经了解了基础知识之后,这两者显然不太够用,我需要进一步寻找能够运行本地多节点集群、与生产环境更相似的平台。为此,我查阅了许多参考资料,最后我找到了 Rancher Server。接下来,我要介绍我是如何设置我的本地 K8S 多节点集群的。

准备 master 节点和 worker 节点的虚拟机


上图显示了集群的架构,一个 master 节点和 3 个 worker 节点。要尝试诸如使用 ingress controller 进行负载均衡、会话保持、host 亲和性等跨节点功能,这是最低的配置。


Rancher Server 的安装并不复杂,它被打包为一个 docker 镜像,并且可以作为一个容器运行。一个节点的基本配置是运行在 Linux 虚拟机上的 docker CE 守护进程。在本例中,我选择使用 Ubuntu 18.04 LTS(具体的节点要求请参考 Rancher 的官方文档:https://rancher.com/docs/rancher/v2.x/en/installation/requirements/)。当我完成第一个 VM 设置时,我直接将其复制到另外三个中。如果你和我的操作一样,可以参考下方两个 tips:



最终,4 个节点都在我的电脑(i5,24G RAM)上启动,并分配以下资源。


  • Master 节点(2 core、4G RAM、Ubuntu 18.04 + Docker CE 18.09) x 1

  • Worker 节点(2 core, 3G RAM, Ubuntu 18.04 + Docker CE 18.09) x 3

在 master 节点上启动 Rancher server

sudo docker run --restart=unless-stopped \  -p 81:80 -p 444:443 rancher/rancher
复制代码


以上命令可以启动 Rancher server 容器,并且将其运行在 master 节点上。默认状态下,nginx ingress controller 会嵌入到 worker 节点中,并且绑定端口 80 和 443。因此我将 Rancger server 发布到端口 81 和 444 或其他端口,以避免端口冲突。

完成 Rancher server 初始设置


首先,使用 master 节点 IP 地址和端口 444 启动 Rancher server 控制台,它会要求设置管理员密码。



接着,确认 worker 节点到达 Rancher server 的 URL。这里为了方便我直接使用 master 节点 IP 地址作为 URL。完成了初始设置后,Rancher server 就可以添加新集群了。

创建一个新的 K8S 集群和 master 节点



因为我想要在本地虚拟机上运行 K8S 集群而不是在云端,所以选择“自定义”的选项(即上方说明为“ From my own existing nodes”),然后新集群的云提供商选项选为“None”。



在 ubuntu 虚拟机上复制并运行 docker 命令来启动 master 节点。一个 master 节点至少要有 etcd 和 control,如果你打算创建一个单节点集群,需要选择所有 3 个角色并更改命令。



运行 docker 命令之后,新节点将显示在 Rancher Server 控制台上,配置这一节点需要花费一些时间,一旦配置完成,状态将变为 active。

创建 worker 节点


对于 worker 节点,我们仅需要在节点选项选择“Worker”角色,然后在 3 个 worker 节点的 Ubuntu 虚拟机上复制并运行 docker 命令。



最后,在我的电脑上多节点集群已经准备就绪。

安装 kubectl 工具来管理新的 K8S 集群

新集群的 Kubernetes 版本时 v1.14.6,你可以在上面的截图内看到。为了更好地将 kubectl 工具版本与集群匹配,在 master 节点上运行以下命令,以安装特定版本:


curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.6/bin/linux/amd64/kubectlchmod +x ./kubectlsudo mv ./kubectl /usr/local/bin/kubectl
复制代码


Kubectl 工具需要一个 kubeconfig 文件与集群连接,新集群地 kubeconfig 文件可以在 Rancher Server 的控制台中找到。



复制以上 kubeconfig 文件,并保存为~/.kube/config 文件。随后 kubectl 就能够获取集群信息。



有关 kubectl 的安装和配置可以参考以下连接:



原文链接:

https://medium.com/@kwonghung.yip/setup-local-kubernetes-multi-node-cluster-with-rancher-server-fdb7a0669b5c


2020-05-25 16:391092

评论

发布
暂无评论
发现更多内容

【送礼品】诚邀体验SoFlu-JavaAl开发助手,重塑AI编码价值

飞算JavaAI开发助手

程序员 开发工具 Java. AI编程

神奇的云管理-企业玩转云端的魔法棒

行云管家

云计算 云管平台 云管理

实力上榜!云起无垠荣登“ISC安全大模型领域创新能力百强”

云起无垠

从虚拟到现实:AI与AR/VR技术如何改变体验经济?

天津汇柏科技有限公司

增强现实 VR虚拟现实 AI 人工智能

15款国产大模型透明度测评,腾讯混元评分稳居榜首

极客天地

Smooze Pro for Mac(鼠标增强工具专业版)v2.1.20激活版

小玖_苹果Mac软件

如何在中心化交易所上币?

区块链项目一站式包装孵化

中关村科技企业党建与发展大会:星辰天合 CEO 胥昕畅谈专精特新之路

XSKY星辰天合

WebGL的3D展示开发框架

北京木奇移动技术有限公司

3D模型 软件外包公司 webgl开发

提升测试效率:2024 年值得关注的 UI 自动化测试工具推荐

测试人

软件测试

全闪时代已至,您在担心 SSD 寿命吗?

XSKY星辰天合

#全闪存储

Illustrator 2024 for Mac(AI2024领先的矢量图形软件)v28.6.0中文激活版

小玖_苹果Mac软件

指标平台与BI:区别、联系及协同

Aloudata

数据分析 指标管理 指标平台 指标开发 指标定义

Desktop Goose for Mac(抖音桌面宠物鹅)v0.22激活版

小玖_苹果Mac软件

Project Office X Pro for Mac(项目管理软件)v1.1.11中文激活版

小玖_苹果Mac软件

一文让你通俗易懂信息安全与数据安全的区别

行云管家

网络安全 信息安全 数据安全 数字智能

3分钟完成产品网页搭建

CodeBuddy

夜莺监控 v8 第一个版本来了,开始做有意思的功能了

巴辉特

夜莺监控 开源监控

KaiwuDB 与开放原子开源基金会完成 KWDB 项目捐赠签约

KaiwuDB

数据库

AI 助力游戏开发中的常用算法实现

CodeBuddy

Logic Pro X for mac(mac苹果版音乐创作软件)v 11.1.1 直装免激活版

小玖_苹果Mac软件

webgl开发3D模型的优化

北京木奇移动技术有限公司

数字孪生 软件外包公司 webgl开发

利用 AI 获得 130% 超额收益

俞凡

人工智能 投资

文档解析技术发展回顾与路径思考

合合技术团队

人工智能 科技 AIGC 文档解析

ACDSee Photo Studio for Mac(老牌数字图像处理软件)v9.3.2859激活版

小玖_苹果Mac软件

不写一行代码,通义灵码 5 分钟“手撕”年会抽奖程序

阿里云云效

阿里云 云原生

Beyond Compare 4 for Mac(文件同步对比软件)v4.3.7(25118)中文修复版

小玖_苹果Mac软件

Smooze Pro for Mac(鼠标增强工具专业版)v2.1.20激活版

小玖_苹果Mac软件

MacCleanse for Mac(mac系统清理垃圾软件)v13.0.1激活版

小玖_苹果Mac软件

使用Rancher Server部署本地多借点K8S集群_文化 & 方法_Rancher_InfoQ精选文章