使用Terraform将AKS集群连接到Ocean

Spot by NetApp为各行各业的数百家客户提供不同的系统、环境、流程和工具。考虑到这一点,Spot的目标是灵活地开发我们的产品,这样无论用例如何,公司都可以获得云的全部好处。Spot可以轻松地插入到DevOps团队已经在使用的许多工具中,从CI/CD到作为代码的基础设施,包括Terraform。

Terraform和Spot之间的集成帮助我们的用户轻松高效地构建、修改和版本基础设施。通过AWS EKS和ECS或Azure AKS运行Kubernetes应用程序的Spot Ocean用户可以通过Ocean UI、API或Terraform管理他们的集群。现有模板保留在适当的位置,而Ocean为工作负载确定和提供最佳的服务器大小、类型和生命周期组合。

因为现货最近宣布了Ocean for Azure Kubernetes服务,让我们通过使用Terraform将AKS集群连接到Ocean的步骤。

在将AKS集群连接到Ocean之前,请验证以下条件:

  1. 将Azure帐户连接到Spot
  2. AKS集群至少运行一个节点。
  3. Kubernetes命令行工具kubectl,安装在用户的工作站上,并配置为与相关AKS集群一起工作。

连接并导入AKS集群到Ocean SaaS

首先,您需要安装Ocean控制器,并通过Netapp BE导入AKS集群Spot。如果要手动导入集群,则必须在集群中的一个节点上运行三个脚本。使用Terraform,您不必在实例上运行脚本。相反,您只需要为Ocean控制器运行下面的模块并创建集群。

为了安装Ocean控制器,您需要提供一个现货账户点令牌和集群标识符。

此外,您需要提供一个AKS标识符格式如下:

acd-XXXXXXXX

请注意:标识符的后8位是用户生成的。

AKS标识符将用于方法验证导入过程海洋SaaS稍后。

现在,运行下面的脚本:

module "ocean-controller" {source = "spotinst/ocean-controller/spotinst" #证书。spotinst_token = "redacted" spotinst_account = "redacted" #配置。Cluster_identifier = "ocean-westus-dev-aks" acd_identifier = "acd-12345678"}

此模块安装海洋控制器并通过Netapp BE服务将您的集群导入Spot。

创建一个海洋AKS集群

将集群中的数据导入到Ocean SaaS之后,现在可以使用Terraform创建Ocean集群。要做到这一点,您需要创建spotinst_ocean_aks将与AKS集群相关联的资源。

所有集群配置都将使用相同的配置从Ocean SaaS导入acd_identifier(acd-xxxxxxxx)ocean-controller模块。

当您通过terrraform创建Ocean AKS集群时,第三个脚本将作为ocean-aks模块,该模块将调整Azure托管服务标识(MSI)权限,供Ocean在提供新节点时使用。

请注意:别忘了填写下面的相关字段managed_service_identity,因为需要运行脚本获得MSI权限。

用户可以编辑导入字段的值,尽管这些值没有在Terraform模板中指定。Spot将这些字段指定为计算,用户可以在创建集群期间或之后更新这些值。

通过这些简单的步骤,您现在可以通过Terraform管理Ocean AKS集群。接下来,您可以在Terraform中进一步简化管理,您还可以使用资源在Terraform中管理您的Ocean虚拟节点组。(spotinst_ocean_aks_virtual_node_group)


有关Spot Ocean和Terraform的更多信息,请访问我们的文档。

如果您是AWS客户,请查看下面的视频,观看Ocean for EKS和Terraform的演示。