Fabrik rangkaian untuk pusat data Cisco ACI - untuk membantu pentadbir

Fabrik rangkaian untuk pusat data Cisco ACI - untuk membantu pentadbir
Dengan bantuan sekeping ajaib skrip Cisco ACI ini, anda boleh menyediakan rangkaian dengan cepat.

Kilang rangkaian untuk pusat data Cisco ACI telah wujud selama lima tahun, tetapi HabrΓ© tidak benar-benar memberitahu apa-apa mengenainya, jadi saya memutuskan untuk memperbaikinya sedikit. Saya akan memberitahu anda dari pengalaman saya sendiri apa itu, apa kegunaannya dan di mana ia mempunyai garu.

Apakah itu dan dari mana ia datang?

Pada masa ACI (Application Centric Infrastructure) diumumkan pada 2013, pesaing telah memajukan pendekatan tradisional kepada rangkaian pusat data daripada tiga pihak sekaligus.

Di satu pihak, penyelesaian SDN "generasi pertama" berdasarkan OpenFlow berjanji untuk menjadikan rangkaian lebih fleksibel dan lebih murah pada masa yang sama. Ideanya adalah untuk memindahkan pembuatan keputusan yang secara tradisinya dilakukan oleh perisian suis proprietari kepada pengawal pusat.

Pengawal ini akan mempunyai visi tunggal tentang semua yang berlaku dan, berdasarkan ini, akan memprogram perkakasan semua suis pada tahap peraturan untuk memproses aliran tertentu.
Sebaliknya, penyelesaian rangkaian tindanan memungkinkan untuk melaksanakan dasar ketersambungan dan keselamatan yang diperlukan tanpa sebarang perubahan dalam rangkaian fizikal sama sekali, membina terowong perisian antara hos maya. Contoh pendekatan ini yang paling terkenal ialah Nicira, yang pada masa itu telah diperoleh oleh VMWare dengan harga $1,26 bilion dan menghasilkan VMWare NSX semasa. Beberapa keseronokan situasi itu ditambah dengan fakta bahawa pengasas bersama Nicira adalah orang yang sama yang sebelum ini berdiri di asal OpenFlow, kini mengatakan bahawa untuk membina kilang pusat data OpenFlow tidak sesuai.

Dan akhirnya, menukar cip yang terdapat di pasaran terbuka (apa yang dipanggil silikon pedagang) telah mencapai tahap kematangan di mana ia telah menjadi ancaman sebenar kepada pengeluar suis tradisional. Jika sebelum ini setiap vendor secara bebas membangunkan cip untuk suisnya, maka dari masa ke masa, cip daripada pengeluar pihak ketiga, terutamanya dari Broadcom, mula mengurangkan jarak dengan cip vendor dari segi fungsi, dan mengatasinya dari segi nisbah harga / prestasi. Oleh itu, ramai yang percaya bahawa hari suis pada cip reka bentuk mereka sendiri telah dinomborkan.

ACI telah menjadi "tindak balas asimetri" Cisco (lebih tepat lagi, syarikat Insiemenya, yang diasaskan oleh bekas pekerjanya) kepada semua perkara di atas.

Apakah perbezaan dengan OpenFlow?

Dari segi pengagihan fungsi, ACI sebenarnya adalah bertentangan dengan OpenFlow.
Dalam seni bina OpenFlow, pengawal bertanggungjawab untuk menulis peraturan terperinci (aliran)
dalam perkakasan semua suis, iaitu, dalam rangkaian yang besar, ia mungkin bertanggungjawab untuk mengekalkan dan, yang paling penting, menukar berpuluh-puluh juta rekod pada beratus-ratus titik dalam rangkaian, jadi prestasi dan kebolehpercayaannya menjadi halangan dalam sesuatu pelaksanaan yang besar.

ACI menggunakan pendekatan terbalik: sudah tentu, terdapat juga pengawal, tetapi suis menerima dasar pengisytiharan peringkat tinggi daripadanya, dan suis itu sendiri melaksanakan pemaparannya kepada butiran tetapan khusus dalam perkakasan. Pengawal boleh dibut semula atau dimatikan sama sekali, dan tiada perkara buruk akan berlaku pada rangkaian, kecuali, sudah tentu, kekurangan kawalan pada masa ini. Menariknya, terdapat situasi dalam ACI di mana OpenFlow masih digunakan, tetapi secara tempatan dalam hos untuk pengaturcaraan Open vSwitch.

ACI dibina sepenuhnya pada pengangkutan tindanan berasaskan VXLAN, tetapi termasuk pengangkutan IP asas sebagai sebahagian daripada penyelesaian tunggal. Cisco memanggil ini sebagai "tindanan bersepadu". Sebagai titik penamatan untuk tindanan dalam ACI, dalam kebanyakan kes, suis kilang digunakan (mereka melakukan ini pada kelajuan pautan). Hos tidak perlu mengetahui apa-apa tentang kilang, enkapsulasi, dsb., namun, dalam beberapa kes (contohnya, untuk menyambungkan hos OpenStack), trafik VXLAN boleh dibawa kepada mereka.

Tindanan digunakan dalam ACI bukan sahaja untuk menyediakan sambungan yang fleksibel melalui rangkaian pengangkutan, tetapi juga untuk memindahkan maklumat meta (ia digunakan, sebagai contoh, untuk menggunakan dasar keselamatan).

Cip daripada Broadcom sebelum ini digunakan oleh Cisco dalam suis siri Nexus 3000. Dalam keluarga Nexus 9000, yang dikeluarkan khas untuk menyokong ACI, model hibrid pada asalnya dilaksanakan, yang dipanggil Merchant +. Suis secara serentak menggunakan kedua-dua cip Broadcom Trident 2 baharu dan cip pelengkap yang dibangunkan oleh Cisco, yang melaksanakan semua keajaiban ACI. Nampaknya, ini memungkinkan untuk mempercepatkan pengeluaran produk dan mengurangkan tanda harga suis ke tahap yang hampir dengan model hanya berdasarkan Trident 2. Pendekatan ini cukup untuk dua atau tiga tahun pertama penghantaran ACI. Pada masa ini, Cisco telah membangunkan dan melancarkan Nexus 9000 generasi seterusnya pada cipnya sendiri dengan lebih banyak prestasi dan set ciri, tetapi pada tahap harga yang sama. Spesifikasi luaran dari segi interaksi di kilang dipelihara sepenuhnya. Pada masa yang sama, pengisian dalaman telah berubah sepenuhnya: sesuatu seperti pemfaktoran semula, tetapi untuk perkakasan.

Bagaimana Seni Bina Cisco ACI Berfungsi

Dalam kes paling mudah, ACI dibina di atas topologi rangkaian Klose, atau, seperti yang sering mereka katakan, Spine-Leaf. Suis peringkat tulang belakang boleh daripada dua (atau satu, jika kita tidak mengambil berat tentang toleransi kesalahan) kepada enam. Oleh itu, lebih ramai daripada mereka, lebih tinggi toleransi kesalahan (semakin rendah lebar jalur dan pengurangan kebolehpercayaan sekiranya berlaku kemalangan atau penyelenggaraan satu Tulang Belakang) dan prestasi keseluruhan. Semua sambungan luaran pergi ke suis peringkat daun: ini adalah pelayan, dan dok dengan rangkaian luaran melalui L2 atau L3, dan menyambungkan pengawal APIC. Secara umum, dengan ACI, bukan sahaja konfigurasi, tetapi juga pengumpulan statistik, pemantauan kegagalan, dan sebagainya - semuanya dilakukan melalui antara muka pengawal, yang mana terdapat tiga dalam pelaksanaan bersaiz standard.

Anda tidak perlu menyambung ke suis dengan konsol, walaupun untuk memulakan rangkaian: pengawal itu sendiri mengesan suis dan memasang kilang daripadanya, termasuk tetapan semua protokol perkhidmatan, oleh itu, dengan cara itu, sangat penting untuk tuliskan nombor siri peralatan yang dipasang semasa pemasangan, supaya kemudian anda tidak perlu meneka suis mana yang terletak di rak mana. Untuk penyelesaian masalah, jika perlu, anda boleh menyambung ke suis melalui SSH: mereka mengeluarkan semula arahan rancangan Cisco biasa dengan agak berhati-hati.

Secara dalaman, kilang menggunakan pengangkutan IP, jadi tidak ada Spanning Tree dan kengerian masa lalu yang lain di dalamnya: semua pautan terlibat, dan penumpuan sekiranya berlaku kegagalan adalah sangat pantas. Trafik dalam fabrik dihantar melalui terowong berdasarkan VXLAN. Lebih tepat lagi, Cisco sendiri memanggil enkapsulasi iVXLAN, dan ia berbeza daripada VXLAN biasa kerana medan tersimpan dalam pengepala rangkaian digunakan untuk menghantar maklumat perkhidmatan, terutamanya mengenai hubungan trafik ke kumpulan EPG. Ini membolehkan anda melaksanakan peraturan interaksi antara kumpulan dalam peralatan, menggunakan nombor mereka dengan cara yang sama seperti alamat digunakan dalam senarai akses biasa.

Terowong membenarkan kedua-dua segmen L2 dan segmen L3 (iaitu, VRF) untuk diregangkan melalui pengangkutan IP dalaman. Dalam kes ini, get laluan lalai diedarkan. Ini bermakna setiap suis bertanggungjawab untuk menghalakan trafik yang memasuki fabrik. Dari segi logik trafik, ACI adalah serupa dengan kilang berdasarkan VXLAN/EVPN.

Jika ya, apakah perbezaannya? Semua yang lain!

Perbezaan nombor satu yang anda hadapi dengan ACI ialah cara pelayan disambungkan ke rangkaian. Dalam rangkaian tradisional, kemasukan kedua-dua pelayan fizikal dan mesin maya pergi ke VLAN, dan segala-galanya menari daripadanya: ketersambungan, keselamatan, dll. Dalam ACI, reka bentuk digunakan yang Cisco memanggil EPG (Kumpulan Titik Akhir), dari mana tiada tempat melarikan diri. Adakah mungkin untuk menyamakannya dengan VLAN? Ya, tetapi dalam kes ini terdapat peluang untuk kehilangan sebahagian besar daripada apa yang diberikan oleh ACI.

Berkenaan dengan EPG, semua peraturan akses dirumuskan, dan dalam ACI, prinsip "senarai putih" digunakan secara lalai, iaitu, hanya lalu lintas dibenarkan, yang laluannya dibenarkan secara eksplisit. Iaitu, kita boleh mencipta kumpulan EPG "Web" dan "MySQL" dan mentakrifkan peraturan yang membenarkan komunikasi antara mereka hanya pada port 3306. Ini akan berfungsi tanpa terikat dengan alamat rangkaian dan juga dalam subnet yang sama!

Kami mempunyai pelanggan yang telah memilih ACI dengan tepat kerana ciri ini, kerana ia membolehkan anda menyekat akses antara pelayan (maya atau fizikal - tidak mengapa) tanpa menyeret mereka antara subnet, yang bermaksud tanpa menyentuh pengalamatan. Ya, ya, kami tahu bahawa tiada siapa yang menetapkan alamat IP dalam konfigurasi aplikasi dengan tangan, bukan?

Peraturan lalu lintas dalam ACI dipanggil kontrak. Dalam kontrak sedemikian, satu atau lebih kumpulan atau peringkat dalam aplikasi berbilang peringkat menjadi penyedia perkhidmatan (katakan, perkhidmatan pangkalan data), yang lain menjadi pengguna. Kontrak hanya boleh melepasi trafik, atau ia boleh melakukan sesuatu yang lebih rumit, contohnya, mengarahkannya ke tembok api atau pengimbang, dan juga menukar nilai QoS.

Bagaimanakah pelayan masuk ke dalam kumpulan ini? Jika ini adalah pelayan fizikal atau sesuatu yang disertakan dalam rangkaian sedia ada di mana kami mencipta batang VLAN, maka untuk meletakkannya dalam EPG, anda perlu menunjuk ke port suis dan VLAN yang digunakan padanya. Seperti yang anda lihat, VLAN muncul di mana anda tidak boleh melakukannya tanpanya.

Jika pelayan adalah mesin maya, maka sudah cukup untuk merujuk kepada persekitaran virtualisasi yang disambungkan, dan kemudian semuanya akan berlaku dengan sendirinya: kumpulan port akan dibuat (dari segi VMWare) untuk menyambungkan VM, VLAN atau VXLAN yang diperlukan akan ditetapkan, mereka akan didaftarkan pada port suis yang diperlukan, dsb. Jadi, walaupun ACI dibina di sekitar rangkaian fizikal, sambungan untuk pelayan maya kelihatan lebih mudah daripada untuk yang fizikal. ACI sudah mempunyai sambungan terbina dalam dengan VMWare dan MS Hyper-V, serta sokongan untuk OpenStack dan RedHat Virtualization. Dari satu ketika, sokongan terbina dalam untuk platform kontena juga telah muncul: Kubernetes, OpenShift, Cloud Foundry, sementara ia melibatkan kedua-dua aplikasi dasar dan pemantauan, iaitu, pentadbir rangkaian boleh melihat dengan segera hos yang mana pod berfungsi dan mereka termasuk dalam kumpulan mana.

Selain disertakan dalam kumpulan port tertentu, pelayan maya mempunyai sifat tambahan: nama, atribut, dsb., yang boleh digunakan sebagai kriteria untuk memindahkannya ke kumpulan lain, katakan, apabila VM dinamakan semula atau teg tambahan muncul dalam ia. Cisco memanggil kumpulan pembahagian mikro ini, walaupun, pada umumnya, reka bentuk itu sendiri dengan keupayaan untuk mencipta banyak segmen keselamatan dalam bentuk EPG pada subnet yang sama juga merupakan pembahagian mikro. Nah, vendor lebih tahu.

EPG sendiri adalah binaan logik semata-mata, tidak terikat dengan suis, pelayan, dll. tertentu, jadi anda boleh melakukan perkara dengannya dan membina berdasarkannya (aplikasi dan penyewa) yang sukar dilakukan dalam rangkaian biasa, seperti pengklonan. Akibatnya, katakan sangat mudah untuk mengklon persekitaran pengeluaran untuk mendapatkan persekitaran ujian yang dijamin sama dengan persekitaran pengeluaran. Anda boleh melakukannya secara manual, tetapi ia lebih baik (dan lebih mudah) melalui API.

Secara umum, logik kawalan dalam ACI tidak sama sekali dengan apa yang biasa anda temui
dalam rangkaian tradisional dari Cisco yang sama: antara muka perisian adalah utama, dan GUI atau CLI adalah sekunder, kerana ia berfungsi melalui API yang sama. Oleh itu, hampir semua orang yang terlibat dalam ACI, selepas beberapa ketika, mula menavigasi model objek yang digunakan untuk pengurusan dan mengautomasikan sesuatu untuk memenuhi keperluan mereka. Cara paling mudah untuk melakukan ini adalah dari Python: terdapat alat siap sedia yang mudah untuknya.

Dijanjikan merapu

Masalah utama ialah banyak perkara dalam ACI dilakukan secara berbeza. Untuk mula bekerja dengannya seperti biasa, anda perlu melatih semula. Ini terutama berlaku untuk pasukan operasi rangkaian dalam pelanggan yang besar, di mana jurutera telah "menetapkan VLAN" selama bertahun-tahun atas permintaan. Hakikat bahawa kini VLAN bukan lagi VLAN, dan anda tidak perlu mencipta VLAN dengan tangan untuk meletakkan rangkaian baharu ke dalam hos maya, melemahkan sepenuhnya rangkaian tradisional dan menjadikan mereka berpaut kepada pendekatan biasa. Perlu diingatkan bahawa Cisco cuba memaniskan pil sedikit dan menambah CLI "seperti NXOS" pada pengawal, yang membolehkan anda melakukan konfigurasi dari antara muka yang serupa dengan suis tradisional. Namun begitu, untuk mula menggunakan ACI secara normal, anda perlu memahami cara ia berfungsi.

Dari segi harga, pada skala besar dan sederhana, rangkaian ACI sebenarnya tidak berbeza daripada rangkaian tradisional pada peralatan Cisco, kerana suis yang sama digunakan untuk membinanya (Nexus 9000 boleh berfungsi dalam ACI dan dalam mod tradisional dan kini telah menjadi yang utama "kuda kerja" untuk projek pusat data baharu). Tetapi untuk pusat data dua suis, kehadiran pengawal dan seni bina Spine-Leaf, sudah tentu, membuatkan diri mereka terasa. Baru-baru ini, sebuah kilang Mini ACI telah muncul, di mana dua daripada tiga pengawal digantikan oleh mesin maya. Ini mengurangkan perbezaan dalam kos, tetapi ia masih kekal. Jadi bagi pelanggan, pilihan ditentukan oleh sejauh mana dia berminat dengan ciri keselamatan, integrasi dengan virtualisasi, satu titik kawalan, dan sebagainya.

Sumber: www.habr.com

Tambah komen