Tungsten Fabric+K8s轻松上手丨通过Kubernetes的服务进行基本应用程序连接

本文所有相关链接pdf:https://tungstenfabric.org.cn/assets/uploads/files/tf-ceg-case1.pdf

这是所有Kubernetes CNI插件所能提供的最基础和最根本的功能。应用程序Pods之间要能相互通信,而Kubernetes Services是确保Pods随时间推移来实现应用程序规模性和可用性的一种方式。

使用场景

所有主要的CNI插件都提供基本的Pod到Pod的连通性以及某些服务类型,例如ClusterIP。

除此之外,Tungsten Fabric原生支持LoadBalancer。在AWS上运行时,LoadBalancer在清单中使用Service创建面向公众的AWS ELB,从而使您的应用程序可从Internet一步访问。

这也意味着在本地和所有主要的公共云中,对所有集成Tungsten Fabric的Kubernetes,可以在应用程序中使用Kubernetes部署清单而无需更改。

部署

创建部署时,CNI与Kubernetes协同工作,为每个应用程序Pod分配网络IP地址,并将每个Pod“连接”到集群网络。

注意:大多数CNI通过创建一个overlay network来工作,这一网络在大多数情况下都包含在单个Kubernetes集群的边界内。所以,不同集群中的Pod无法直接通信。

在本文档中我们不会介绍多集群方案,但是Tungsten Fabric能够支持此类配置。一次安装Tungsten Fabric就可以同时服务于多个Kubernetes集群。在这种情况下,即使Kubernetes集群本身位于不同的位置,来自不同集群的Pod也可以直接相互通信。

服务

Kubernetes中的服务是“公开运行在一组Pod上的应用程序的抽象方法”。在大多数情况下,服务是简单的Round-Robin负载均衡器。它具有用于接收网络请求的虚拟IP地址(“VIP”),以及接受这些请求转发的零个或多个端点的IP地址。

在大多数情况下,服务会通过在运行的Pod上查找匹配的标签(称为“选择器”,Selectors)来自动发现属于应用程序Pod的端点IP地址。

应用程序的部署和服务示例

确保您位于沙箱控制节点上,以root用户身份登录,并且位于正确的目录中:

#确认您是root账户

whoami | grep root || sudo -s

#切换到清单目录

cd /home/centos/yelb/deployments/platformdeployment/Kubernetes/yaml

查看cnawebapp-loadbalancer.yaml文件,查找以Kind: Deployment和 Kind: Service开头的部分

less cnawebapp-loadbalancer.yaml

(使用箭头/ PgUp / PgDn导航;按q退出)

注意:

  • spec.template.spec.containers.ports.containerPort在Deployments中显示Pod将侦听的TCP端口;
  • spec.ports 在服务中显示服务的VIP将监听的端口;
  • spec.selector在服务中会显示服务要向其发送流量的Pod上的标签。

接下来,部署我们的示例应用程序,看看会发生什么:

kubectl create -f cnawebapp-loadbalancer.yaml

这将创建以下应用程序拓扑:

如果应用程序部署没有错误,我们应该能够看到:

所有Pod都有自己的IP地址,并且正在各自的端口上监听:

所有服务都有VIP和正在监听的端口:

所有服务都发现了各自的端点:

由于Tungsten Fabric提供了对Kubernetes的LoadBalancer服务支持,因此现在应该能够从Internet连接到我们的应用程序。我们可以找出负载均衡器的公共DNS名称:

让我们通过将网络浏览器指向该地址来进行检查,可以看到应用位于:
aa01af9988cc311e9badf06b57ebf630-1452353610.us-west-1.elb.amazonaws.com


成功了!

清理

使用该应用程序后,可以随时取消部署:

kubectl delete -f cnawebapp-loadbalancer.yaml

回顾和下一步

在此用例中,我们使用Tungsten Fabric Kubernetes CNI插件并与AWS的Elastic Load Balancing集成,部署了示例应用程序,并且它可以从互联网访问。

如果这就是我们想要的,那么目的已经达到了。但是,如果我们需要SSL卸载,或者想基于HTTP主机和/或路径将传入请求发送到不同的应用程序组件,则需要使用Kubernetes Ingress。用例2涵盖了这一场景。(用例2的详细内容近期发布,敬请关注)



MORE
更多TF+K8s文章

第一篇:TF Carbide 评估指南--准备篇


关注微信:TF中文社区

原文地址:https://blog.51cto.com/14638699/2466445

时间: 2024-10-08 02:34:57

Tungsten Fabric+K8s轻松上手丨通过Kubernetes的服务进行基本应用程序连接的相关文章

TF+K8s轻松上手丨通过Kubernetes Ingress进行高级外部应用程序连接

本文所有相关链接pdf:https://tungstenfabric.org.cn/assets/uploads/files/tf-ceg-case-2.pdf Kubernetes的Ingress文档页面将其描述为: "用于管理对集群中服务的外部访问的API对象,通常是HTTP.Ingress可以提供负载均衡.SSL终结和基于名称的虚拟主机." CNI不提供Ingress功能.这意味着Kubernetes集群管理者通常要为其集群安装.管理和支持单独的Ingress控制器解决方案. 对

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

Tungsten Fabric项目是一个开源项目协议,它基于标准协议开发,并且提供网络虚拟化和网络安全所必需的所有组件.项目的组件包括:SDN控制器,虚拟路由器,分析引擎,北向API的发布,硬件集成功能,云编排软件和广泛的REST API. 本文所有相关链接pdf:https://tungstenfabric.org.cn/assets/uploads/files/tf-ceg-with-link.pdf 本指南的作用是什么? 本指南是为应用程序开发人员或计算基础结构平台工程师设计的,考虑了Ku

TungstenFabric+K8s轻松上手丨通过Kubernetes命名空间实现初步的应用程序隔离

本文所有相关链接pdf:https://163.53.94.133/assets/uploads/files/tf-ceg-case3.pdf Kubernetes命名空间是"虚拟化"Kubernetes集群的一种内置方式.虽然目前尚无人讨论如何使用命名空间以及在何处使用命名空间,但是如果没有网络范围内的命名空间隔离能力,集群虚拟化将无法完成. Tungsten Fabric Kubernetes CNI插件包括对isolated命名空间的支持.部署到隔离的命名空间中的应用程序无法访问

Tungsten Fabric与K8s集成指南丨部署准备与初始状态

Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍K8s组件和Tungsten Fabric组件部署的准备工作,以及运行的初始状态.Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识.大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系. 说明:文中部分内容涉及到"Contrail",Tungsten Fabric原名为OpenContrail,

Tungsten Fabric与K8s集成指南丨创建虚拟网络

作者:吴明秘 Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍通常创建虚拟网络的五个步骤.Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识.大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系. 在做好架构部署,并确认Tungsten Fabric和Kubernetes(K8s)集群的初始状态没有问题后,就可以开始尝试创建虚拟网络了. 第1步:新建命名

Tungsten Fabric与K8s集成指南丨创建安全策略

作者:吴明秘 Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍如何创建安全策略.Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识.大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系. 安全策略可以通过限制端口.网络协议等方式控制任意pod之间的访问,以及pod与service之间的访问.在K8s集群中安全策略对应的是Network Policy,在T

Tungsten Fabric如何编排

OpenStack和TF集成 OpenStack是虚拟机和容器的领先的开源编排系统.Tungsten Fabric提供了Neutron网络服务的实现,并提供了许多附加功能. 在OpenStack中,用户组被分配到"项目",其中诸如VM和网络之类的资源是私有的,并且其他项目中的用户无法看到(除非特别启用). 在vRouters中使用VRF且每个网络都有路由表,可以直接在网络层中实施项目隔离,因为只有到允许目的地的路由才会分发到计算节点上的vRouters中的VRF,并且不会发生泛洪vRo

Tungsten Fabric架构和最新技术进展丨TF成立大会演讲实录

本文整理自瞻博网络杰出工程师Sukhdev Kapur在"TF中文社区成立暨第一次全员大会"上的演讲,增加了对于TF功能的描述,pdf点击下载.https://tungstenfabric.org.cn/assets/uploads/files/powering-edge-cloud-and-multi-cloud-with-tungsten-fabric-sukhdev-kapur.pdf 更多会议资料,请在"TF中文社区"公众号后台回复"成立大会&qu

Tungsten Fabric如何支撑大规模云平台丨TF Meetup演讲实录

点击下载文档,查看本文所有相关资料.https://163.53.94.133/assets/uploads/files/large-scale-cloud-yy.pdf 今天的分享偏技术一些,首先我们来看SDN的本质,然后从Tungsten Fabric(以下简称TF)架构上解析为什么比OVS更好,为什么能支撑更大的场景. 先来看云对网络的要求.首先是租户隔离,IaaS就是多租户,对于地址重用的要求,以VLAN的传统方式也是可以实现的.另外,传统VXLAN的协议或OVS的协议,只提供二层隔离的