Docker Swarm, Kubernetes සහ Mesos යනු වඩාත් ජනප්රිය බහාලුම් වාදක රාමු වේ. ඔහුගේ කතාවේදී අරුන් ගුප්තා ඩොකර්, රංචුව සහ කුබර්නෙටේස් හි පහත සඳහන් අංග සංසන්දනය කරයි:
- දේශීය සංවර්ධනය.
- යෙදවීමේ කාර්යයන්.
- බහු බහාලුම් යෙදුම්.
- සේවා සොයා ගැනීම.
- සේවාව පරිමාණය කිරීම.
- වරක් ධාවනය කළ යුතු කාර්යයන්.
- Maven සමඟ ඒකාබද්ධ වීම.
- "රෝලිං" යාවත්කාලීන කිරීම.
- Couchbase දත්ත සමුදා පොකුරක් නිර්මාණය කිරීම.
එහි ප්රතිඵලයක් වශයෙන්, ඔබ එක් එක් වාද්ය වෘන්දය සඳහා ලබා දිය යුතු දේ පිළිබඳ පැහැදිලි අවබෝධයක් ලබා ගන්නා අතර මෙම වේදිකා ඵලදායී ලෙස භාවිතා කරන්නේ කෙසේදැයි ඉගෙන ගනු ඇත.
අරුන් ගුප්තා වසර 10කට වැඩි කාලයක් Sun, Oracle, Red Hat සහ Couchbase සංවර්ධක ප්රජාවන් සංවර්ධනය කරමින් සිටින Amazon Web Services හි විවෘත මූලාශ්ර නිෂ්පාදන සඳහා ප්රධාන තාක්ෂණවේදියෙකි. අලෙවිකරණ ව්යාපාර සහ වැඩසටහන් සඳහා උපාය මාර්ග සංවර්ධනය කිරීම සහ ක්රියාත්මක කිරීම ප්රමුඛ හරස් ක්රියාකාරී කණ්ඩායම්වල වැඩ කිරීමේ පුළුල් පළපුරුද්දක් ඇත. ඔහු සන් ඉංජිනේරුවන්ගේ කණ්ඩායම්වලට නායකත්වය දුන් අතර, ජාවා ඊඊ කණ්ඩායමේ නිර්මාතෘවරුන්ගෙන් එක් අයෙක් සහ Devoxx4Kids හි එක්සත් ජනපද ශාඛාවේ නිර්මාතෘ වේ. අරුන් ගුප්තා තොරතුරු තාක්ෂණ බ්ලොග් වල පෝස්ට් 2 කට වැඩි ප්රමාණයක කතුවරයා වන අතර රටවල් 40 කට වැඩි ගණනක කතා ලබා දී ඇත.
55 පේළියේ මෙම දත්ත සමුදා සේවාව වෙත යොමු වන COUCHBASE_URI අඩංගු වේ, එයද Kubernetes වින්යාස ගොනුව භාවිතයෙන් නිර්මාණය කරන ලදී. ඔබ 2 පේළිය දෙස බැලුවහොත්, ඔබට කාරුණිකව දැකිය හැක: සේවාව යනු couchbase-service නමින් මා නිර්මාණය කරන සේවාව වන අතර, එම නමම 4 වන පේළියේ ලැයිස්තුගත කර ඇත. පහතින් සමහර වරායන් ඇත.
ප්රධාන රේඛා 6 සහ 7 වේ. සේවයේ දී මම පවසන්නේ, “ඒයි, මේවා මම සොයන ලේබල්!”, සහ මෙම ලේබල විචල්ය යුගල නාමවලට වඩා වැඩි දෙයක් නොවන අතර, මගේ couchbase-rs-pod වෙත ලකුණු 7 අයදුම්පත. පහත දැක්වෙන්නේ මෙම ලේබලවලට ප්රවේශය සපයන වරායන්ය.
19 වන පේළියේ මම නව ආකාරයේ ReplicaSet නිර්මාණය කරමි, 31 පේළියේ රූපයේ නම අඩංගු වන අතර පේළි 24-27 මගේ පොඩ් සමඟ සම්බන්ධ වූ පාර-දත්ත වෙත යොමු කරයි. මෙම සේවාව හරියටම සොයන්නේ කුමක්ද සහ සම්බන්ධය කළ යුත්තේ කුමක් ද යන්නයි. ගොනුව අවසානයේ 55-56 සහ 4 පේළි අතර යම් ආකාරයක සම්බන්ධතාවයක් ඇත: "මෙම සේවාව භාවිතා කරන්න!"
එබැවින්, අනුරූ කට්ටලයක් ඇති විට මම මගේ සේවාව ආරම්භ කරන අතර, සෑම අනුරූ කට්ටලයකටම අනුරූප ලේබලය සමඟ තමන්ගේම වරායක් ඇති බැවින්, එය සේවාවට ඇතුළත් වේ. සංවර්ධකයෙකුගේ දෘෂ්ටි කෝණයෙන්, ඔබ හුදෙක් සේවාව අමතන්න, එවිට ඔබට අවශ්ය අනුරූ කට්ටලය භාවිතා කරයි.
එහි ප්රතිඵලයක් වශයෙන්, Couchbase Service හරහා දත්ත සමුදා පසුබිම සමඟ සන්නිවේදනය කරන WildFly පොඩ් එකක් මා සතුව ඇත. Couchbase සේවාව හරහා couchbase backend සමඟ සන්නිවේදනය කරන WildFly Pods කිහිපයක් සමඟින් මට ඉදිරිපස භාවිතා කළ හැක.
පොකුරෙන් පිටත පිහිටා ඇති සේවාවක් එහි IP ලිපිනය හරහා පොකුර තුළ පිහිටා ඇති සහ අභ්යන්තර IP ලිපිනයක් ඇති මූලද්රව්ය සමඟ සන්නිවේදනය කරන්නේ කෙසේදැයි පසුව අපි බලමු.
ඉතින්, රාජ්ය රහිත බහාලුම් විශිෂ්ටයි, නමුත් රාජ්ය බහාලුම් භාවිතා කිරීම කොතරම් හොඳද? රාජ්ය හෝ නොනැසී පවතින බහාලුම් සඳහා පද්ධති සැකසුම් දෙස බලමු. Docker හි, ඔබ අවධානය යොමු කළ යුතු දත්ත ගබඩා පිරිසැලසුම සඳහා විවිධ ප්රවේශයන් 4ක් ඇත. පළමුවැන්න Implicit Per-Container වේ, එනම් couchbase, MySQL හෝ MyDB satateful බහාලුම් භාවිතා කරන විට, ඒවා සියල්ලම පෙරනිමි සෑන්ඩ්බොක්ස් වලින් ආරම්භ වේ. එනම්, දත්ත ගබඩාවේ ගබඩා කර ඇති සෑම දෙයක්ම බහාලුම් තුළම ගබඩා කර ඇත. කන්ටේනරය අතුරුදහන් වුවහොත්, ඒ සමඟම දත්ත අතුරුදහන් වේ.
දෙවැන්න නම් Exlicit Per-Container වේ, ඔබ ඩොකර් පරිමාව නිර්මාණය කිරීමේ විධානය සමඟ නිශ්චිත ගබඩාවක් සාදන විට එහි දත්ත ගබඩා කරන්න. තුන්වන Per-Host ප්රවේශය ගබඩා සිතියම්ගත කිරීම සමඟ සම්බන්ධ වේ, බහාලුම්වල ගබඩා කර ඇති සියල්ල එකවර ධාරකය මත අනුපිටපත් කරන විට. කන්ටේනරය අසමත් වුවහොත්, දත්ත ධාරකයෙහි පවතිනු ඇත. දෙවැන්න බහු-ධාරක ධාරක කිහිපයක් භාවිතා කිරීම වන අතර එය විවිධ විසඳුම් නිෂ්පාදනය කිරීමේ අදියරේදී යෝග්ය වේ. ඔබගේ යෙදුම් සමඟ ඔබගේ බහාලුම් ධාරකය මත ක්රියාත්මක වන බව කියමු, නමුත් ඔබට ඔබගේ දත්ත අන්තර්ජාලයේ කොතැනක හෝ ගබඩා කිරීමට අවශ්ය වන අතර මේ සඳහා ඔබ බෙදා හරින ලද පද්ධති සඳහා ස්වයංක්රීය සිතියම්කරණය භාවිතා කරයි.
මෙම සෑම ක්රමයක්ම නිශ්චිත ගබඩා ස්ථානයක් භාවිතා කරයි. /var/lib/docker/volumes හි ධාරකය මත ව්යංග සහ පැහැදිලි Per-Container දත්ත ගබඩා කරයි. Per-Host ක්රමය භාවිතා කරන විට, ගබඩාව කන්ටේනරය තුළ සවි කර ඇති අතර, බහාලුමම ධාරකය මත සවි කර ඇත. බහු සත්කාරක සඳහා, Ceph, ClusterFS, NFS වැනි විසඳුම් භාවිතා කළ හැක.
නොනැසී පවතින බහාලුමක් අසමත් වුවහොත්, පළමු අවස්ථා දෙකේදී ගබඩා නාමාවලියට ප්රවේශ විය නොහැක, නමුත් අවසාන අවස්ථා දෙකේදී ප්රවේශය පවත්වාගෙන යනු ලැබේ. කෙසේ වෙතත්, පළමු අවස්ථාවේදී, ඔබට අථත්ය යන්ත්රයක් මත ක්රියාත්මක වන ඩොකර් ධාරකයක් හරහා ගබඩාවට ප්රවේශ විය හැක. දෙවන අවස්ථාවෙහිදී, ඔබ පැහැදිලි ගබඩාවක් සාදා ඇති නිසා දත්ත නැති නොවේ.
ධාරකය අසමත් වුවහොත්, පළමු අවස්ථා තුනේදී ගබඩා නාමාවලිය ලබා ගත නොහැක; අවසාන අවස්ථාවෙහිදී, ගබඩාව සමඟ සම්බන්ධතාවයට බාධා ඇති නොවේ. අවසාන වශයෙන්, පළමු අවස්ථාවේ දී ගබඩා කිරීම සඳහා හවුල් කාර්යය සම්පූර්ණයෙන්ම බැහැර කර ඇති අතර ඉතිරිය තුළ හැකි ය. දෙවන අවස්ථාවේදී, ඔබේ දත්ත සමුදාය බෙදා හරින ලද ගබඩාවට සහය දක්වයිද නැද්ද යන්න මත පදනම්ව ඔබට ගබඩාව බෙදා ගත හැකිය. Per-Host සම්බන්ධයෙන් ගත් කල, දත්ත බෙදා හැරීම කළ හැක්කේ ලබා දී ඇති ධාරකයක් මත වන අතර, බහු සත්කාරකයක් සඳහා එය පොකුරු ප්රසාරණය මගින් සපයනු ලැබේ.
රාජ්ය බහාලුම් නිර්මාණය කිරීමේදී මෙය සැලකිල්ලට ගත යුතුය. තවත් ප්රයෝජනවත් ඩොකර් මෙවලමක් වන්නේ "බැටරි පවතින නමුත් ප්රතිස්ථාපනය කළ යුතුය" යන මූලධර්මය මත ක්රියා කරන Volume ප්ලගිනයයි. ඔබ ඩොකර් කන්ටේනරයක් ආරම්භ කරන විට, එහි සඳහන් වන්නේ, “ඒයි, ඔබ දත්ත සමුදායක් සහිත බහාලුමක් ආරම්භ කළ පසු, ඔබට ඔබේ දත්ත මෙම බහාලුම් තුළ ගබඩා කළ හැකිය!” මෙය පෙරනිමි විශේෂාංගය, නමුත් ඔබට එය වෙනස් කළ හැක. මෙම ප්ලගිනය ඔබට බහාලුම් දත්ත ගබඩාවක් වෙනුවට ජාල ධාවකයක් හෝ ඒ හා සමාන දෙයක් භාවිතා කිරීමට ඉඩ සලසයි. එය සත්කාරක පාදක ගබඩාව සඳහා පෙරනිමි ධාවකයක් ඇතුළත් වන අතර Amazon EBS, Azure Storage සහ GCE Persistent තැටි වැනි බාහිර ගබඩා පද්ධති සමඟ බහාලුම් ඒකාබද්ධ කිරීමට ඉඩ සලසයි.
ඊළඟ ස්ලයිඩය ඩොකර් වෙළුම් ප්ලගිනයේ ගෘහ නිර්මාණ ශිල්පය පෙන්වයි.
නිල් වර්ණයෙන් නියෝජනය කරන්නේ ඔබට දත්ත ගබඩා කිරීම සඳහා බහාලුම් සපයන දේශීය ගබඩා එන්ජිමක් ඇති නිල් ඩොකර් ධාරකය හා සම්බන්ධ ඩොකර් සේවාලාභියාය. හරිත ප්ලගින සේවාලාභියා සහ Plugin Daemon, සත්කාරක වෙත සම්බන්ධ කර ඇත. ඔබට අවශ්ය Storage Backend වර්ගයේ Network Storage වල දත්ත ගබඩා කිරීමට ඔවුන් අවස්ථාව සලසා දෙයි.
Docker Volume ප්ලගිනය Portworx ගබඩාව සමඟ භාවිතා කළ හැක. PX-Dev මොඩියුලය ඇත්ත වශයෙන්ම ඔබ ධාවනය කරන බහාලුමක් වන අතර එය ඔබගේ Docker සත්කාරකයට සම්බන්ධ වන අතර ඔබට පහසුවෙන් Amazon EBS මත දත්ත ගබඩා කිරීමට ඉඩ සලසයි.
Portworx සේවාලාභියා ඔබට ඔබගේ සත්කාරකයට සම්බන්ධ කර ඇති විවිධ ගබඩා බහාලුම්වල තත්ත්වය නිරීක්ෂණය කිරීමට ඉඩ සලසයි. ඔබ මගේ බ්ලොග් අඩවියට පිවිසෙන්නේ නම්, ඔබට Docker සමඟ Portworx වලින් උපරිම ප්රයෝජන ගන්නේ කෙසේදැයි කියවිය හැක.
Kubernetes හි ගබඩා කිරීමේ සංකල්පය Docker හා සමාන වන අතර එය පොඩ් එකක ඔබේ බහාලුම් වෙත ප්රවේශ විය හැකි නාමාවලි මගින් නියෝජනය වේ. ඒවා ඕනෑම බහාලුම්වල ආයු කාලයෙන් ස්වාධීන වේ. පවතින වඩාත් පොදු ගබඩා වර්ග වන්නේ hostPath, nfs, awsElasticBlockStore, සහ gsePersistentDisk ය. අපි බලමු Kubernetes හි මෙම වෙළඳසැල් ක්රියා කරන ආකාරය. සාමාන්යයෙන්, ඒවා සම්බන්ධ කිරීමේ ක්රියාවලිය පියවර 3 කින් සමන්විත වේ.
පළමුවැන්න නම් ජාල පැත්තේ සිටින කෙනෙකු, සාමාන්යයෙන් පරිපාලකයෙකු, ඔබට ස්ථීර ගබඩාවක් ලබා දීමයි. මේ සඳහා අනුරූප PersistentVolume වින්යාස ගොනුවක් ඇත. ඊළඟට, යෙදුම් සංවර්ධකයා PersistentVolumeClaim නමින් වින්යාස ගොනුවක් හෝ PVC ගබඩා ඉල්ලීමක් ලියයි, එය මෙසේ කියයි: “මා සතුව 50GB බෙදා හරින ලද ආචයනය ප්රතිපාදන කර ඇත, නමුත් අනෙක් පුද්ගලයින්ට ද එහි ධාරිතාවය භාවිතා කිරීම සඳහා, මම දැනට මෙම PVC ට කියමි. අවශ්ය වන්නේ 10 GB පමණි". අවසාන වශයෙන්, තුන්වන පියවර වන්නේ ඔබගේ ඉල්ලීම ගබඩාව ලෙස සවි කර ඇති අතර, පොඩ් හෝ අනුරූ කට්ටලයක් හෝ ඒ හා සමාන දෙයක් ඇති යෙදුම එය භාවිතා කිරීමට පටන් ගනී. මෙම ක්රියාවලිය සඳහන් කර ඇති පියවර 3 කින් සමන්විත වන අතර එය පරිමාණය කළ හැකි බව මතක තබා ගැනීම වැදගත්ය.
ඊළඟ විනිවිදකයේ AWS ගෘහ නිර්මාණ ශිල්පයේ Kubernetes Persistence Container පෙන්වයි.
Kubernetes පොකුර නියෝජනය කරන දුඹුරු සෘජුකෝණාස්රය ඇතුළත, කහ පැහැයෙන් දැක්වෙන එක් ප්රධාන නෝඩයක් සහ කම්කරු නෝඩ් දෙකක් ඇත. එක් සේවක නෝඩයක තැඹිලි ගෙඩියක්, ගබඩාවක්, අනුරූ පාලකයක් සහ හරිත ඩොකර් කූච්බේස් බහාලුමක් අඩංගු වේ. පොකුරේ ඇතුළත, නෝඩ් වලට ඉහළින්, දම් පැහැති සෘජුකෝණාස්රයක් පිටතින් ප්රවේශ විය හැකි සේවාව පෙන්නුම් කරයි. උපාංගයේම දත්ත ගබඩා කිරීම සඳහා මෙම ගෘහ නිර්මාණ ශිල්පය නිර්දේශ කෙරේ. අවශ්ය නම්, ඊළඟ විනිවිදකයේ පෙන්වා ඇති පරිදි, මට මගේ දත්ත පොකුරෙන් පිටත EBS තුළ ගබඩා කළ හැක. මෙය පරිමාණය සඳහා සාමාන්ය ආකෘතියකි, නමුත් එය භාවිතා කිරීමේදී සලකා බැලිය යුතු මූල්ය අංශයක් තිබේ - ජාලයේ කොතැනක හෝ දත්ත ගබඩා කිරීම සත්කාරකයකට වඩා මිල අධික විය හැකිය. බහාලුම් විසඳුම් තෝරාගැනීමේදී, මෙය බර තර්ක වලින් එකකි.
Docker සමඟ මෙන්, ඔබට Portworx සමඟ ස්ථීර Kubernetes බහාලුම් භාවිතා කළ හැකිය.
වර්තමාන Kubernetes 1.6 පාරිභාෂිතය තුළ "StatefulSet" ලෙස හඳුන්වනු ලබන්නේ මෙයයි - Pod නැවැත්වීම සහ Graceful Shutdown කිරීම පිළිබඳ සිදුවීම් සකසන රාජ්ය යෙදුම් සමඟ වැඩ කිරීමේ ක්රමයකි. අපගේ නඩුවේදී, එවැනි යෙදුම් දත්ත සමුදායන් වේ. Portworx භාවිතයෙන් Kubernetes හි StatefulSet එකක් සාදා ගන්නේ කෙසේද යන්න මගේ බ්ලොග් අඩවියෙන් ඔබට කියවිය හැක.
අපි සංවර්ධන අංශය ගැන කතා කරමු. මම කී පරිදි, Docker සතුව අනුවාද 2 ක් ඇත - CE සහ EE, පළමු අවස්ථාවේ දී අපි කතා කරන්නේ EE හි මාසික යාවත්කාලීන කරන ලද අනුවාදයට වඩා වෙනස්ව සෑම මාස 3 කට වරක් යාවත්කාලීන වන ප්රජා සංස්කරණයේ ස්ථාවර අනුවාදයක් ගැන ය. ඔබට Mac, Linux හෝ Windows සඳහා Docker බාගත කළ හැක. ස්ථාපනය කළ පසු, Docker ස්වයංක්රීයව යාවත්කාලීන වන අතර එය ආරම්භ කිරීම ඉතා පහසු වේ.
Kubernetes සඳහා, මම Minikube අනුවාදයට කැමතියි - එය තනි නෝඩයක් මත පොකුරක් නිර්මාණය කිරීමෙන් වේදිකාව සමඟ ආරම්භ කිරීමට හොඳ ක්රමයකි. නෝඩ් කිහිපයක පොකුරු නිර්මාණය කිරීම සඳහා, අනුවාද තේරීම පුළුල් වේ: මේවා kops, kube-aws (CoreOS + AWS), kube-up (යල් පැන ගිය). ඔබ AWS-පාදක Kubernetes භාවිතා කිරීමට බලාපොරොත්තු වන්නේ නම්, AWS SIG වෙත සම්බන්ධ වීමට මම නිර්දේශ කරමි, එය සෑම සිකුරාදා දිනකම මාර්ගගතව හමු වන අතර AWS Kubernetes සමඟ වැඩ කිරීම පිළිබඳ විවිධ රසවත් තොරතුරු ප්රකාශයට පත් කරයි.
මෙම වේදිකාවල Rolling Update සිදු කරන්නේ කෙසේදැයි බලමු. නෝඩ් කිහිපයක පොකුරක් තිබේ නම්, එය රූපයේ නිශ්චිත අනුවාදයක් භාවිතා කරයි, උදාහරණයක් ලෙස, WildFly:1. රෝලිං යාවත්කාලීන කිරීම යනු රූප අනුවාදය අනුක්රමිකව එක් එක් නෝඩය මත එකින් එක අලුත් එකක් සමඟ ප්රතිස්ථාපනය කිරීමයි.
මෙය සිදු කිරීම සඳහා, මම ඩොකර් සේවා යාවත්කාලීන (සේවා නාමය) විධානය භාවිතා කරමි, එහි මම WildFly: 2 රූපයේ නව අනුවාදය සහ යාවත්කාලීන ක්රමය update-parallelism 2 නියම කරමි. අංක 2 යනු පද්ධතිය යෙදුම් රූප 2 ක් යාවත්කාලීන කරන බවයි. ඒ සමඟම, තත්පර 10ක යාවත්කාලීන ප්රමාදයක් තත්පර 10ක්, ඉන් පසුව මීළඟ පින්තූර 2 තවත් නෝඩ් 2ක් මත යාවත්කාලීන කෙරේ. මෙම සරල රෝලිං යාවත්කාලීන යාන්ත්රණය ඩොකර් හි කොටසක් ලෙස ඔබට සපයනු ලැබේ.
Kubernetes හි, පෙරළීමේ යාවත්කාලීනයක් මේ ආකාරයට ක්රියා කරයි. අනුකරණ පාලකය rc එකම අනුවාදයේ අනුරූ කට්ටලයක් නිර්මාණය කරයි, සහ මෙම webapp-rc හි ඇති සෑම පොඩ් එකක්ම etcd හි ඇති ලේබලයක් සමඟ සපයා ඇත. මට පොඩ් එකක් අවශ්ය වූ විට, මම නියමිත ලේබලය භාවිතා කර මට පොඩ් එක ලබා දෙන etcd ගබඩාවට ප්රවේශ වීමට යෙදුම් සේවාව භාවිතා කරමි.
මෙම අවස්ථාවෙහිදී, WildFly අනුවාදය 3 යෙදුම ධාවනය වන Replication controller හි අපට කරල් 1ක් ඇත. පසුබිමේ යාවත්කාලීන කිරීමේදී, එම නමම සහ අවසානයේ දර්ශකය සමඟ තවත් අනුකරණ පාලකයක් නිර්මාණය වේ - - xxxxx, එහිදී x යනු අහඹු සංඛ්යා වේ, සහ එකම ලේබල් සමඟ. දැන් Application Service හි යෙදුමේ පැරණි අනුවාදය සහිත කරල් තුනක් සහ නව අනුවර්තන පාලකයේ නව අනුවාදය සහිත කරල් තුනක් ඇත. මෙයින් පසු, පැරණි කරල් මකා දමනු ලැබේ, නව කරල් සහිත අනුකරණ පාලකය නැවත නම් කර ක්රියාත්මක වේ.
අපි නිරීක්ෂණයට යමු. Docker සතුව බොහෝ බිල්ට් අධීක්ෂණ විධාන ඇත. උදාහරණයක් ලෙස, ඩොකර් කන්ටේනර් සංඛ්යාලේඛන විධාන රේඛා අතුරුමුහුණත මඟින් සෑම තත්පරයකම කොන්සෝලයට බහාලුම්වල තත්වය පිළිබඳ තොරතුරු ප්රදර්ශනය කිරීමට ඉඩ සලසයි - ප්රොසෙසර භාවිතය, තැටි භාවිතය, ජාල භාරය. Docker Remote API මෙවලම සේවාදායකයා සේවාදායකයා සමඟ සන්නිවේදනය කරන ආකාරය පිළිබඳ දත්ත සපයයි. එය සරල විධාන භාවිතා කරයි, නමුත් Docker REST API මත පදනම් වේ. මෙම අවස්ථාවේදී, REST, Flash, Remote යන වචන වලින් අදහස් වන්නේ එකම දෙයයි. ඔබ සත්කාරක සමාගම සමඟ සන්නිවේදනය කරන විට, එය REST API වේ. Docker Remote API මඟින් ඔබට ධාවනය වන බහාලුම් පිළිබඳ වැඩිදුර තොරතුරු ලබා ගැනීමට ඉඩ සලසයි. මගේ බ්ලොගය Windows Server සමඟ මෙම අධීක්ෂණය භාවිතා කිරීමේ විස්තර ගෙනහැර දක්වයි.
බහු-ධාරක පොකුරක් ධාවනය කරන විට ඩොකර් පද්ධති සිදුවීම් නිරීක්ෂණය කිරීම මඟින් ධාරක බිඳවැටීමක් හෝ විශේෂිත ධාරකයක බහාලුම් බිඳවැටීමක්, පරිමාණ සේවා සහ ඒ හා සමාන දත්ත ලබා ගැනීමට හැකි වේ. Docker 1.20 සමඟින් පටන් ගෙන, දැනට පවතින යෙදුම් වලට අන්ත ලක්ෂ්ය කාවැද්දූ Prometheus ඇතුළත් වේ. මෙය ඔබට HTTP හරහා ප්රමිතික ලබා ගැනීමට සහ උපකරණ පුවරු මත ප්රදර්ශනය කිරීමට ඉඩ සලසයි.
තවත් අධීක්ෂණ අංගයක් වන්නේ cAdvisor (බහාලුම් උපදේශක සඳහා කෙටි). එය ක්රියාත්මක වන බහාලුම් වලින් සම්පත් භාවිතය සහ කාර්ය සාධන දත්ත විශ්ලේෂණය කර සපයයි, කොටුවෙන් පිටත Prometheus මෙට්රික්ස් සපයයි. මෙම මෙවලමෙහි විශේෂත්වය වන්නේ එය අවසන් තත්පර 60 සඳහා පමණක් දත්ත ලබා දීමයි. එමනිසා, ඔබට මෙම දත්ත එක්රැස් කර දත්ත සමුදායක් බවට පත් කිරීමට ඔබට හැකි විය යුතුය, එවිට ඔබට දිගුකාලීන ක්රියාවලියක් නිරීක්ෂණය කළ හැකිය. එය Grafana හෝ Kibana භාවිතයෙන් උපකරණ පුවරු ප්රමිතික චිත්රක ලෙස ප්රදර්ශනය කිරීමට ද භාවිතා කළ හැක. කිබානා උපකරණ පුවරුව භාවිතයෙන් බහාලුම් නිරීක්ෂණය කිරීමට cAdvisor භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳ සවිස්තරාත්මක විස්තරයක් මගේ බ්ලොගයේ ඇත.
මීළඟ ස්ලයිඩය Prometheus endpoint ප්රතිදානය කෙබඳුද යන්න සහ ප්රදර්ශනය කිරීමට ඇති ප්රමිතික පෙන්වයි.
පහළ වම් පසින් ඔබට HTTP ඉල්ලීම්, ප්රතිචාර, ආදිය සඳහා ප්රමිතික පෙනෙනු ඇත, දකුණු පසින් ඒවායේ චිත්රක සංදර්ශකය වේ.
Kubernetes ද ඇතුළත් අධීක්ෂණ මෙවලම් ඇතුළත් වේ. මෙම විනිවිදකය එක් මාස්ටර් සහ සේවක නෝඩ් තුනක් අඩංගු සාමාන්ය පොකුරක් පෙන්වයි.
වැඩ කරන සෑම නෝඩ් එකකම ස්වයංක්රීයව දියත් කරන ලද cAdvisor අඩංගු වේ. මීට අමතරව, Kubernetes අනුවාදය 1.0.6 සහ ඊට වැඩි සමග ගැළපෙන කාර්ය සාධන අධීක්ෂණ සහ ප්රමිතික එකතු කිරීමේ පද්ධතියක් වන Heapster ඇත. හීප්ස්ටර් මඟින් ඔබට වැඩ බර, කරල් සහ බහාලුම්වල කාර්ය සාධන ප්රමිතික පමණක් නොව, සමස්ත පොකුර විසින් ජනනය කරන ලද සිදුවීම් සහ වෙනත් සංඥා ද රැස් කිරීමට ඉඩ සලසයි. දත්ත රැස් කිරීම සඳහා, එය එක් එක් පොඩ්ගේ Kubelet සමඟ කතා කරයි, InfluxDB දත්ත ගබඩාවේ තොරතුරු ස්වයංක්රීයව ගබඩා කරයි, සහ එය ග්රැෆනා උපකරණ පුවරුවට ප්රමිතික ලෙස ප්රතිදානය කරයි. කෙසේ වෙතත්, ඔබ miniKube භාවිතා කරන්නේ නම්, මෙම විශේෂාංගය පෙරනිමියෙන් ලබා ගත නොහැකි බව මතක තබා ගන්න, එබැවින් ඔබට අධීක්ෂණය සඳහා ඇඩෝන භාවිතා කිරීමට සිදුවනු ඇත. එබැවින් ඒ සියල්ල රඳා පවතින්නේ ඔබ බහාලුම් ධාවනය කරන්නේ කොතැනද සහ ඔබට පෙරනිමියෙන් භාවිතා කළ හැකි අධීක්ෂණ මෙවලම් සහ ඔබට වෙනම ඇඩෝන ලෙස ස්ථාපනය කිරීමට අවශ්ය ඒවා මතය.
මීළඟ විනිවිදකයේ මගේ බහාලුම්වල ධාවන තත්ත්වය පෙන්වන Grafana උපකරණ පුවරු පෙන්වයි. මෙහි බොහෝ රසවත් දත්ත තිබේ. ඇත්ත වශයෙන්ම, SysDig, DataDog, NewRelic වැනි බොහෝ වාණිජ Docker සහ Kubernetes ක්රියාවලි අධීක්ෂණ මෙවලම් තිබේ. ඒවායින් සමහරක් වසර 30ක නොමිලේ අත්හදා බැලීමේ කාලයක් ඇත, එබැවින් ඔබට උත්සාහ කර ඔබට වඩාත් ගැලපෙන එක සොයා ගත හැක. පුද්ගලිකව, මම Kubernetes සමඟ හොඳින් ඒකාබද්ධ වන SysDig සහ NewRelic භාවිතා කිරීමට කැමැත්තෙමි. Docker සහ Kubernetes වේදිකා දෙකටම සමානව ඒකාබද්ධ වන මෙවලම් තිබේ.
සමහර දැන්වීම් 🙂
අප සමඟ රැඳී සිටීම ගැන ඔබට ස්තුතියි. ඔබ අපේ ලිපි වලට කැමතිද? වඩාත් රසවත් අන්තර්ගතය බැලීමට අවශ්යද? ඇණවුමක් කිරීමෙන් හෝ මිතුරන්ට නිර්දේශ කිරීමෙන් අපට සහාය වන්න,
Dell R730xd ඇම්ස්ටර්ඩෑම් හි Equinix Tier IV දත්ත මධ්යස්ථානයේ 2 ගුණයක් ලාභදායීද? මෙතන විතරයි
මූලාශ්රය: www.habr.com