写点什么

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

评论

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

重塑元宇宙体验!3DCAT元宇宙实时云渲染解决方案来了

3DCAT实时渲染

元宇宙 元宇宙解决方案

怎么看电脑上是否有lindex命令可运行

linux大本营

bash Linux linux命令

TCP正常关闭连接

阿泽🧸

TCP 三周年连更

linux环境下用c语言实现reactor网络模型的代码案例

linux大本营

Linux reactor 高并发 epoll

C语言检测输入的ip地址中含有几个.

linux大本营

C语言 字符串

组播ip地址,广播ip地址,特殊ip地址

linux大本营

TCP IP地址

C语言检测输入的ip地址是否合法

linux大本营

C语言 IP地址

运行脚本报错lindex:未找到命令

linux大本营

bash Linux 脚本

怎么查看自己的mac地址和ip

linux大本营

Mac 网络 Windows Server IP地址

一键搭建web版chatGPT,无需魔法,国内可用

石云升

AI AIGC ChatGPT 三周年连更

报名开启,明天直播!龙蜥社区多位专家在线报告 | 2023 大学生操作系统大赛培训会

OpenAnolis小助手

活动 操作系统 计算机 大学生 龙蜥社区

创建型模式之单例模式和工厂模式

共饮一杯无

设计模式 创建型模型 三周年连更

IPv6过渡技术概述

穿过生命散发芬芳

ipv6 三周年连更

Flutter 开发:如何引入第三方库并安装使用

三掌柜

三周年连更

仅需三步,快速打造指标数据应用

Kyligence

数据分析 指标平台

ORACLE EBS:多组织结构 理解与配置

back_wang

oracle oracle ebs oracle apex

C头文件是什么,使用mmap

linux大本营

C语言 Mmap

一文初探 Goroutine 与 channel

陈明勇

Go golang channel goroutine 三周年连更

lindex命令在shell脚本里的应用

linux大本营

Shell linux命令 脚本 shell脚本

2023-04-21:用go语言重写ffmpeg的metadata.c示例。

福大大架构师每日一题

Go ffmpeg

解析mmap系统调用的所有的标志位

linux大本营

Linux 内存管理 Mmap 系统调用 内存映射

MySQL 教程

网络视频监控如何入门?如何安装和配置、设备选择和实时监控?

wljslmz

三周年连更

Android XML数据解析

芯动大师

android XML配置 三周年连更

AI视觉实战2:实时头发染色

轻口味

android AI 图像处理 三周年连更

如何快速在手机中查看UDID,无需itunes、itools

Node 版本控制

程序员海军

Node 三周年连更

kafka常用命令

烟波

kafka MQ 中间件

大模型带来的Web复兴,会是昙花一现吗?

脑极体

AI 云厂商

QUIC技术分享

linux大本营

网络协议 udp QUIC

挑战 30 天学完 Python:Day11 函数

MegaQi

Python 挑战30天学完Python 三周年连更

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