NÀtverksfabriken för datacenter Cisco ACI - till hjÀlp för administratören

NÀtverksfabriken för datacenter Cisco ACI - till hjÀlp för administratören
Med hjÀlp av detta magiska stycke skript kan Cisco ACI snabbt stÀlla in nÀtverket.

NÀtverksfabriken för datacenter Cisco ACI har funnits i fem Är, men pÄ Habr har det knappt skrivits nÄgot om den, sÄ jag beslutade mig för att rÀtta till detta lite. Jag kommer att berÀtta utifrÄn min egen erfarenhet vad det handlar om, vilken nytta den har och vilka problem den kan medföra.

Vad Àr det och varifrÄn kom det?

Vid tillkÀnnagivandet av ACI (Application Centric Infrastructure) 2013 trÀngde konkurrenter mot de traditionella nÀtverksmetoderna för datacenter pÄ tre fronter.

Å ena sidan lovade SDN-lösningar "första generationen" baserade pĂ„ OpenFlow att göra nĂ€tverken bĂ„de mer flexibla och billigare samtidigt. IdĂ©n var att flytta beslutsfattande, som traditionellt utfördes av proprietĂ€r mjukvara pĂ„ switcharna, till en central kontroller.

Denna kontroller skulle ha en gemensam syn pÄ allt som hÀnder och, baserat pÄ detta, programmera hÄrdvaran för alla switchar pÄ nivÄ av regler för behandling av specifika flöden.
Å andra sidan gav överlagrade nĂ€tverkslösningar möjlighet att implementera önskad anslutning och sĂ€kerhetspolicy helt utan förĂ€ndringar i det fysiska nĂ€tverket, genom att bygga programvarutunnlar mellan virtualiserade vĂ€rdar. Det mest kĂ€nda exemplet pĂ„ en sĂ„dan lösning var Nicira, som vid den tiden redan hade förvĂ€rvats av VMWare för 1,26 miljarder dollar och gav upphov till det nuvarande VMWare NSX. En viss krydda till situationen tillfördes av att medgrundarna av Nicira var samma personer som tidigare stod bakom OpenFlow, som nu sa att för att bygga datacenterfabriken Ă€r OpenFlow olĂ€mpligt..

Slutligen har switchchip som Ă€r tillgĂ€ngliga pĂ„ den öppna marknaden (det som kallas merchant silicon) nĂ„tt en mognadsgrad dĂ€r de utgör ett verkligt hot mot traditionella switchtillverkare. Tidigare designade varje tillverkare sina egna chip för sina switchar, men med tiden har chip frĂ„n tredjepartsleverantörer, framför allt frĂ„n BrĐŸadcom, successivt kommit ikapp tillverkarens chip nĂ€r det gĂ€ller funktioner, och i pris/prestandaförhĂ„llande övertrĂ€ffat dem. DĂ€rför ansĂ„g mĂ„nga att dagarna för switchar med egenutvecklade chip var rĂ€knade.

ACI blev Cisco's "asymmetriska svar" (eller snarare, företaget Insieme som gick in i Cisco, grundat av tidigare anstÀllda) pÄ allt detta.

Vad Àr skillnaden med OpenFlow?

Ur ett funktionellt fördelningsperspektiv Àr ACI faktiskt motsatsen till OpenFlow.
I OpenFlow-arkitekturen ansvarar controllern för att skriva detaljerade regler (flöden)
till hÄrdvaran i alla switchar, vilket innebÀr att i ett stort nÀtverk kan den ha ansvar för att upprÀtthÄlla och, viktigast av allt, Àndra tiotals miljoner poster pÄ hundratals punkter i nÀtverket, sÄ dess prestanda och tillförlitlighet i stora implementationer blir en flaskhals.

I ACI anvÀnds en omvÀnd metod: det finns ocksÄ en controller, men switcharna fÄr hög-nivÄ deklarativa policyer frÄn den, och rendering av detaljerade instÀllningar i hÄrdvaran utförs av sjÀlva switchen. Controllern kan startas om eller stÀngas av helt, och inget dÄligt kommer hÀnda med nÀtverket, förutom att det för tillfÀllet inte gÄr att styra. Intressant nog finns det situationer i ACI dÀr OpenFlow ÀndÄ anvÀnds, men lokalt inom vÀrden för programmering av Open vSwitch.

ACI Àr helt byggd pÄ overlay-transport baserat pÄ VXLAN, men inkluderar ocksÄ underliggande IP-transport inom en enda lösning. Cisco har kallat detta begrepp "integrerad overlay". Som terminationspunkt för overlay i ACI anvÀnds oftast fabriks-switchar (de gör detta med kanalens hastighet). VÀrdar behöver inte veta nÄgot om fabriken, inkapsling och sÄ vidare, men i vissa fall (till exempel för att ansluta OpenStack-vÀrdar) kan VXLAN-trafik gÄ Ànda till dem.

Overlay anvÀnds i ACI inte bara för att sÀkerstÀlla flexibel konnektivitet via transportnÀtet, utan ocksÄ för att överföra metainformation (den anvÀnds till exempel för att tillÀmpa sÀkerhetspolicyer).

Broadcoms chippar har tidigare anvÀnts av Cisco i Nexus 3000-switchar. Familjen Nexus 9000, som sÀrskilt slÀpptes för att stödja ACI, implementerade ursprungligen en hybridmodell som kallades Merchant+. I switchen anvÀndes bÄde den nya Broadcom Trident 2-chippet och ett komplementerande chip frÄn Cisco som gjorde hela ACI-magin möjlig. Detta tycks ha gjort det möjligt att snabba upp produktlanseringen och sÀnka switchens pris till en nivÄ nÀra modeller med endast Trident 2. Denna strategi rÀckte i de första tvÄ till tre Ären av ACI-leveranser. Under denna tid utvecklade och slÀppte Cisco nÀsta generations Nexus 9000 med sina egna chipp som hade högre prestanda och funktioner, men pÄ samma prisklass. De externa specifikationerna för fabrikens interaktion förblev helt intakta. Dessutom Àndrades den interna hÄrdvaran helt: nÄgot som liknar refaktorisering, men för hÄrdvara.

Hur Cisco ACI:s arkitektur fungerar

I sin enklaste form byggs ACI upp enligt Clos-nÀtverks topologi, eller som det ofta kallas, Spine-Leaf. Antalet Spine-switchar kan vara frÄn tvÄ (eller en, om vi inte Àr bekymrade över redundans) till sex. Ju fler Spine-switchar, desto högre redundans (mindre bandbreddsnedgÄng och tillförlitlighet vid fel eller underhÄll av en Spine) och total prestanda. Alla externa anslutningar gÄr till Leaf-switcharna: detta inkluderar bÄde servrar, anslutningar till externa nÀtverk via L2 eller L3, samt kopplingar till APIC-kontroller. Generellt sett sker inte bara konfigurationen av ACI utan Àven insamling av statistik, övervakning av fel och andra uppgifter - allt görs via kontrollerarnas grÀnssnitt, dÀr det i vanliga implementeringar finns tre stycken.

Du behöver aldrig ansluta en konsol till switcharna, inte ens för att starta nÀtverket: kontrollerna upptÀckter sjÀlv switcharna och bygger fabriken med hjÀlp av instÀllningarna för alla tjÀnsteprotokoll, vilket Àr anledningen till att det Àr viktigt att notera serienumren pÄ den installerade utrustningen vid installationen, sÄ att man inte behöver gissa vilken switch som finns i vilken rack. För felsökning kan du vid behov ansluta till switcharna via SSH: pÄ dem Äterges de vanliga Cisco show-kommandona med stor noggrannhet.

Inuti fabriken anvÀnds IP-transport, sÄ det finns inga Spanning Tree och andra skrÀckhistorier frÄn det förflutna: alla lÀnkar Àr aktiva, och konvergens vid fel Àr mycket snabb. Trafiken i fabriken överförs via tunnlar baserade pÄ VXLAN. Mer specifikt kallar Cisco sjÀlva inkapslingen iVXLAN, och det som skiljer den frÄn vanlig VXLAN Àr att reserverade fÀlt i det nÀtverksövergripande huvudet anvÀnds för att överföra informationsdata, framför allt om trafikens förhÄllande till EPG-gruppen. Detta möjliggör implementering av interaktionsregler mellan grupper i hÄrdvaran, vilket anvÀnder deras nummer pÄ samma sÀtt som adresser anvÀnds i vanliga Ätkomstlistor.

Tunnlar möjliggör att strÀcka bÄde L2-segment och L3 (dvs. VRF) över intern IP-transport. HÀr Àr standardgatewayen distribuerad. Det betyder att varje switch ansvarar för routingen av den inkommande trafiken i fabriken. NÀr det gÀller logiken för trafiköverföring liknar ACI en fabrik baserad pÄ VXLAN/EVPN.

Om sÄ Àr fallet, vad Àr skillnaderna? I allt annat!

Den första skillnaden man stöter pÄ i ACI Àr hur servrar kopplas till nÀtverket. I traditionella nÀtverk ansluts bÄde fysiska servrar och virtuella maskiner till VLAN, och allt annat hÀrstammar dÀrifrÄn: anslutning, sÀkerhet etc. I ACI anvÀnds en konstruktion som Cisco kallar EPG (End-point Group), som man inte kan undkomma. Kan man likstÀlla den med VLAN? Ja, men i sÄ fall finns det risk att mycket av det som ACI erbjuder gÄr förlorat.

NÀr det gÀller EPG formuleras alla Ätkomstregler, och i ACI anvÀnds som standard principen om 'vitlista', vilket innebÀr att endast trafik vars genomslÀpptande Àr uttryckligen tillÄtet fÄr passera. Det betyder att vi kan skapa EPG-grupper 'Web' och 'MySQL' och definiera en regel som tillÄter interaktion mellan dem endast via port 3306. Detta kommer att fungera utan koppling till nÀtverksadresser, Àven inom samma subnÀt!

Vi har kunder som valt ACI just pĂ„ grund av denna funktion, eftersom den tillĂ„ter att begrĂ€nsa Ă„tkomsten mellan servrar (virtuella eller fysiska – spelar ingen roll) utan att flytta dem mellan subnĂ€t, vilket innebĂ€r att adresseringen inte berörs. Ja, vi vet, ingen skriver ju ner det för hand IP-adresser i applikationskonfigurationer, eller hur?

Regler för trafikflöden i ACI kallas kontrakt. I ett sÄdant kontrakt blir en eller flera grupper eller nivÄer i en mÄngskiktad applikation tjÀnsteleverantörer (som en databas-tjÀnst), medan andra blir konsumenter. Kontraktet kan helt enkelt slÀppa igenom trafiken, eller göra nÄgot mer avancerat, till exempel dirigera den till en brandvÀgg eller lastbalanserare, samt Àndra QoS-vÀrdet.

Hur hamnar servrar i dessa grupper? Om det handlar om fysiska servrar eller nÄgot som ingÄr i ett existerande nÀtverk dÀr vi har skapat en VLAN-trunk, sÄ mÄste vi peka pÄ switchporten och den anvÀnda VLAN för att sÀtta dem i EPG. Som vi ser dyker VLAN upp dÀr de Àr nödvÀndiga.

Om servrarna Àr virtuella maskiner rÀcker det att hÀnvisa till den anslutna virtualiseringsmiljön, och sedan hÀnder allt automatiskt: en portgrupp (om vi pratar i termer av VMWare) skapas för att ansluta VM, nödvÀndiga VLAN eller VXLAN tilldelas, och skrivs in pÄ de nödvÀndiga switchportarna, och sÄ vidare. SÄ Àven om ACI Àr byggd kring ett fysiskt nÀtverk Àr kopplingarna för virtuella servrar mycket enklare Àn för fysiska. ACI har redan inbyggd integration med VMWare och MS Hyper-V, samt stöd för OpenStack och RedHat Virtualization. FrÄn en viss punkt har det Àven tillkommit inbyggt stöd för containerplattformar: Kubernetes, OpenShift, Cloud Foundry, vilket Àven omfattar tillÀmpning av policys och övervakning, sÄ nÀtverksadministratören kan direkt se vilka pods som körs pÄ vilka vÀrdar och i vilka grupper de tillhör.

Förutom att ingÄ i en eller annan portgrupp har virtuella servrar Àven extra egenskaper: namn, attribut osv., som kan anvÀndas som kriterier för att flytta dem till en annan grupp, till exempel vid omdöpning av VM eller om den fÄr en extra tagg. Cisco kallar detta mikrosektionsgrupper, Àven om sjÀlva konstruktionen som möjliggör att skapa flera sÀkerhetssegment i form av EPG i samma subnet ocksÄ kan betraktas som mikrosegregering. NÄvÀl, leverantören vet nog bÀst.

SjÀlva EPG:erna Àr helt logiska konstruktioner, som inte Àr kopplade till specifika switchar, servrar, etc., sÄ man kan göra saker med dem och konstruktioner baserade pÄ dem (applikationer och tenants) som Àr svÄra att göra i vanliga nÀtverk, till exempel kloning. Som ett resultat Àr det ganska enkelt att skapa en klon av en produktionsmiljö för att fÄ en testmiljö som garanterat Àr identisk med produktionen. Det kan göras manuellt, men det Àr bÀttre (och enklare) via API.

Generellt sett Àr logiken för hantering i ACI inte alls lik den man vanligtvis stöter pÄ
i traditionella nÀtverk frÄn samma Cisco: det programvarubaserade grÀnssnittet Àr primÀrt, medan GUI eller CLI Àr sekundÀra, eftersom de arbetar via samma API. DÀrför börjar nÀstan alla som arbetar med ACI att efter en tid orientera sig i den objektmodellen som anvÀnds för hantering och automatisera nÄgot efter sina behov. Det Àr enklast att göra detta frÄn Python: det finns praktiska fÀrdiga verktyg för det.

De lovade fallgroparna

Huvudproblemet Àr att mÄnga saker i ACI Àr gjorda pÄ ett annat sÀtt. För att börja arbeta normalt med det behöver man lÀra om. Detta gÀller sÀrskilt nÀtverksdriftsteam hos stora kunder, dÀr ingenjörer i Äratal har sysslat med "att registrera VLAN:er" efter begÀran. Det att VLAN nu inte lÀngre Àr VLAN, och att man inte behöver skapa VLAN:er för att lÀgga nya nÀtverk i virtualiserade vÀrdar, "slÄr helt ut" traditionella nÀtverksarbetare och tvingar dem att hÄlla sig kvar vid sina vanliga metoder. Det bör noteras att Cisco har försökt att göra det lite lÀttare genom att lÀgga till en "NXOS-liknande" CLI i kontrollern, vilket gör det möjligt att göra instÀllningar frÄn ett grÀnssnitt som liknar traditionella switchar. Men för att börja anvÀnda ACI pÄ ett bra sÀtt kommer man fortfarande att behöva förstÄ hur det fungerar.

Ur ett kostnadsperspektiv skiljer sig nÀtverket ACI frÄn traditionella nÀtverk baserade pÄ Cisco-utrustning i stort sett inte, eftersom de anvÀnder samma switchar för att byggas upp (Nexus 9000 kan fungera bÄde i ACI- och traditionellt lÀge och har nu blivit den frÀmsta "arbetshÀsten" för nya datacenterprojekt). Men för datacenter innebÀr nÀrvaron av kontroller och Spine-Leaf-arkitektur förstÄs en skillnad mellan de tvÄ switcharna. Nyligen lanserades Mini ACI-fabriken, dÀr tvÄ av tre kontroller har ersatts av virtuella maskiner. Detta gör det möjligt att minska kostnadsskillnaden, men den kvarstÄr ÀndÄ. SÄ för kunden bestÀms valet av hur intresserad han Àr av sÀkerhetsfunktioner, integration med virtualisering, enhetlig kontrollpunkt och annat.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster