There are some times you want to examine your configuration on virtual services or pools . But NSX-T’s UI isn’t so friendly , it can’t even sort !
There are few things you should know before use:
filename: lsw.csv
ls_name,routeport_name,routeport_ip,routeport_prefix
LS-01,LS-01,192.168.101.1,24
LS-02,LS-02,192.168.102.1,24
LS-03,LS-03,192.168.103.1,24
$table=Import-Csv ./lsw.csv
#1. getting T1 router's ID
$t1routename="k8s-cluster1-pear"
$t1routesvc = Get-NsxtService -Name com.vmware.nsx.logical_routers
$t1routeid=$t1routesvc.list().results | where display_name -eq "$t1routename"
foreach ($routeport in $table ){
#2. getting Logicalswitch ID
$logSwitchSvc = Get-NsxtService -Name com.vmware.nsx.logical_switches
$logSwitchid = $logSwitchSvc.list().results | where display_name -eq $routeport.ls_name
#3. creating logical port
$logicalportsvc = Get-NsxtService com.vmware.nsx.logical_ports
$logicalportspec= $logicalportsvc.help.create.logical_port.create()
$logicalportspec.logical_switch_id=$logSwitchid.id
$logicalportspec.display_name=$routeport.ls_name+"-l3port"
$logicalportspec.admin_state="UP"
$logicalportspec
$logicalportsvc.create($logicalportspec)
#3.1 getting logical port's id
$logicalportid=$logicalportsvc.list().results | where display_name -eq $logicalportspec.display_name
#4. creating route port on T1
$routeportsvc = Get-NsxtService -Name com.vmware.nsx.logical_router_ports
$routeportspec = $routeportsvc.help.create.logical_router_port.logical_router_down_link_port.create()
#4.1 setup route port name
$routeportspec.display_name=$routeport.routeport_name
#4.2 setup route port and associate it to logical port in #3
$routeportspec.linked_logical_switch_port_id=$routeportsvc.help.create.logical_router_port.logical_router_down_link_port.linked_logical_switch_port_id.Create()
$routeportspec.linked_logical_switch_port_id.target_id=$logicalportid.id
$routeportspec.linked_logical_switch_port_id.target_type="LogicalPort"
#4.3 setup route port's ip and subnet
$ipinfo="" |select ip_addresses,prefix_length
$ipinfo.ip_addresses=New-Object System.Collections.Generic.List[string]
$ipinfo.ip_addresses=@($routeport.routeport_ip)
$ipinfo.prefix_length=$routeport.routeport_prefix
$routeportspec.subnets = $routeportsvc.help.create.logical_router_port.logical_router_down_link_port.subnets.create()
$routeportspec.subnets=@($ipinfo)
#4.4 setup route port's T1 router
$routeportspec.logical_router_id=$t1routeid.id
#4.5 Creating it!
#$routeportspec
$routeportsvc.create($routeportspec)
}
There are few things you should know before use:
filename: lsw.csv
LS_Name
LS-01
LS-02
LS-03
There are few things you should know before use:
rulename,srcipsetname,srcips,dstipsetname,dstips,servicename,protocol,port,action
APP1,APP1-192.168.1.1_10,192.168.1.1-192.168.1.10,any,,TCP-8080,TCP,8080,ALLOW
APP2,any,,APP2-172.16.0.0/24,172.16.0.0/24,HTTP,TCP,80,ALLOW
Deny any,any,,any,,any,,,DROP
运维像一个很长的旅行,如果说架构设计是旅行的第一天,那么运维便是一天之后接下来的日子,它涉及规划、监控、排错、报告、升级等。
这一点都不比架构设计简单。架构和运维像是阴与阳、夜晚与白天一样,你懂架构设计并不意味着你会运维。为什么这么说?很多客户都在运维中挣扎,他们有着全球领先的架构,但是还是像救火队一样,挣扎在两个相互矛盾的团队间
架构设计和运维总是缠绕在一起,我相信,我在这里敲着键盘,解决一个引起生产环节宕机的复杂问题,都是因为架构没做好。
不要设计一个你不愿意去排错的架构。
不要自动化一个你不能运维的东西。
为了帮助客户解决运维的问题, Kenon Owens 创建了一个项目,名为 Operationalize Your World。项目的目的是帮助客户运维他们的 SDDC。
最好的云不是具备最先进架构的。
而是一个很好用的。
请按照下面的步骤来学习此项目。
本项目会提供一个可交付的内容:一套仪表盘模板。这些并不是独立的,单独的面板。 这些相互之间有关联关系,相互补充,且会分享一个超级衡量指标,组和策略等。从 vRops 6.4 开始,其中的 16 个模板会内置到 vRops 中。
运维像一个很长的旅行,如果说架构设计是旅行的第一天,那么运维便是一天之后接下来的日子,它涉及规划、监控、排错、报告、升级等。
这一点都不比架构设计简单。架构和运维像是阴与阳、夜晚与白天一样,你懂架构设计并不意味着你会运维。为什么这么说?很多客户都在运维中挣扎,他们有着全球领先的架构,但是还是像救火队一样,挣扎在两个相互矛盾的团队间
架构设计和运维总是缠绕在一起,我相信,我在这里敲着键盘,解决一个引起生产环节宕机的复杂问题,都是因为架构没做好。
不要设计一个你不愿意去排错的架构。
不要自动化一个你不能运维的东西。
为了帮助客户解决运维的问题, Kenon Owens 创建了一个项目,名为 Operationalize Your World。项目的目的是帮助客户运维他们的 SDDC。
最好的云不是具备最先进架构的。
而是一个很好用的。
请按照下面的步骤来学习此项目。
本项目会提供一个可交付的内容:一套仪表盘模板。这些并不是独立的,单独的面板。 这些相互之间有关联关系,相互补充,且会分享一个超级衡量指标,组和策略等。从 vRops 6.4 开始,其中的 16 个模板会内置到 vRops 中。