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

下载本文档

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

文档简介

利用NSX-T

优化Kubernets网络目录1NSX-T架构概览2Kubernetes架构概览3NSX-T和Kubernetes的集成4总结2NSX-T架构概览NSX愿景:NSX无处不在4统一管理任意多样化终端的网络及安全服务连接分支机构公有云新应用框架移动终端

(Airwatch)虚拟桌面数据中心自动化IT及业务敏捷化部署安全微分段零信任应用持续性任意数据中心位置NewappframeworksOn-premBAREMETALCloudvCloudAirNetworkTransportNodesNSXManagerNSX控制器NSX-T架构5NSX架构和组件云消费自服务门户OpenStack,K8s,客户自建云数据平面高性能控制平面基于横向扩展的分布式转发模型ManagementPlane(MP)Node–虚机形式并发配置门户RESTAPI接口图形管理界面CentralControlPlane(CCP)Nodes-虚机形式通过控制平面协议和数据平面通信控制平面和数据平面分离ESXi

(+kernelmodules)控制平面管理平面NSXEdge(L3+AdvServices)物理基础架构HypervisorsL2Bridge(L2Overlay-VLAN)KVM

(+kernelmodules)

CCPNodeCCPNodeCCPNodeMPNodeNSX-T架构6运维工作流用户进行一个配置TransportNodeMPALCPTransportNodeMPALCPTransportNodeMPALCPX配置入口配置被推送到

CCP配置落地

DataPlane7提升性能和弹性AdminTenants/CMP设计专注于多租户和扩展性新的分布式架构通过DPDK大幅提升性能

p1p2HVTN1vSwitch1TEPOverlayTransportZoneTEP:OverlayTunnelEndPoint

(Ip地址)GENEVE隧道p1p2HVTN1vSwitch2TEP下一代overlay协议

在增加灵活性的提升性能Edge

NodeEdgeClusterEdge

NodeEdge

NodeEdge

NodeKubernetes概览9Kubernetes一个开源平台,主要用于跨主机集群的容器应用的部署、弹性扩展、集中运维,提供容器为中心的基础架构.什么是Kubernetes?K8s集群包括

Master(s)andNodesK8sMaster组件APIServerSchedulerControllerManagerDashbordK8sNode组件KubeletKube-ProxyContainersRuntime(DockerorRocket)10K8smasterK8smasterK8s

MasterControllerManagerK8sAPI

ServerKey-Value

Store

dashboardSchedulerK8snodeK8snodeK8snodeK8snodeK8sNodeskubeletcruntimeKube-proxy>_KubectlCLIK8sMaster(s)Kubernetes组件11Podpausecontainer(‘owns’theIPstack)/16nginxtcp/80mgmttcp/22loggingudp/514IPCExternalIPTrafficAPod是单个容器或多个容器组成的组,Pod内容器共享一个IP地址和数据卷KubernetesPod12Namespace:fooBaseURI:/api/v1/namespaces/foo‚redis-master‘Pod:/api/v1/namespaces/foo/pods/redis-master‚redis‘service:/api/v1/namespaces/foo/services/redis-masterNamespace:barBaseURI:/api/v1/namespaces/bar‚redis-master‘Pod:/api/v1/namespaces/bar/pods/redis-master‚redis‘service:/api/v1/namespaces/bar/services/redis-masterNamespaces是一种为多用户共享集群资源的一种方式可以看作为租户他们是一种提供资源配额,RBAC,网络多租户,名字重复的方式KubernetesNamespace东西向负载均衡南北向负载均衡13RedisSlave

Podsredis-slavesvc/164Web前端

PodsEast-West负载均衡通过使用ClusterIP和IPTables的K8s服务来提供WebFront-End

(e.g.Apache)PodsWebFront-EndIngressNginx||HAProxy||etc.LBPodshttp://*.可用通过K8sIngress功能或者外部第三方负载均衡设备结合NodePort来实现K8s负载均衡Node

int

eth0int

cbr010.24.2.1/24Kubernetes网络拓扑14扁平路由拓扑Node

int

eth0int

cbr010.24.1.1/24net.ipv4.ip_forward=1net.ipv4.ip_forward=1每个Node相当于一个IPRouter负责自己的Pod子网子网和Node相关联,和租户无关Node间通信需要配置相关外部物理网络iproute/24iproute/24Kubernetes网络拓扑15Node到Node的叠加网络拓扑Node

int

eth0int

cbr010.24.2.1/24Node

int

eth0int

cbr010.24.1.1/24net.ipv4.ip_forward=1net.ipv4.ip_forward=1OverlayKey-Value

Store

叠加网络的使用主要是为了避免物理网络配置NSX-T和

Kubernetes的集成

17admin@k8s-master:~$kubectlcreatenamespacefoonamespace”foo"createdadmin@k8s-master:~$kubectlcreatenamespacebarnamespace”bar"createdadmin@k8s-master:~$kubectlrunnginx-foo--image=nginx-nfoodeployment"nginx-foo"createdadmin@k8s-master:~$kubectlrunnginx-bar--image=nginx-nbardeployment"nginx-bar"createdNamespace:fooNamespace:barNSX/K8stopology/24/24/24NATboundaryNATboundaryK8snodesK8sMastersNSX-TK8s集成

–Namespaces&Pods18admin@k8s-master:~$vimno-nat-namespace.yaml apiVersion:v1kind:Namespacemetadata:name:no-nat-namespaceannotations:ncp/no_snat:"true“admin@k8s-master:~$kubectlcreate–fno-nat-namespace.yamlnamespace”no-nat-namespace"createdadmin@k8s-master:~$kubectlrunnginx-no-nat--image=nginx–nno-nat-namespace

deployment"nginx-k8s"createdNamespace:no-nat-namespaceNSX/K8stopology/26DirectRouting4/26K8snodesK8sMastersNSX-TK8s集成

–基于路由的NamespacesNSX-TK8s集成

–Pods的微分段#NET1522BUCONFIDENTIAL19方式1:基于安全规则的预定义标签(Label)admin@k8s-master:~$kubectllabelpodsnginx-foo-3492604561-nltrfsecgroup=web-nfooPod"nginx-nsx-3492604561-nltrf"labeledadmin@k8s-master:~$kubectllabelpodsnginx-bar-2789337611-z09x2secgroup=db-nbarpod"nginx-k8s-2789337611-z09x2"labeledadmin@k8s-master:~$kubectlgetpods--all-namespaces-LsecgroupNAMESPACENAMEREADYSTATUSRESTARTSAGESECGROUPk8snginx-foo-2789337611-z09x21/1Running058mwebnsxnginx-bar-3492604561-nltrf1/1Running01hdbNamespace:fooNamespace:barNSX/K8stopology/24/24/26NATboundaryNATboundaryWeb在NSX定义SecurityGroups并配置入/出方向

安全策略每个SecurityGroup可以被微分段以保护Pods相互访问DBNSX-TK8s集成

–Pods的微分段20方式2:基于K8sNetworkPolicyadmin@k8s-master:~$vimnsx-demo-policy.yaml apiVersion:extensions/v1beta1kind:NetworkPolicymetadata:name:nsx-demo-policyspec:podSelector:matchLabels:app:webingress:-from:-namespaceSelector:matchLabels:ncp/project:dbports:-port:80protocol:TCPadmin@k8s-master:~$kubectlcreate-fnsx-demo-policy.yamlState:

K8s1.7发布

(Betaon1.6)能力:使用NetworkPolicy,用户可以定义进出Namespace或者Pod之间的防火墙规则.network

policy一个是Namespace特性.Namespace:fooNamespace:barNSX/K8stopology/24/24/26NATboundaryRoutedDBLabel:app=dbWebLabel:app=web21$kubectlcreate-fnsx-demo-policy.yaml动态创建安全组基于k8s的NetworkPolicy动态创建安全策略一旦k8s的NetworkPolicy被应用,NSX就会自动创建源/目的安全组,并应用正确的安全策略NSX-TK8s集成

–Pods的微分段方式2:基于K8sNetworkPolicyK8s微分段:

描述Namespaces之间和Namespaces内部安全分段策略的数据模型叫’NetworkPolicies’,Kubernetes1.7发布(1.6Beta版)

基于Kubernetes的安全NSX可以利用K8s的网络策略定义动态的安全组和安全策略能力受限于K8sNetworkPolicy本身的能力K8sNetworkPolicy安全组和安全策略可以在NSX预定义,标签用于指定Pods的成员关系在策略定义时也可以使用基于Ip地址的安全组、出向规则、基于VM的匹配等。

基于安全规则的预定义标签TheNSX/K8s的集成,既支持基于预定义标签规则的网络安全又支持基于K8s

networkpolicy的网络安全

基于NSX/K8s的安全22NSX-TK8s集成–Pods的微分段23NodeVM

NSXCNIPluginOVSPodsNSXKube

ProxyK8smasterK8smasterK8s

MasterControllerManagerK8sAPI

ServerdashboardSchedulerK8s服务通过NSXKube-Proxy交付

作为一个容器image交付,作为Kubernetes进程运行在Nodes上NSXKube-Proxy取代原生的分布式东西向负载均衡Kube-Proxy采用OpenVSwitch(OVS)的负载均衡东西向负载均衡一旦一个IngressController被添加,

NSX将定义相应的SNAT&DNAT规则24WebFront-EndIngressNginx入向负载均衡Podhttp://*.demo.corp.local/24/247南北向负载均衡NCP是一个Vmware提供的以容器image交付的软件组件,比如,作为一个K8sPod运行NCP采用模块化方式,因此可以为不同的CaaS和PaaS系统添加单独的adapters

K8s/NSX组件25NSXContainerPlugin(NCP)Namespace创建工作流NCPInfraK8sAdapterNSXContainerPluginNSXManagerAPIClientNSX

ManagerNS:fooNSX/K8stopologyNS:barK8smasteretcdAPI-ServerScheduler1)2)3)4)NCP通过K8sAPI监控

所有Namespace事件

用户创建一个新的K8sNamespaceTheK8sAPIServer通知NCPNamespaces变化NCP为Namespace创建网络拓扑:

从NSX预配

温馨提示

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

评论

0/150

提交评论