




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 橡胶储罐销售合同范本
- 通经除痹汤联合揿针治疗神经根型颈椎病(风寒湿型)的临床观察
- 面向区块链的环签名算法及其应用研究
- 解放购车合同范本
- 期中考试成绩分析会讲话稿(9篇)
- 机械锻造合同范本
- 废纸运输合同范本
- 2025年度定制办公桌租赁与办公空间美学设计合同
- 2025年矿物制品及材料批发服务项目合作计划书
- 产业园装修项目管理合同
- 《钠离子电池用电解液编制说明》
- 全球医疗旅游经济的现状与未来趋势
- 2024年度储能电站在建项目收购合作协议范本3篇
- 新建冷却塔布水器项目立项申请报告
- 广东省梅州市梅县区2023-2024学年八年级上学期期末数学试题
- 2025届江苏省南通市海门市海门中学高三最后一模数学试题含解析
- 2024年世界职业院校技能大赛高职组“声乐、器乐表演组”赛项参考试题库(含答案)
- 2024数据中心综合布线工程设计
- 胸外科讲课全套
- 2024年下半年中煤科工集团北京华宇工程限公司中层干部公开招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025届上海市宝山区行知中学物理高一第一学期期末检测试题含解析
评论
0/150
提交评论