InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

如何统一管理谷歌 GKE、AWS EKS 和 Oracle OKE

  • 2020-05-14
  • 本文字数:3550 字

    阅读完需:约 12 分钟

如何统一管理谷歌GKE、AWS EKS和Oracle OKE

在 Rancher 出现之前,管理在不同云提供商中运行的 kubernetes 集群从来都不是一件容易的事。Rancher 是什么?它是一个开源的 Kubernetes 管理平台,用户可以在 Rancher 上创建对接不同云的 Kubernetes 集群,或直接向导入已有的 Kubernetes 集群进行统一纳管。


在这篇文章中,我将演示如何在 Google 云、AWS Cloud 中启动 Kubernetes 集群以及如何从 Oracle Cloud 导入集群。所有这三个集群,最终都将在 Rancher Dashboard 上拥有直观的视图,并能进行统一管理。本文将逐步展示如何从 Rancher 创建 Kubernetes 集群,以及如何通过 Rancher Dashboard 轻松完成监控和部署。


除了 Rancher Kubernetes 管理平台之外,Rancher Labs 也发布过自己的 RKE(Rancher Kubernetes Engine)供用户选择使用。RKE 这是一个非常简单、闪电般快速的 Kubernetes 安装程序,可以在任何地方使用。因此,它消除了在裸机服务器或 VM 上安装 Kubernetes 集群的痛苦,并且它还提供了很多自定义的灵活性。

RKE 安装

在这一章里我将演示如何在 3 个 VM 上安装 Rancher Kubernetes 集群。首先你需要三台机器来启动 RKE 集群。我使用的是 3 个 EC2 实例与 ubuntu18.04,作为启动镜像。所以现在我已经有了一个单独的 VM,我将执行这三个节点的所有安装,其中一个将是主节点,另外两个将是工作节点。我已经按照官方文档(https://rancher.com/docs/rke/latest/en/installation/)进行了安装,为了让整个工作更简单,我稍微调整了一些步骤。


  • 步骤 1:下载 RKE 二进制文件

  • 步骤 2:mv rke_linux-amd64 rke

  • 步骤 3:导出 PATH = / home / cloud_user / rke:$ PATH

  • 步骤 4:到目前为止,我已经安装了三台安装了 docker 的 ubuntu EC2 机器(一定要运行“usermod -aG docker ubuntu”,这样才能让 docker 可以被 ubuntu 用户访问)、以及在创建这些实例时我使用的私钥文件。你需要做的是在当前的 VM 中创建文件,复制密钥的内容,更改密钥权限并尝试登录到你的 EC2 实例之一。



然后运行以下命令:


rke config --name cluster.yml(如果你还没有设置路径,此处则可以使用./rke)。


一旦你按下 Enter 键,它将开始询问你一些不同的参数值,因为它会根据这些参数值来创建 cluster.yml 文件。这些参数基本上是你定义的节点特征,rke 会自动为你创建 cluster.yml。你也可以按照 Rancher 的文档自行创建。



以上是我传递的参数,并基于它生成了 cluster.yml 文件。基本上它就是三个节点配置和我默认选择的其他一些与集群相关的配置。



以上是 Node 基于我们传递的参数在 cluster.yml 文件中的样子。 现在你已准备好了 cluster.yml 文件,就可以继续下一步了。


  • 步骤 5:运行“rke up”以启动集群(如果你在同一位置有 cluster.yml 文件的话),或者如果你拥有 cluster.yml 以外的文件,则可以运行: rke up --config abc.yml


就这样简单!!! 然后你将可以看到集群启动了,并开始显示各种 INFO 日志,以执行各种工作来启动集群并将节点连接在一起。这也让你可以看到幕后发生的事情,以便你可以感受到集群创建的所有步骤。如果不需要这些,你只需看看我们“成功建立 Kubernetes 集群”即可。



部分日志


在此之后,rke 还会创建一个 kubeconfig 文件,你可以使用该文件与集群进行交互(在此之前需安装 kubectl),名称为“kube_config_cluster_yml”。如果你使用的 yml 文件用了其他名称,那么它将是’kube_config_test_yml’,然后就可以使用这个 config 文件与集群进行交互了。



万事俱备

Rancher 安装

现在我将向你展示如何安装 Rancher 并从 Rancher Dashboard 创建/导入集群。 我将使用我用于 RKE 安装的相同 VM。 我将在端口 80 上运行 Rancher 作为 docker 容器。


命令: docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher


搞定!Rancher 现在已经运行起来了!


下面登录 Rancher <ipaddress>并设置密码,使用 URL。



Rancher 的第一屏界面



Rancher Dashboard


现在,Rancher 已启动并正在运行了,我们可以开始准备创建和导入集群。下面我将向你展示如何使用 Rancher 创建 AWS 和 Google 云集群,以及如何从 Oracle 云和最近创建的 RKE 导入集群。

使用 Rancher 创建 AWS 集群

步骤 1:单击“添加集群”并选择 Amazon EKS。选择完之后,你将需要提供集群名称、访问密钥(Access Key)和 secret Key。



步骤 2:单击“配置集群”,然后选择 Kubernetes 版本和服务角色。



集群选项


步骤 3:单击选择 VPC 和子网,以选择节点的 VPC 和公共 IP。



VPC


步骤 4:选择实例选项,以指定节点的形状和大小。



节点


步骤 5:创建集群



单击“创建”后,配置 AWS EKS 集群就开始了,这一切将显示在 AWS 仪表板和 Rancher Dashboard 中。



AWS 集群已创建

使用 Rancher 创建

Google Kubernetes 集群

步骤 1:在 Google 云端控制台中创建具有以下权限的服务帐户。



服务帐户


步骤 2:为该服务帐户创建 JSON 密钥并将其保存在你的计算机上,因为在通过 Rancher 创建集群时将需要此密钥。



创建 JSON 密钥


步骤 3:转到 Rancher Dashboard,单击“添加集群”并选择 Google GKE。 填好集群的名称,并粘贴您刚刚在步骤 2 中创建的服务帐户 JSON 文件。



添加集群并提供 JSON 文件


步骤 4:单击“配置节点”后,它将使用提供的 JSON 文件进行身份验证,并显示两者不同的部分,你可以在其中选择相应的集群选项。 你可以选择区域、Kubernetes 版本、节点数/形状/镜像、启用/禁用自动修复、自动缩放和自动升级等功能,然后单击“创建”。



就是这样,只要你点击“创建”,Google Kubernetes 集群就创建好了。



GKE

使用 Rancher 导入 RKE 集群

在本节中,我将展示如何将 RKE 集群导入你刚刚在本文开头创建的 Rancher。


步骤 1:单击添加集群,选择导入选项后,填入集群名称并单击创建。



正在导入集群


步骤 2:运行下一个屏幕上提到的命令,以创建集群管理员角色以及 Rancher 导入需要的 yaml。



命令



创建角色



将 yaml 文件应用于 RKE 集群以完成 rancher 导入

将 Oracle Kubernetes 引擎

导入 Rancher Dashboard

先创建 OKE(Oracle Kubernetes Engine),转到 Oracle OCI 控制台,从菜单中选择开发者服务,然后选择集群。我将选择快速创建选项,因为它非常简单,除了提供集群名称和节点形状和计数之外,无需再执行任何其他操作。



OKE 集群创建



Cluster 已创建成功

Rancher Dashboard

下面让我们看看 Rancher Dashboard。



各处集群,一处管理


现在,你可以使用 Rancher Dashboard 进行各种不同的操作。

启用监控

你可以直接使用 Dashboard 启用 prometheus 和 grafana 监控,并访问所有集群的 grafana 仪表板。 下面我将展示如何为 Google Kubernetes 集群执行操作,这些流程适用于其他所有各类集群。


步骤 1:选择要为其启用监控的集群。


步骤 2:从工具菜单中选择监控。



选择监控


步骤 3:单击“启用”并设置限制。单击保存。



配置


单击“保存”后,你的监控功能已启用。当你单击集群时,您将可以看到 grafana 的 logo。



单击任意一个 Grafana 的 logo,你会跳转到 Grafana 的仪表板,可以在其中查看所有指标,并根据需要创建告警。



GKE 的 Grafana 仪表板



OKE 的 Grafana 仪表板



RKE 的 Grafana 仪表板

管理集群

你可以使用 Rancher Dashboard 轻松管理集群的所有已部署的 pod、服务等。



GKE 的 pods


在这里,您可以编辑 yaml 文件,重新部署它们并根据需要更改配置。

部署应用程序

使用 Rancher Dashboard 将应用程序部署到集群非常简单。 只需打开集群的工作负载页面,即可部署应用程序。



部署


下面让我们来部署一个示例的 nginx 应用程序。 选择部署时,你可以使用各种选项来部署应用程序。



部署应用程序



你可以设置环境变量、执行节点计划、运行健康检查、创建卷以及定义扩展策略。 你还可以通过单个的应用程序部署界面做很多事情(特别酷炫!)。你也可以暴露端口(对于我的部署,我已将它暴露为外部负载均衡器)。



已经部署成功的应用程序

执行 kubectl 命令

您可以在配置集群时生成的 kubectl shell 的帮助下,通过 Rancher UI 执行 kubectl 命令。这里的一个问题是,当您尝试多次运行 kubectl shell 时,由于某些 docker 的问题会导致断开连接。另一种可行方法是下载 kubeconfig 文件并在本地运行 kubectl 命令。


你还可以创建卷,创建 CI/CD 的 Pipeline 等等。

结语

在这篇文章中,我分享了:


  • 如何安装 Rancher

  • 如何使用 Rancher 安装 Google GKE

  • RKE 设置

  • 使用 Rancher 创建 AWS EKS

  • 将 Oracle Cloud OKE 导入 Rancher

  • 从 Rancher 启用对集群的监控

  • 使用 Rancher UI 部署示例应用程序并将其作为负载均衡器公开

  • 使用 Rancher UI 执行 Kubectl 命令


Rancher 的功能非常多,我当然无法仅用一篇文章就分享完所有 Rancher 的功能、特性等等所有方面,更多用法大家可以继续自行探索。


活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2020-05-14 22:26452

评论

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

业务出海,灵感乍现前要先「把手弄脏」

融云 RongCloud

带你认识一下数仓的分区自动管理

华为云开发者联盟

数据库 后端 分区

执行ls /dev/pts为什么这么慢?

BUG侦探

内核 ebpf devpts

CSDN Meetup 回顾 丨从数据湖到指标中台,提升数据分析 ROI

Kyligence

数据分析 指标中台

单元测试,写起来到底有多痛?你会了吗

C++后台开发

网络编程 单元测试 后端开发 Linux服务器开发 C++开发

如何有效规避代码被“投毒”?

安势信息

许可证 代码安全 开源软件 安全合规检测 开源软件供应链

到底什么是自助洗车?来科普下

共享电单车厂家

自助洗车加盟 车白兔自助洗车 什么是自助洗车

适合新手的12个Mybatis-Plus常用注解

华为云开发者联盟

后端 开发

结合pyqt5开发办公文档一键转换软件,以后再也不用开会员转文件了

迷彩

打包 7月月更 自动化办公

华为云:一切皆服务,共建全场景智慧金融

Geek_2d6073

openGauss内核分析:查询重写

华为云开发者联盟

数据库 后端 查询 SQL语言 openGauss内核

SpringBoot到底是什么

华为云开发者联盟

开发 springboot parent

LP流动性质押挖矿系统开发详细程序

开发微hkkf5566

国产操作系统生态建设,小程序技术来帮忙

Speedoooo

小程序 国产操作系统 小程序容器 桌面应用

不懂点儿统计学,《星球大战》白看了

图灵教育

统计学 贝叶斯定理

视频聊天源码——一对一直播系统源码

开源直播系统源码

软件开发 直播系统源码 开源源码

自助洗车或许要比自动洗车更干净

共享电单车厂家

自助洗车 自助洗车加盟 车白兔自助洗车 自动洗车

如何学习好web前端开发技术知识

小谷哥

21条最佳实践,全面保障 GitHub 使用安全

SEAL安全

GitHub 安全

自助洗车加盟要满足什么条件

共享电单车厂家

自助洗车加盟 车白兔自助洗车

尚硅谷SSM新版视频教程发布

小谷哥

7月《中国数据库行业分析报告》发布!居安思危,安全先行

墨天轮

数据库 腾讯云 阿里云 国产数据库 数据库安全

ES6 类聊 JavaScript 设计模式之创建型模式

devpoint

JavaScript 设计模式 工厂模式 7月月更 创造性模式

商城异地多活架构设计

泋清

#架构训练营

ICASSP 2022 | 用于多模态情感识别的KS-Transformer

优必选科技

人工智能 多模态机器学习

自助洗车为洗车行业注入新活力

共享电单车厂家

自助洗车 自助洗车加盟 车白兔自助洗车 洗车行业市场

直播预告 | 7月22日《开源安全治理模型和工具》线上研讨会

安势信息

开源安全 SCA工具 开源软件供应链 SBOM SLSA

让软件开发民主化的低代码

力软低代码开发平台

TMECH发表优必选运控技术最新进展:实现人形机器人高鲁棒性行走

优必选科技

自助洗车费用居然比雪糕还便宜?

共享电单车厂家

自助洗车加盟 车白兔自助洗车 自助洗车费用 自助洗车价格

零基础如何学习大数据开发知识

小谷哥

  • 扫码添加小助手
    领取最新资料包
如何统一管理谷歌GKE、AWS EKS和Oracle OKE_文化 & 方法_Rancher_InfoQ精选文章