您的位置:首页 > 运维架构 > Linux

如何在红帽OpenShift容器平台上部署A10 Networks的Secure Service Mesh

2019-07-03 13:12 856 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_44779449/article/details/94555849

什么是红帽® OpenShift®容器平台?

红帽®OpenShift®是一个企业就绪型Kubernetes容器平台,可以实现全堆栈自动化运营,以管理混合云和多云部署。开发人员可以轻松地通过一系列得到支持的技术,部署各种应用,因此,团队可以选择使用自己喜欢的语言、框架、数据库,来构建和部署服务。

 

什么是A10 Networks的Secure Service Mesh?

A10 Networks的Secure Service Mesh解决方案可以提供一个轻松、自动化的方式,将企业级安全和负载均衡/流量管理与全面应用可视性和分析整合在一起,而无需更改应用,并且跨应用的整个生命周期。

统一解决方案可以带来高可扩展性、软件定义的分布式架构,其中包含了三个关键组件:A10 Lightning ADC、A10 Kubernetes连接器、A10 Harmony控制器。(更多相关信息,可以前往A10网站)

 

用A10 Lightning ADC来管理红帽OpenShift容器平台上的应用流量

A10 Lightning ADC Daemon-Set可以部署在一个Kubernetes集群中,用来在集群内管理容器化的应用流量。Lighting ADC管理能力包含负载均衡和应用安全。A10 Harmony控制器位ADC提供了集中管理的能力、为应用提供了分析能力。

部署架构

 

在红帽OpenShift上部署A10 Networks解决方案的先决条件

了解系统先决条件:

  • 为了能在一个物理或者虚拟系统中部署OpenShift,要设置主节点和工作节点;
  • 安装红帽OpenShift
  • 应用一个预存容器,运行于OpenShift中;
  • 部署A10 Networks Secure Service Mesh解决方案,其中包含了作为daemon-set的Lighting ADC、Kubernetes连接器、Harmony控制器;
  • 在数据中心中部署A10 Harmony控制器;
  • 登录Harmony控制器,并创建一个手动的Lightning ADC集群;
  • 为A10 Kubernets连接器创建RBAC(服务账号)

 

在红帽OpenShift中部署A10 Networks Secure Service Mesh解决方案

红帽OpenShift通过一个基于web的GUI和命令行界面(CLI),提供了配置选项,从而可以部署应用YAML文件。(说明:以下提及的部署和配置步骤采用命令行界面CLI)

假设你已经安装并运行了A10 Harmony控制器和红帽OpenShift。遵循以下步骤,就可以设置Secure Service Mesh解决方案。

创建一个租户账户

  • 打开浏览器,登录A10 Harmony门户,创建一个租户账号;
  • 现在,在租户中,创建一个Lightning ADC手动集群。一旦创建好,标注集群ID和API服务器URL等信息(如下)

创建A10 Lightning ADC Daemon-set

  • 一旦生成了一个手动Lightning ADC集群ID,你就可以通过集群ID和API服务器URL参数(在daemon-set yaml文件中定义的),创建一个Lightning ADC daemon-set;
  • 通过下载LADC_daemon_Set.yaml文件示例到主节点,可以部署A10 Lighting ADC daemon-set;
  • 编辑LADC_daemon_Set.yaml文件示例,并输入“ladc_cluster_id”和“API server URL”的细节信息到文件中,并保存文件;
  • 用以下命令部署A10 Lightning ADC daemon-set,# oc create -f LADC_demon_Set.yaml

创建一个Secret

  • 用“secret.yaml”示例文件,将Harmony控制器访问凭证放置于一个Kubernetes secret中;
  • 编辑文件,并以base64格式输入租户的用户名和密码,保存修改后的文件;
  • # oc create -f secret.yaml命令,创建租户作为一个Kubernetes secret的凭证;

创建基于角色的访问控制

  • 通过下载“RABC.yaml” 文件示例,部署基于角色的访问(RBAC)。# oc create -f RBAC.yaml

创建一个A10 Kubernetes连接器

  • 通过下载“deploy_A10_Kubernetes_Connector.yaml”文件示例,部署A10 Kubernetes连接器;
  • 编辑文件并输入相应参数,例如Harmony控制器URL、租户名、LADC集群名,并保存修改的文件;
  • 通过# oc create -f deploy_A10_Kubernetes_Connector.yaml命令,部署A10 Kubernetes连接器

创建一个Ingress资源

一个Ingress资源用于允许用户定义负载均衡和内容交换规则。

  • 通过下载“ingress_resource.yaml”文件示例,创建一个Ingress资源;
  • 编辑文件,并输入相应参数,譬如服务名称、主机名、后端服务名端口号等;
  • 通过# oc create -f ingress_resource.yaml命令,部署Ingress控制器资源;

 

部署Kubernetes Headless Service

当一个Kubernetes服务被创建,系统默认的是Kube-proxy将承担负载均衡设备的角色。当Lightning ADC被加入到路径中时,Kube-proxy则变成了冗余设备。作为一个headless service被部署的应用服务则将Kube-proxy从路径中删除,而流量则将会路由到Lightning ADC设备上。

  • 用浏览器访问应用URL,譬如http://myapplication.com应用FQDN应该被配置在DNS中,指向Kubernetes节点的IP地址。
  • 要浏览应用流量分析,请登录到A10 Harmony控制器门户GUI。

A10 Harmony门户上的分析仪表盘(analytics dashboard)可以显示实时的应用用户流量数据,譬如当前流量吞吐、响应时间、连接细节,以及不同类别的各种指标,例如客户摘要、ADC性能、应用响应时间、服务器健康情况等等。分析指标数据可以帮助管理员处理应用慢或者应用访问相关的问题。

上面这个图显示了Lightning ADC收到的用户地理分布、客户需求、服务器响应节点、客户需求数量等信息摘要。这有助于管理员识别和控制用户流量。

上面这种图则显示了在不同的分割点上,测量的往返HTTP请求/响应时间情况。这可以帮助管理员将每次分割点上的延迟情况视觉化。同时,也可以快速提供有效信息,确认是否有需要深入调查的情况。

 

总结:

红帽OpenShift为用户提供了一个简单的Kubernetes平台,可以通过应用一系列已获支持的技术,部署他们自己的基于容器的应用。这降低了在Kubernetes中管理应用的复杂性和运营费用。此外,A10 Lighting ADC daemon-set管理和监测应用流量,可以提供可视的应用流量、安全和细粒化的分析。A10 Kubernetes连接器通过Harmony API,可以将ingress资源或者服务标签中的特定配置与A10 Harmony控制器进行通信,并创建必要的应用配置。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: