புரோஹோஸ்டர் > Блог > நிர்வாகம் > 10G நெட்வொர்க்கில் (ஆகஸ்ட் 2020) குபெர்னெட்டிற்கான CNI செயல்திறன் மதிப்பீடு
10G நெட்வொர்க்கில் (ஆகஸ்ட் 2020) குபெர்னெட்டிற்கான CNI செயல்திறன் மதிப்பீடு
டிஎல்; டி.ஆர்: அனைத்து CNIகளும் தானாக MTU கண்டறிதலைத் தவிர்த்து, Kube-Router மற்றும் Kube-OVN, காலிகோவைத் தவிர, அவைகள் செயல்படுவது சிறந்தது.
எனது கடந்தகால காசோலைகளின் கட்டுரை புதுப்பிப்பு (2018 и 2019), சோதனையின் போது, ஆகஸ்ட் 1.19 வரை புதுப்பிக்கப்பட்ட CNIகளுடன் Ubuntu 18.04 இல் Kubernetes 2020 ஐப் பயன்படுத்துகிறேன்.
அளவீடுகளுக்குள் நுழைவதற்கு முன்...
ஏப்ரல் 2019 முதல் புதியது என்ன?
உங்கள் சொந்த கிளஸ்டரில் சோதனை செய்யலாம்: எங்கள் கருவியைப் பயன்படுத்தி உங்கள் சொந்த கிளஸ்டரில் சோதனைகளை இயக்கலாம் குபெர்னெட்ஸ் நெட்வொர்க் பெஞ்ச்மார்க்: knb
புதிய காட்சிகள்: தற்போதைய காசோலைகள் "Pod-to-Pod" நெட்வொர்க் செயல்திறன் சோதனைகளை இயக்குகின்றன, மேலும் புதிய "Pod-to-Service" ஸ்கிரிப்ட் சேர்க்கப்பட்டுள்ளது, இது சோதனைகளை நிஜ உலக நிலைமைகளுக்கு நெருக்கமாக இயக்குகிறது. நடைமுறையில், API உடனான உங்கள் Pod ஒரு சேவையாக அடிப்படையுடன் செயல்படுகிறது, Pod ip முகவரி மூலம் அல்ல (நிச்சயமாக TCP மற்றும் UDP இரண்டையும் நாங்கள் இரண்டு சூழ்நிலைகளுக்கும் சரிபார்க்கிறோம்).
வள நுகர்வு: ஒவ்வொரு சோதனையும் இப்போது அதன் சொந்த ஆதார ஒப்பீடு உள்ளது
விண்ணப்பச் சோதனைகளை அகற்றுதல்: நாங்கள் இனி HTTP, FTP மற்றும் SCP சோதனைகளைச் செய்ய மாட்டோம், ஏனெனில் சமூகம் மற்றும் CNI பராமரிப்பாளர்கள், CNI தொடக்கத்தில் தாமதம் (Pod இன் முதல் சில நொடிகள்) காரணமாக TCP மற்றும் கர்ல் முடிவுகளுக்கு இடையே உள்ள இடைவெளியைக் கண்டறிந்துள்ளனர். தொடக்கம், இது உண்மையான நிலைமைகளில் பொதுவானதல்ல).
ஓப்பன் சோர்ஸ்: அனைத்து சோதனை ஆதாரங்களும் (ஸ்கிரிப்டுகள், yml அமைப்புகள் மற்றும் அசல் "ரா" தரவு) உள்ளன இங்கே
குறிப்பு சோதனை நெறிமுறை
நெறிமுறை விரிவாக விவரிக்கப்பட்டுள்ளது இங்கேஇந்த கட்டுரை உபுண்டு 18.04 இயல்புநிலை கர்னலுடன் உள்ளது என்பதை நினைவில் கொள்ளவும்.
மதிப்பீட்டிற்காக CNI ஐத் தேர்ந்தெடுப்பது
இந்த சோதனையானது ஒரு yaml கோப்புடன் கட்டமைக்கப்பட்ட CNIகளை ஒப்பிடுவதை நோக்கமாகக் கொண்டுள்ளது (எனவே, VPP மற்றும் பிற ஸ்கிரிப்ட்களால் நிறுவப்பட்ட அனைத்தும் விலக்கப்பட்டுள்ளன).
ஒப்பிடுவதற்கு நாங்கள் தேர்ந்தெடுத்த CNIகள்:
ஆண்ட்ரியா v.0.9.1
காலிகோ v3.16
கால்வாய் v3.16 (Flannel நெட்வொர்க் + காலிகோ நெட்வொர்க் கொள்கைகள்)
சிலியம் 1.8.2
ஃபிளானல் 0.12.0
குபே-ரௌட்டர் சமீபத்திய (2020–08–25)
வீவ்நெட் 2.7.0
CNI க்காக MTU ஐ கட்டமைக்கிறது
முதலில், TCP செயல்திறனில் தானியங்கி MTU கண்டறிதலின் தாக்கத்தை நாங்கள் சரிபார்க்கிறோம்:
TCP செயல்திறனில் MTU இன் தாக்கம்
UDP ஐப் பயன்படுத்தும் போது இன்னும் பெரிய இடைவெளி காணப்படுகிறது:
UDP செயல்திறனில் MTU இன் தாக்கம்
சோதனைகளில் வெளிப்படுத்தப்பட்ட மிகப்பெரிய செயல்திறன் தாக்கத்தின் அடிப்படையில், அனைத்து CNI பராமரிப்பாளர்களுக்கும் ஒரு நம்பிக்கைக் கடிதத்தை அனுப்ப விரும்புகிறோம்: CNI இல் தானியங்கி MTU கண்டறிதலைச் சேர்க்கவும். நீங்கள் பூனைக்குட்டிகள், யூனிகார்ன்கள் மற்றும் அழகானவை கூட காப்பாற்றுவீர்கள்: சிறிய டெவொப்.
இருப்பினும், தானியங்கி MTU கண்டறிதலுக்கான ஆதரவு இல்லாமல் நீங்கள் CNI ஐப் பயன்படுத்த வேண்டும் என்றால், செயல்திறனைப் பெற நீங்கள் அதை கைமுறையாக உள்ளமைக்கலாம். இது காலிகோ, கால்வாய் மற்றும் வீவ்நெட் ஆகியவற்றிற்கு பொருந்தும் என்பதை நினைவில் கொள்ளவும்.
உடன் வரும் CNI களுக்கு எனது சிறிய வேண்டுகோள்...
சிஎன்ஐ சோதனை: ரா டேட்டா
இந்த பிரிவில், CNI ஐ சரியான MTU உடன் ஒப்பிடுவோம் (தானாக தீர்மானிக்கப்படும் அல்லது கைமுறையாக அமைக்கப்படும்). மூல தரவை வரைபடங்களில் காண்பிப்பதே இங்கு முக்கிய குறிக்கோள்.
வண்ண புராணம்:
சாம்பல் - மாதிரி (அதாவது வெறும் இரும்பு)
பச்சை - அலைவரிசை 9500 Mbps க்கு மேல்
மஞ்சள் - 9000 Mbps க்கு மேல் அலைவரிசை
ஆரஞ்சு - அலைவரிசை 8000 Mbps க்கு மேல்
சிவப்பு - அலைவரிசை 8000 Mbps க்குக் கீழே
நீலம் - நடுநிலை (அலைவரிசையுடன் தொடர்புடையது அல்ல)
சுமை இல்லாத வள நுகர்வு
முதலில், கொத்து "தூங்கும்" போது வள நுகர்வு சரிபார்க்கவும்.
சுமை இல்லாத வள நுகர்வு
பாட்-டு-பாட்
கிளையன்ட் பாட் அதன் ஐபி முகவரியைப் பயன்படுத்தி சர்வர் பாட் உடன் நேரடியாக இணைகிறது என்று இந்த சூழ்நிலை கருதுகிறது.
பாட்-டு-பாட் காட்சி
டிசிபி
Pod-to-Pod TCP முடிவுகள் மற்றும் தொடர்புடைய வள நுகர்வு:
யுடிபி
Pod-to-Pod UDP முடிவுகள் மற்றும் தொடர்புடைய ஆதார நுகர்வு:
பாட்-டு-சர்வீஸ்
இந்த பிரிவு உண்மையான பயன்பாட்டு நிகழ்வுகளுக்கு பொருத்தமானது, கிளையன்ட் பாட் ClusterIP சேவை வழியாக சர்வர் பாட் உடன் இணைக்கிறது.
பாட்-டு-சர்வீஸ் ஸ்கிரிப்ட்
டிசிபி
Pod-to-Service TCP முடிவுகள் மற்றும் அதற்கான ஆதார நுகர்வு:
யுடிபி
Pod-to-Service UDP முடிவுகள் மற்றும் அதற்கான ஆதார நுகர்வு:
நெட்வொர்க் கொள்கை ஆதரவு
மேற்கூறியவற்றில், அரசியலை ஆதரிக்காத ஒரே ஒரு ஃபிளானல். மற்ற அனைத்தும் உள்வரும் மற்றும் வெளிச்செல்லும் உட்பட நெட்வொர்க் கொள்கைகளை சரியாக செயல்படுத்துகின்றன. பெரிய வேலை!
CNI குறியாக்கம்
சரிபார்க்கப்பட்ட CNI களில், Pods இடையே பிணைய பரிமாற்றத்தை குறியாக்கம் செய்யக்கூடியவை உள்ளன:
IPsec ஐப் பயன்படுத்தும் ஆன்ட்ரியா
வயர்கார்டைப் பயன்படுத்தும் காலிகோ
IPsec ஐப் பயன்படுத்தும் சிலியம்
IPsec ஐப் பயன்படுத்தி WeaveNet
திறன்
குறைவான CNIகள் இருப்பதால், அனைத்து காட்சிகளையும் ஒரே வரைபடத்தில் வைப்போம்:
வள நுகர்வு
இந்தப் பிரிவில், TCP மற்றும் UDP இல் Pod-to-Pod தொடர்பைச் செயலாக்கும்போது பயன்படுத்தப்படும் ஆதாரங்களை மதிப்பீடு செய்வோம். Pod-to-Service வரைபடத்தை வரைவதில் எந்தப் பயனும் இல்லை, ஏனெனில் அது கூடுதல் தகவலை வழங்கவில்லை.
அதை எல்லாம் சேர்த்து
எல்லா வரைபடங்களையும் மீண்டும் செய்ய முயற்சிப்போம், இங்கே ஒரு சிறிய அகநிலையை அறிமுகப்படுத்தியுள்ளோம், உண்மையான மதிப்புகளை "vwry fast", "low" போன்ற சொற்களால் மாற்றுகிறோம்.
முடிவு மற்றும் எனது முடிவுகள்
இது ஒரு சிறிய அகநிலை, ஏனெனில் முடிவுகளுக்கு எனது சொந்த விளக்கத்தை நான் தெரிவிக்கிறேன்.
புதிய CNIகள் தோன்றியதில் நான் மகிழ்ச்சியடைகிறேன், ஆண்ட்ரியா சிறப்பாக செயல்பட்டது, ஆரம்ப பதிப்புகளில் கூட பல செயல்பாடுகள் செயல்படுத்தப்பட்டன: தானியங்கி MTU கண்டறிதல், குறியாக்கம் மற்றும் எளிதான நிறுவல்.
செயல்திறனை ஒப்பிட்டுப் பார்த்தால், Kube-OVN மற்றும் Kube-Router தவிர அனைத்து CNIகளும் நன்றாக வேலை செய்கின்றன. Kube-Router MTU ஐக் கண்டறிய முடியவில்லை, ஆவணத்தில் எங்கும் அதை உள்ளமைப்பதற்கான வழியை நான் காணவில்லை (இங்கே இந்த தலைப்பில் ஒரு கோரிக்கை திறக்கப்பட்டுள்ளது).
வள நுகர்வு அடிப்படையில், Cilium இன்னும் மற்றவர்களை விட அதிக ரேம் பயன்படுத்துகிறது, ஆனால் உற்பத்தியாளர் தெளிவாக பெரிய கிளஸ்டர்களை குறிவைக்கிறார், இது மூன்று முனை கிளஸ்டரில் ஒரு சோதனைக்கு சமமாக இல்லை. Kube-OVN நிறைய CPU மற்றும் RAM ஆதாரங்களைப் பயன்படுத்துகிறது, ஆனால் இது Open vSwitch ஐ அடிப்படையாகக் கொண்ட ஒரு இளம் CNI ஆகும் (ஆண்ட்ரியாவைப் போல, இது சிறப்பாகச் செயல்படுகிறது மற்றும் குறைவாகப் பயன்படுத்துகிறது).
Flannel ஐத் தவிர அனைவருக்கும் நெட்வொர்க் கொள்கைகள் உள்ளன. வேகவைத்த டர்னிப்பை விட இலக்கு எளிமையானது என்பதால், அவர் அவர்களை ஒருபோதும் ஆதரிக்க மாட்டார் என்பது மிகவும் சாத்தியம்: இலகுவானது, சிறந்தது.
மேலும், மற்றவற்றுடன், குறியாக்க செயல்திறன் ஆச்சரியமாக இருக்கிறது. காலிகோ பழமையான CNIகளில் ஒன்றாகும், ஆனால் குறியாக்கம் சில வாரங்களுக்கு முன்புதான் சேர்க்கப்பட்டது. அவர்கள் IPsec க்கு பதிலாக வயர்கார்டைத் தேர்ந்தெடுத்தனர், மேலும் எளிமையாகச் சொன்னால், இது சிறப்பாகவும் அற்புதமாகவும் செயல்படுகிறது, சோதனையின் இந்த பகுதியில் மற்ற CNI களை முற்றிலும் மறைக்கிறது. நிச்சயமாக, குறியாக்கத்தின் காரணமாக வள நுகர்வு அதிகரிக்கிறது, ஆனால் அடையப்பட்ட செயல்திறன் மதிப்புக்குரியது (Cilium உடன் ஒப்பிடும்போது Calico குறியாக்க சோதனையில் ஆறு மடங்கு முன்னேற்றத்தைக் காட்டியது, இது இரண்டாவது இடத்தில் உள்ளது). மேலும், நீங்கள் காலிகோவை கிளஸ்டருக்கு அனுப்பிய பிறகு எந்த நேரத்திலும் வயர்கார்டை இயக்கலாம், மேலும் நீங்கள் விரும்பினால் சிறிது காலத்திற்கு அல்லது நிரந்தரமாக அதை முடக்கலாம். இது நம்பமுடியாத வசதியானது, இருப்பினும்! காலிகோ தற்போது MTU ஐ தானாக கண்டறியவில்லை என்பதை உங்களுக்கு நினைவூட்டுகிறோம் (இந்த அம்சம் எதிர்கால பதிப்புகளுக்காக திட்டமிடப்பட்டுள்ளது), எனவே உங்கள் நெட்வொர்க் ஜம்போ ஃப்ரேம்களை (MTU 9000) ஆதரிக்கும் பட்சத்தில் MTU ஐ உள்ளமைக்க மறக்காதீர்கள்.
மற்றவற்றுடன், Cilium கிளஸ்டர் முனைகளுக்கு இடையே போக்குவரத்தை குறியாக்கம் செய்ய முடியும் என்பதை நினைவில் கொள்ளவும் (மற்றும் Pods இடையே மட்டும் அல்ல), இது பொது கிளஸ்டர் முனைகளுக்கு மிகவும் முக்கியமானதாக இருக்கும்.
ஒரு முடிவாக, பின்வரும் பயன்பாட்டு நிகழ்வுகளை நான் பரிந்துரைக்கிறேன்:
மிகச் சிறிய கிளஸ்டருக்கு CNI தேவை அல்லது எனக்கு பாதுகாப்பு தேவையில்லை: உடன் வேலை flannel, இலகுவான மற்றும் மிகவும் நிலையான CNI (அவர் பழமையானவர்களில் ஒருவர், புராணத்தின் படி அவர் ஹோமோ குபெர்னாட்டஸ் அல்லது ஹோமோ கன்டைடோரஸ் என்பவரால் கண்டுபிடிக்கப்பட்டார்) நீங்கள் மிகவும் தனித்துவமான திட்டத்தில் ஆர்வமாக இருக்கலாம் k3 கள், காசோலை!
வழக்கமான கிளஸ்டருக்கு CNI தேவை: காலிகோ - உங்கள் விருப்பம், ஆனால் தேவைப்பட்டால் MTU ஐ உள்ளமைக்க மறக்காதீர்கள். நெட்வொர்க் கொள்கைகளுடன் நீங்கள் எளிதாகவும் இயல்பாகவும் விளையாடலாம், என்க்ரிப்ஷனை ஆன் மற்றும் ஆஃப் செய்யலாம்.
(மிகவும்) பெரிய அளவிலான கிளஸ்டருக்கு CNI தேவை: சரி, சோதனை பெரிய கிளஸ்டர்களின் நடத்தையைக் காட்டவில்லை, சோதனைகளை நடத்துவதில் நான் மகிழ்ச்சியடைவேன், ஆனால் எங்களிடம் 10Gbps இணைப்புடன் நூற்றுக்கணக்கான சேவையகங்கள் இல்லை. எனவே குறைந்தபட்சம் காலிகோ மற்றும் சிலியம் மூலம் உங்கள் முனைகளில் மாற்றியமைக்கப்பட்ட சோதனையை நடத்துவதே சிறந்த வழி.