如何在红帽OpenShift容器平台上部署A10 Networks的Secure Service Mesh
什么是红帽® 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控制器进行通信,并创建必要的应用配置。
- 如何使用Azure Container Service Engine在Azure中国区部署容器服务(一):DC/OS篇
- 如何使用Azure Container Service Engine在Azure中国区部署容器服务(一):DC/OS篇
- 如何将.NET 4.0写的Windows service和Web API部署到docker上面
- 在AWS中部署OpenShift平台
- 一步步的教新手如何在一台物理机上部署红帽和win7双系统 ...
- 如何部署 Calico 网络?- 每天5分钟玩转 Docker 容器技术(67)
- 如何实现 Service 伸缩?- 每天5分钟玩转 Docker 容器技术(97)
- 如何把spring boot项目部署到tomcat容器中
- 如何解决容器网络性能及复杂网络部署问题?
- 如何访问 Service?- 每天5分钟玩转 Docker 容器技术(99)
- 如何将SAP Multi Target应用部署到SAP云平台的Cloud Foundry环境去
- 如何实现红帽企业虚拟化管理平台Host主机所在数据中心的切换
- 如何为你的平台部署一个公开的系统状态页
- Windows Azure Cloud Service (31) 视频: 如何将Web 应用迁移到Windows Azure平台
- 如何在openshift上diy部署spring-boot并在本地用eclipse开发
- CoreOS容器管理工具协助用户快速部署复杂的OpenStack云平台
- 一步步的教新手如何在一台物理机上部署红帽和win7双系统-(转)
- 如何打造安全的容器云平台
- 如何快速部署 Prometheus?- 每天5分钟玩转 Docker 容器技术(85)
- 容器安全平台如何构建?基于DevSecOps有两种方法!