利用NSX-T优化Kubernets网络_第1页
利用NSX-T优化Kubernets网络_第2页
利用NSX-T优化Kubernets网络_第3页
利用NSX-T优化Kubernets网络_第4页
利用NSX-T优化Kubernets网络_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、利用NSX-T优化Kubernets网络利用NSX-T优化Kubernets网络目录1NSX-T 架构概览2Kubernetes 架构概览3NSX-T 和 Kubernetes的集成4总结2目录1NSX-T 架构概览2Kubernetes 架构概览3NSX-T 架构概览NSX-T 架构概览NSX愿景: NSX 无处不在4统一管理任意多样化终端的网络及安全服务连接分支机构公有云新应用框架移动终端(Airwatch)虚拟桌面数据中心自动化IT及业务敏捷化部署安全微分段零信任应用持续性任意数据中心位置New app frameworksOn-premBARE METALCloudvCloud Air

2、NetworkNSX愿景: NSX 无处不在6统一管理任意多样化终端的网络Transport NodesNSX ManagerNSX 控制器NSX-T 架构5NSX 架构和组件云消费自服务门户OpenStack, K8s, 客户自建云数据平面高性能控制平面基于横向扩展的分布式转发模型Management Plane (MP) Node 虚机形式并发配置门户REST API接口图形管理界面Central Control Plane (CCP) Nodes- 虚机形式通过控制平面协议和数据平面通信控制平面和数据平面分离ESXi (+ kernel modules)控制平面管理平面NSX Edge(

3、L3 + Adv Services)物理基础架构HypervisorsL2 Bridge(L2 Overlay-VLAN)KVM(+ kernel modules)Transport NodesNSX ManagerNSX CCP NodeCCP NodeCCP NodeMP NodeNSX-T 架构6运维工作流用户进行一个配置Transport NodeMPALCPTransport NodeMPALCPTransport NodeMPALCPX配置入口配置被推送到 CCP配置落地 CCP NodeCCP NodeCCP NodeMP NoData Plane7提升性能和弹性AdminTen

4、ants/CMP设计专注于多租户和扩展性新的分布式架构通过DPDK大幅提升性能 p1p2HV TN1vSwitch1TEPOverlay Transport ZoneTEP: Overlay Tunnel End Point(Ip地址)GENEVE 隧道p1p2HV TN1vSwitch2TEP下一代overlay协议 在增加灵活性的提升性能EdgeNodeEdge ClusterEdgeNodeEdgeNodeEdgeNodeData Plane9提升性能和弹性AdminTenantsKubernetes 概览Kubernetes 概览9Kubernetes 一个开源平台,主要用于跨主机集群

5、的容器应用的部署、弹性扩展、集中运维,提供容器为中心的基础架构. 什么是Kubernetes?11Kubernetes 一个开源平台,主要用于跨主机集群的K8s 集群包括 Master(s) and NodesK8s Master 组件API ServerSchedulerController ManagerDashbordK8s Node 组件KubeletKube-ProxyContainers Runtime (Docker or Rocket)10K8s masterK8s masterK8s MasterController ManagerK8s APIServerKey-Value

6、 Store dashboardSchedulerK8s nodeK8s nodeK8s nodeK8s nodeK8s Nodeskubeletc runtimeKube-proxy _ Kubectl CLIK8s Master(s)Kubernetes 组件12K8s masterK8s masterControll11Podpause container(owns the IP stack)/16nginxtcp/80mgmttcp/22loggingudp/514IPCExternal IP TrafficA Pod 是单个容器或多个容器组成的组,Pod内容器共享一个IP地址和数据卷

7、Kubernetes Pod13Podpause container/12Namespace: fooBase URI: /api/v1/namespaces/fooredis-master Pod:/api/v1/namespaces/foo/pods/redis-masterredis service:/api/v1/namespaces/foo/services/redis-masterNamespace: barBase URI: /api/v1/namespaces/barredis-master Pod:/api/v1/namespaces/bar/pods/redis-maste

8、rredis service:/api/v1/namespaces/bar/services/redis-masterNamespaces 是一种为多用户共享集群资源的一种方式可以看作为租户他们是一种提供资源配额 , RBAC, 网络多租户, 名字重复的方式Kubernetes Namespace14Namespace: fooNamespace: bar东西向负载均衡南北向负载均衡13Redis Slave Podsredis-slave svc/164Web 前端PodsEast-West负载均衡通过使用ClusterIP和IPTables的K8s服务来提供Web Front-End(e.

9、g. Apache) PodsWeb Front-End IngressNginx | HAProxy | etc.LB Podshttp:/*.可用通过 K8s Ingress功能或者外部第三方负载均衡设备结合NodePort 来实现K8s 负载均衡东西向负载均衡南北向负载均衡15Redis Slave PNode int eth0int cbr0/24Kubernetes 网络拓扑14扁平路由拓扑Node int eth0int cbr0/24net.ipv4.ip_forward=1net.ipv4.ip_forward=1每个Node相当于一个IP

10、Router负责自己的Pod子网子网和Node相关联,和租户无关Node间通信需要配置相关外部物理网络ip route /24 ip route /24 Node int eth0int Kubernetes 网络拓扑15Node到Node的叠加网络拓扑Node int eth0int cbr0/24Node int eth0int cbr0/24net.ipv4.ip_forward=1net.ipv4.ip_forward=1OverlayKey-Value Store 叠加网络的使用主要是为了避免物理网络配置Kubernetes 网络拓扑17Node到

11、Node的叠加网NSX-T 和Kubernetes的集成 NSX-T 和Kubernetes的集成 17admink8s-master:$ kubectl create namespace foonamespace ”foo createdadmink8s-master:$ kubectl create namespace barnamespace ”bar createdadmink8s-master:$ kubectl run nginx-foo -image=nginx -n foodeployment nginx-foo createdadmink8s-master:$ kubectl

12、 run nginx-bar -image=nginx -n bardeployment nginx-bar createdNamespace: fooNamespace: barNSX / K8s topology/24/24/24NAT boundaryNAT boundaryK8s nodesK8s MastersNSX-T K8s 集成 Namespaces & Pods19Namespace: fooNamespace: bar18admink8s-master:$ vim no-nat-namespace.yamlapiVersion: v1kind: Namespacemetad

13、ata: name: no-nat-namespace annotations: ncp/no_snat: true“admink8s-master:$ kubectl create f no-nat-namespace.yamlnamespace ”no-nat-namespace createdadmink8s-master:$ kubectl run nginx-no-nat -image=nginx n no-nat-namespace deployment nginx-k8s createdNamespace: no-nat-namespaceNSX / K8s topology/2

14、6Direct Routing4/26K8s nodesK8s MastersNSX-T K8s 集成 基于路由的Namespaces20Namespace: no-nat-namespaceNNSX-T K8s 集成 Pods的微分段#NET1522BU CONFIDENTIAL19方式1: 基于安全规则的预定义标签( Label)admink8s-master:$ kubectl label pods nginx-foo-3492604561-nltrf secgroup=web -n fooPod nginx-nsx-3492604561-nltrf labeledadmink8s-ma

15、ster:$ kubectl label pods nginx-bar-2789337611-z09x2 secgroup=db -n barpod nginx-k8s-2789337611-z09x2 labeledadmink8s-master:$ kubectl get pods -all-namespaces -Lsecgroup NAMESPACE NAME READY STATUS RESTARTS AGE SECGROUPk8s nginx-foo-2789337611-z09x2 1/1 Running 0 58m webnsx nginx-bar-3492604561-nlt

16、rf 1/1 Running 0 1h dbNamespace: fooNamespace: barNSX / K8s topology/24/24/26NAT boundaryNAT boundaryWeb在NSX定义Security Groups并配置入/出方向 安全策略每个Security Group 可以被微分段以保护Pods相互访问DBNSX-T K8s 集成 Pods的微分段#NET152NSX-T K8s 集成 Pods的微分段20方式2: 基于K8s Network Policyadmink8s-master:$ vim nsx-demo-policy.yamlapiVersi

17、on: extensions/v1beta1kind: NetworkPolicymetadata: name: nsx-demo-policyspec: podSelector: matchLabels: app: web ingress: - from: - namespaceSelector: matchLabels: ncp/project: db ports: - port: 80 protocol: TCPadmink8s-master:$ kubectl create -f nsx-demo-policy.yamlState: 在 K8s 1.7发布 (Beta on 1.6)能

18、力: 使用 Network Policy, 用户可以定义进出Namespace或者Pod之间的防火墙规则. network policy一个是 Namespace 特性.Namespace: fooNamespace: barNSX / K8s topology/24/24/26NAT boundaryRoutedDBLabel: app=dbWebLabel: app=webNSX-T K8s 集成 Pods的微分段22方式2: 21$ kubectl create -f nsx-demo-policy.yaml动态创建安全组基于k8s的Network Policy动态创建安全策略一旦k8s

19、的Network Policy被应用 , NSX 就会自动创建源/目的安全组,并应用正确的安全策略NSX-T K8s 集成 Pods的微分段方式2: 基于K8s Network Policy23$ kubectl create -f nsx-demoK8s微分段: 描述Namespaces之间和Namespaces内部安全分段策略的数据模型叫Network Policies ,Kubernetes 1.7发布 (1.6 Beta 版) 基于Kubernetes的安全NSX 可以利用K8s的网络策略定义动态的安全组和安全策略能力受限于 K8s Network Policy 本身的能力K8s Ne

20、twork Policy安全组和安全策略可以在NSX预定义,标签用于指定Pods的成员关系在策略定义时也可以使用基于Ip地址的安全组、出向规则、基于VM的匹配等。 基于安全规则的预定义标签The NSX / K8s 的集成,既支持基于预定义标签规则的网络安全又支持基于K8s network policy的网络安全 基于NSX / K8s的安全22NSX-T K8s 集成 Pods的微分段K8s微分段: 描述Namespaces之间和Namespa23NodeVMNSX CNI PluginOVSPodsNSX KubeProxyK8s masterK8s masterK8s MasterCon

21、troller ManagerK8s APIServerdashboardSchedulerK8s 服务通过NSX Kube-Proxy交付 作为一个容器image交付, 作为Kubernetes进程运行在Nodes上NSX Kube-Proxy 取代原生的分布式东西向负载均衡Kube-Proxy 采用OpenVSwitch (OVS) 的负载均衡东西向负载均衡25NodeNSX CNI PluginOVSPodsNSX一旦一个Ingress Controller 被添加, NSX 将定义相应的SNAT& DNAT 规则24Web Front-End IngressNginx入向负载均衡Pod

22、http:/*.demo.corp.local/24/247南北向负载均衡一旦一个Ingress Controller 被添加, NNCP 是一个Vmware提供的以容器image交付的软件组件, 比如,作为一个K8s Pod运行NCP采用模块化方式, 因此可以为不同的CaaS和PaaS系统添加单独的adaptersK8s / NSX 组件25NSX Container Plugin (NCP)K8s / NSX 组件27NSX Container PlNamespace 创建工作流NCP InfraK8s AdapterNSX Container PluginNSX Manager API ClientNSX ManagerNS: fooNSX/ K8s topologyNS: barK8s masteretcdAPI-ServerScheduler1)2)3)4)NCP通过K8s API 监控 所有Namespace 事件 用户创建一个新的K8s NamespaceThe K8s API Server通知 NCP Namespaces变化NCP 为Namespace创建网络拓扑:从NSX预配的IP block中请求一个新的子网段创建逻辑交换机 创建一个T1路由器并和预配置的T0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论