写点什么

使用 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:39819

评论

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

大模型驱动的新一代 BI 平台,Sugar BI 开启智慧决策新模式

Baidu AICLOUD

大数据 BI

联发科发布天玑AI开发套件,为开发者提供“快、全、强、易”专业开发体验

科技范儿

一文盘点 Partisia Blockchain 生态 4 月市场进展

大瞿科技

一文盘点 Partisia Blockchain 生态 4 月市场进展

石头财经

产品人生(1):从“MVP最小可行产品”看如何“走出拖延”

养心进行时

MVP 最小可行产品 走出拖延 拖延

「活动预告」PolarDB走进青岛,邀请您一起畅游琴岛山海春韵,共话数据生态创新

阿里云数据库开源

数据库 阿里云 开源 Polar polarDB

碳课堂|如何开展碳排放核算? ISO 14064-2 项目层次要点解读

AMT企源

双碳 碳管理 碳排放

嘘!不可评价

充实的orzi

RAG技术全解析:打造下一代智能问答系统

Geek_1ef48b

【活动】5 月 18 日,@每一个对开源数字经济感兴趣的你!

Apache IoTDB

京东商品详情API接口:京东商品价格趋势分析,洞察消费者购买行为

tbapi

京东商品详情数据接口

万卡时代不打群架,中国智算正过三关

脑极体

算力

全面的Partisia Blockchain 生态 4 月市场进展解读

BlockChain先知

鸿蒙HarmonyOS实战-ArkUI组件(Shape)

蜀道山

鸿蒙 架构 HarmonyOS 鸿蒙开发 鸿蒙5.0

OpenAPI 4 版本推出后会带来怎样的行业变革?

幂简集成

API OpenAPI

海外市场成 ISV 新掘金地?生成式 AI 如何加速业务创新实践?Zilliz 有话说

Zilliz

AWS 大模型 Zilliz LLM

鸿蒙HarmonyOS实战-ArkUI组件(Image)

蜀道山

鸿蒙 架构 HarmonyOS 鸿蒙开发 鸿蒙5.0

垃圾收集分析的意义

FunTester

# OpenIM引入rag-gpt加速开发者支持

Geek_1ef48b

Partisia Blockchain 生态4月盘点,更高效的数字经济解决方案

股市老人

《编译原理》阅读笔记:p1-p3

codists

编译原理

11个维度帮你有效评估产品可行性

养心进行时

产品分析 产品规划 产品可行性

一文盘点 Partisia Blockchain 生态 4 月市场进展

加密眼界

网页版思维导图哪个好用?这8款导图软件一定要知道!

彭宏豪95

思维导图 头脑风暴 在线白板 办公软件 思维导图软件

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