TF+K8S轻松上手|TF Carbide评估指南--准备篇



  • pdf点击此处下载,查看本文所有相关链接。

    本指南的作用是什么?

    本指南是为应用程序开发人员或计算基础结构平台工程师设计的,考虑了Kubernetes网络的选项,特别侧重于Tungsten Fabric Carbide。

    对于在Kubernetes上运行的应用程序,“Kubernetes集群网络”功能至关重要。这些功能包括:

    • 通过服务在Pod之间进行网络通信;
    • 外部世界和面向外部的服务之间的网络通信;
    • 对允许的网络通信流进行细粒度控制的网络策略。

    为此,Kubernetes集群必须安装容器网络接口(“CNI”)插件。Kubernetes文档网站列出了许多选项,我们在本文档中介绍Tungsten Fabric选项。

    我们将使用一个示例的3层应用程序来遍历上面列出的三个主要功能区域,并说明Tungsten Fabric在每种情况下的功能。Tungsten Fabric提供超出Kubernetes基线的其他功能,在这些地方我们也会介绍。

    要遵循我们的用例,您应该在AWS上部署自己的带有Kubernetes(“K8s”)的TF快速开始副本。

    先决条件

    本指南假定您熟悉如何:

    • 将CloudFormation模板部署到您的AWS账户中;
    • 使用SSH客户端和SSH私钥连接到AWS中的EC2实例;
    • 使用kubectl CLI工具将应用程序部署到Kubernetes;
    • 使用Linux CLI /终端工具,例如less和nano。

    示例应用程序简介

    为了演示Tungsten Fabric如何帮助我们使应用程序运行,提供从Internet的访问并进行安全保护,我们将使用名为“yelb”的模拟应用程序。它是由AWS的一名开发倡导者编写并维护的。选择此应用程序的原因是简单,文档齐全,而且可以在Kubernetes上运行。

    请查看“Yelb体系结构”链接以获取更多详细信息,但在较高层次上,它看起来像这样:

    86b5389e-def2-4c6d-9a31-4e9e9c0fc72b-image.png

    该应用程序由四个部署组成:yelb-ui,yelb-appserver,yelb-db和yelb-cache。每个部署都有各自的Kubernetes服务。yelb-ui服务还可以通过Kubernetes Ingress进行管理,从而为您提供L7 HTTP路由。

    做好准备

    对于我们的练习,需要具备以下条件:

    • 通过Kubernetes的kubectl CLI工具使用访问安装了Tungsten Fabric的Kubernetes集群;
    • yelb的副本

    访问我们的Kubernetes集群

    如果您按照AWS上的Tungsten Fabric Carbide快速入门指南中的步骤进行操作,则应该能够按照该指南的“Accessing the Cluster”部分中的说明登录到QuickStart沙箱控制节点。要查找沙箱控制节点的公共DNS主机名,请在AWS CloudFormation UI的“Outputs”选项卡中查找用于部署带有TF Carbide的Kubernetes的模板:

    ffafe655-545f-451d-8680-ba1d18a8d08b-image.png

    进入沙箱控制节点后,运行:

    sudo -s
    kubectl get nodes
    

    应该显示类似以下内容的输出:

    2d9af375-f74c-423f-8575-4972e95fe587-image.png

    获取Yelb应用程序的副本

    成功连接到沙箱控制节点并验证kubectl正常工作后,请使用以下命令获取yelb的副本,并将工作目录更改为带有Kubernetes清单的工作目录(以root身份运行):

    0326285d-4275-4f14-8cbc-751c5575dfb5-image.png

    下一步

    此时,您将拥有一个具有两个计算节点的功能性沙盒Kubernetes集群,以及一个可用于验证功能的应用程序。本文档的其余部分将为您提供示例,介绍在开发和操作运行在Kubernetes上的应用程序时,如何处理可能遇到的常见的一些网络和安全情况。

    每个用例都是独立的,不需要您完成本文档中的任何其他用例。

    随意跳到您认为合适的那一个:

    1. 通过Kubernetes的服务进行基本应用程序连接
    2. 通过Kubernetes的Ingress进行高级外部应用连接
    3. 通过Kubernetes命名空间粗化应用程序隔离
    4. 通过Kubernetes网络策略进行应用程序微分段

    链接文本


Log in to reply