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

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

在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集群的痛苦,并且它还提供了很多自定义的灵活性。

[[265705]]

RKE安装

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

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

  • wget
  • https://github.com/rancher/rke ... amd64

步骤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实例之一。

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

然后运行以下命令:

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

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

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

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

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

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

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

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

 

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

部分日志

 

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

 

如何统一管理谷歌GKE、AWS EKS和Oracle OKE 设置完成

 

Rancher安装

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

命令:

  1. docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher 

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

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

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

 

Rancher的***屏界面

 

 

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

Rancher Dashboard

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

使用Rancher创建AWS集群

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

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

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

 

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

集群选项

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

 

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

VPC

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

 

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

节点

步骤5:创建集群

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

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

 

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

AWS集群已创建

使用Rancher创建Google Kubernetes集群

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

 

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

服务帐户

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

 

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

创建JSON密钥

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

 

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

添加集群并提供JSON文件

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

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

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

 

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

GKE

使用Rancher导入RKE集群

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

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

 

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

正在导入集群

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

 

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

命令

 

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

创建角色

 

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

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

将Oracle Kubernetes引擎导入Rancher Dashboard

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

 

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

OKE集群创建

 

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

Cluster已创建成功

Rancher Dashboard

下面让我们看看Rancher Dashboard。

 

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

各处集群,一处管理

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

启用监控

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

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

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

 

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

选择监控

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

 

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

配置

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

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

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

 

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

GKE的Grafana 仪表板

 

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

OKE的Grafana 仪表板

 

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

RKE的Grafana仪表板

管理集群

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

 

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

GKE的pods

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

部署应用程序

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

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

部署

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

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

部署应用程序

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

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

 

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

已经部署成功的应用程序

执行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的功能、特性等等所有方面,更多用法大家可以继续自行探索。

责任编辑:未丽燕 来源: dockone.io
相关推荐

2009-02-25 18:32:39

虚拟化IT服务器虚拟化

2009-05-05 14:25:49

服务器管理IBM

2013-11-13 23:14:57

惠普OneView数据中心

2023-12-06 08:00:41

2013-12-16 09:10:35

混合网络虚拟化统一管理

2010-12-09 15:23:30

2011-08-02 14:18:22

2012-03-30 10:41:52

imo

2011-10-19 09:57:11

2009-09-10 22:46:37

统一管理系统IP可视化华为

2010-05-10 09:02:50

Visual Stud

2010-09-26 09:59:42

IP网络SAN博科

2023-01-16 09:46:39

2011-08-02 14:52:56

流量控制路由器飞星鱼

2011-08-02 13:51:33

2013-01-17 14:40:19

公有云私有云云操作系统

2011-10-19 09:39:25

2021-07-28 10:09:20

谷歌Chrome Android

2011-12-31 16:26:34

三重保护信息防泄漏IP-guard

2013-01-18 14:32:05

云操作系统
点赞
收藏

51CTO技术栈公众号