在这个数字化时代,企业云化已成为不可逆转的趋势。Oracle云基础设施(OCI)提供的基于Arm的Kubernetes集群,正是企业上云之旅的理想选择。本教程将引导您创建使用Ampere A1计算平台的Arm架构Kubernetes集群,并部署流行的网络容器Apache Tomcat。通过本教程,您将学会如何创建应用部署,使其能够在基于Arm和x86(Intel和AMD)的Kubernetes集群间无缝迁移。
通过本教程,您将能够:
Ampere A1计算平台基于Ampere Altra CPU,为企业和应用开发者提供了一种新的工作负载构建方式,可从边缘设备扩展至云数据中心。这一平台的独特设计提供了一致且可预测的性能,因为计算核心内没有资源争夺,从而提供了更多的隔离和安全性。Oracle云基础设施上这一新类别的计算形态结合了Altra CPU的强大能力与OCI上的安全性、可扩展性和服务生态系统。
当将Arm架构引入应用开发过程时,您的开发工作流在大多数情况下保持不变。您目前使用的工具和流程将无缝转移,您的开发工作站设置将保持不变。通常情况下,您只需对构建或打包步骤进行少量修改以支持Arm架构。首先分析您现有的工作流,以识别是否存在任何特定于平台的构建或打包步骤。
在Oracle云基础设施(OCI)中创建一个全新的Kubernetes集群,只需简单几步。我们将利用OCI Cloud Shell,这一强大工具让您无需配置本地环境即可完全控制集群。
1.在Oracle云控制台的导航菜单中,选择开发者服务并点击Kubernetes集群。
2.点击创建集群。您可以选择快速创建以使用默认值,或选择自定义创建以指定高级设置。在这里,我们选择快速创建,因为它的默认设置已经非常理想。
3.在创建集群页面,您需要选择一些基本配置选项,如希望运行的Kubernetes版本以及集群节点的数量和类型。对于本教程,请选择Ampere A1作为节点的形态。
注意:请选择VM.Standard.A1.Flex形态作为节点,如图所示。
您还可以为集群指定一个名称和部门。可见性类型指示集群中的节点是否可以从互联网(例如通过SSH)访问。通常情况下,将它们保持在私有网络上,并使用位于公共网络上的堡垒机或跳板机提供访问路径会更常见。在这里,我们选择将节点保持私有的默认设置。
4.点击创建集群,工作流程将开始创建所有必需的资源和集群本身。
5.在支持资源创建后,将显示集群详细信息页面。几分钟内,集群将被创建并激活。
集群状态变为激活后,点击访问集群按钮以查看访问集群的方法。
6.选择Cloud Shell选项。Cloud Shell是一个集成在控制台中的全功能在线终端环境。Cloud Shell具备与您的Kubernetes集群交互所需的所有工具,是开始使用而无需配置本地开发环境的最快方法。
您可以直接从页面启动Cloud Shell。请注意,Cloud Shell的访问也始终在控制台顶部可用,方便快速访问。
页面还包括在Cloud Shell内运行的命令。此命令使用OCI CLI创建kubeconfig文件。如kubectl之类的Kubernetes客户端可以使用配置文件来便捷地访问集群。这种配置文件通常称为kubeconfig文件。通常,此配置文件位于~/.kube。单个配置文件可以包含多个集群的访问配置。
注意:OCI CLI已在Cloud Shell环境中为您预安装和配置。
7.启动Cloud Shell,然后复制命令并粘贴到Cloud Shell中运行。Kubernetes的标准命令行客户端是kubectl,它已预安装在Cloud Shell环境中。
现在,让我们检查是否可以与集群进行交互并查看集群节点。
8.将以下命令复制到Cloud Shell并运行。
您应该会看到如下所示的输出,具体取决于集群中的节点数量。请注意,内核版本显示我们正在运行基于aarch64(Arm 64位)架构的Oracle Linux。
现在您已经拥有了一个功能齐全的Kubernetes集群,并且设置了与之交互的工具,您可以向其部署任何Kubernetes工作负载。
现在,您可以向基于Arm的Kubernetes集群部署容器化工作负载。容器镜像是针对特定架构构建的。容器工具,如Docker或Buildah,提供了管理这些镜像及其无缝部署的方法。在这个例子中,您将部署流行的Java网络容器Apache Tomcat至Kubernetes集群。Docker运行时将在Arm上获取arm64v8镜像,在x86架构上获取amd64 镜像。这使我们能够创建无缝可移植的Kubernetes部署清单,只要我们为两种架构构建应用镜像。
首先创建一个与架构无关的部署清单。该清单不应引用任何特定于架构的容器,因为容器运行时能够检测正确的架构并拉取适当的镜像。要创建清单,请运行以下命令。它会创建一个名为tomcat.yaml的新文件。
该清单包含以下对象和操作:
1.下载Apache Tomcat的示例应用程序,并将其创建为一个ConfigMap。
注意:仅为了方便而使用ConfigMap挂载应用程序的方法,不应在生产应用程序中使用。
2.部署清单。这将创建Kubernetes对象,包括部署和服务。创建部署时,Docker运行时将检测到其运行在Arm架构上,并自动选择Apache Tomcat容器的Arm变体。部署在容器上的Java应用程序是平台中立的,因此同一个.war文件可以跨所有架构部署。
3.检查您的部署状态
4您应该会看到类似以下的输出
这表明Tomcat已经成功部署在我们的基于Arm的Kubernetes集群上,并正在提供Java网络应用程序。我们使用的部署清单不依赖于架构,可用于x86和基于Arm的集群。
4.您可以选择通过运行以下命令获取详细的节点级别详情
显示有关节点的详细信息,包括架构和安排在该节点上的pods。
当LoadBalancer的外部IP地址可用(这可能需要几分钟)时,您可以通过在网络浏览器中输入http://<your_loadbalancer_ip_address>/sample来访问部署。
作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。
Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。
利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。
Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门。
如您想咨询 Oracle 的相关业务,可联系搜索微信号:lhh1843812463 或 woshiwhw123
或者可以进入以下群组进行咨询:
微信公众号
微信技术交流社群: