Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්

අපගේ ඉල්ලීම පරිදි හබ්ර් මධ්‍යස්ථානයක් නිර්මාණය කළේය කුබර්නෙට්ස් සහ එහි පළමු ප්‍රකාශනය තැබීමට අපි සතුටු වෙමු. දායක වන්න!

Kubernetes පහසුයි. ඕනෑම කෙනෙකුට පැය කිහිපයකින් මෙම තාක්ෂණය ප්‍රගුණ කළ හැකි අතර, මෙම ප්‍රදේශයේ වැඩ කිරීමට බැංකු මට විශාල මුදලක් ගෙවන්නේ ඇයි?

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්

Kubernetes ඉක්මනින් ඉගෙන ගත හැකි බවට ඔබ සැක කරන්නේ නම්, එය ඔබම කිරීමට උත්සාහ කිරීමට මම යෝජනා කරමි. එනම්, මෙම ද්‍රව්‍යය ප්‍රගුණ කිරීමෙන්, ඔබට Kubernetes පොකුරක් තුළ ක්ෂුද්‍ර සේවා මත පදනම් වූ යෙදුමක් ක්‍රියාත්මක කිරීමට හැකි වනු ඇත. මට මෙය සහතික කළ හැකිය, මන්ද මම මෙහි භාවිතා කරන එකම ක්‍රමවේදය තුළම මම අපගේ ගනුදෙනුකරුවන්ට Kubernetes සමඟ වැඩ කරන්නේ කෙසේදැයි කියා දෙන්නෙමි. මෙම මාර්ගෝපදේශය අන් අයට වඩා වෙනස් වන්නේ කුමක් ද? ඇත්ත වශයෙන්ම, බොහෝ දේ. එබැවින්, මෙම ද්රව්ය බොහොමයක් සරල දේවල් පැහැදිලි කිරීමකින් ආරම්භ වේ - Kubernetes හි සංකල්ප සහ kubectl විධානයේ ලක්ෂණ. මෙම ලිපිවල කතුවරුන් උපකල්පනය කරන්නේ ඔවුන්ගේ පාඨකයා යෙදුම් සංවර්ධනය, ක්ෂුද්‍ර සේවා සහ ඩොකර් බහාලුම් පිළිබඳව හුරුපුරුදු බවයි. අපි අනිත් පැත්තට යමු. පළමුව, පරිගණකයක ක්ෂුද්‍ර සේවා මත පදනම්ව යෙදුමක් ධාවනය කරන්නේ කෙසේද යන්න ගැන කතා කරමු. ඉන්පසු අපි එක් එක් ක්ෂුද්‍ර සේවා සඳහා බහාලුම් රූප තැනීම දෙස බලමු. ඊට පසු, අපි Kubernetes සමඟ දැන හඳුනා ගෙන Kubernetes විසින් කළමනාකරණය කරන ලද පොකුරක් තුළ microservices මත පදනම් වූ යෙදුමක් යෙදවීම විශ්ලේෂණය කරන්නෙමු.

මෙම ප්‍රවේශය, Kubernetes වෙත ක්‍රමානුකූලව ප්‍රවේශ වීමත් සමඟ, Kubernetes හි සෑම දෙයක්ම කෙතරම් සරලව සකසා ඇත්ද යන්න තේරුම් ගැනීමට සාමාන්‍ය පුද්ගලයෙකුට අවශ්‍ය වන දේ පිළිබඳ අවබෝධයේ ගැඹුර ලබා දෙනු ඇත. Kubernetes නිසැකව ම සරල තාක්‍ෂණයකි, එය ප්‍රගුණ කිරීමට කැමති ඕනෑම අයෙකු එය භාවිතා කරන්නේ කොතැනද සහ කෙසේද යන්න දැන සිටිය යුතුය.

දැන්, වැඩි කතා නැතුව, අපි වැඩට බහිමු, අපි වැඩ කරන යෙදුම ගැන කතා කරමු.

පර්යේෂණාත්මක යෙදුම

අපගේ යෙදුම සිදු කරනු ලබන්නේ එක් කාර්යයක් පමණි. එය ආදානය ලෙස එක් වාක්‍යයක් ගනී, ඉන් පසුව, පෙළ විශ්ලේෂණ මෙවලම් භාවිතයෙන්, එය මෙම වාක්‍යයේ හැඟීම් විශ්ලේෂණයක් සිදු කරයි, යම් වස්තුවකට වාක්‍යයේ කතුවරයාගේ චිත්තවේගීය ආකල්පය තක්සේරුවක් ලබා ගනී.

මෙම යෙදුමේ ප්‍රධාන කවුළුව පෙනෙන්නේ මෙයයි.

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
හැඟීම් විශ්ලේෂණය වෙබ් යෙදුම

තාක්ෂණික දෘෂ්ටි කෝණයකින්, යෙදුම ක්ෂුද්‍ර සේවා තුනකින් සමන්විත වන අතර, ඒ සෑම එකක්ම නිශ්චිත කාර්යයන් සමූහයක් විසඳයි:

  • SA-Frontend යනු ප්‍රතික්‍රියා ස්ථිතික ගොනු සඳහා සේවය කරන Nginx වෙබ් සේවාදායකයකි.
  • SA-WebApp යනු ජාවා හි ලියා ඇති වෙබ් යෙදුමකි, එය ඉදිරිපසින් ලැබෙන ඉල්ලීම් හසුරුවයි.
  • SA-Logic යනු පෙළ හැඟීම් විශ්ලේෂණය කරන පයිතන් යෙදුමකි.

ක්ෂුද්‍ර සේවා හුදකලාව නොපවතින බව සැලකිල්ලට ගැනීම වැදගත්ය. ඔවුන් "යුතුකම් වෙන් කිරීම" යන අදහස ක්‍රියාත්මක කරයි, නමුත් ඔවුන් ඒ සමඟම එකිනෙකා සමඟ අන්තර් ක්‍රියා කළ යුතුය.

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
යෙදුම තුළ දත්ත ගලා යයි

ඉහත රූප සටහනෙහි, යෙදුමේ දත්ත ප්‍රවාහයන් නිරූපණය කරමින්, පද්ධතියේ අංකිත අදියර ඔබට දැක ගත හැක. අපි ඒවා බිඳ දමමු:

  1. බ්‍රවුසරය සේවාදායකයෙන් ගොනුවක් ඉල්ලයි index.html (එය ප්‍රතික්‍රියා යෙදුම් පැකේජය පූරණය කරයි).
  2. පරිශීලකයා යෙදුම සමඟ අන්තර්ක්‍රියා කරයි, මෙය Spring මත පදනම් වූ වෙබ් යෙදුමකට ඇමතුමක් ඇති කරයි.
  3. වෙබ් යෙදුම පෙළ විග්‍රහ කිරීමට ඉල්ලීම පයිතන් යෙදුම වෙත යොමු කරයි.
  4. Python යෙදුම පෙළෙහි හැඟීම් විශ්ලේෂණය කර ඉල්ලීමට ප්‍රතිචාරයක් ලෙස ප්‍රතිඵලය ලබා දෙයි.
  5. Spring යෙදුම ප්‍රතික්‍රියා යෙදුමට ප්‍රතිචාරයක් යවයි (එමගින්, විග්‍රහ කළ පෙළෙහි ප්‍රතිඵලය පරිශීලකයාට පෙන්වයි).

මෙම සියලුම යෙදුම් සඳහා කේතය සොයාගත හැකිය මෙහි. අප ඉදිරියේ බොහෝ රසවත් අත්හදා බැලීම් ඇති බැවින්, මෙම ගබඩාව දැන් ඔබට පිටපත් කරන ලෙස මම නිර්දේශ කරමි.

දේශීය යන්ත්‍රය මත ක්ෂුද්‍ර සේවා මත පදනම්ව යෙදුමක් ක්‍රියාත්මක කිරීම

යෙදුම ක්‍රියාත්මක වීමට නම්, අපි ක්ෂුද්‍ර සේවා තුනම ආරම්භ කළ යුතුය. අපි ඒවායින් ලස්සනම - ඉදිරිපස යෙදුම සමඟ ආරම්භ කරමු.

▍ප්‍රාදේශීය සංවර්ධනය සඳහා ප්‍රතික්‍රියා පිහිටුවීම

ප්‍රතික්‍රියා යෙදුමක් ක්‍රියාත්මක කිරීම සඳහා, ඔබ ඔබේ පරිගණකයේ Node.js රාමුව සහ NPM ස්ථාපනය කළ යුතුය. ඔබ මේ සියල්ල ස්ථාපනය කිරීමෙන් පසු, ටර්මිනලය භාවිතයෙන් ව්‍යාපෘති ෆෝල්ඩරයට යන්න sa-frontend සහ පහත විධානය ක්‍රියාත්මක කරන්න:

npm install

ෆෝල්ඩරය තුළ මෙම විධානය ක්රියාත්මක කිරීමෙන් node_modules ප්‍රතික්‍රියා යෙදුමේ පරායත්තතා පූරණය වනු ඇත, එහි වාර්තා ගොනුවේ ඇත package.json. එකම ෆෝල්ඩරයේ පරායත්තතා බාගත කිරීමෙන් පසු, පහත විධානය ක්‍රියාත්මක කරන්න:

npm start

එච්චරයි. ප්‍රතික්‍රියා යෙදුම දැන් ක්‍රියාත්මක වන අතර බ්‍රවුසර ලිපිනය වෙත සංචාලනය කිරීමෙන් ප්‍රවේශ විය හැක localhost:3000. ඔබට ඔහුගේ කේතයේ යමක් වෙනස් කළ හැකිය. බ්රවුසරයේ මෙම වෙනස්කම් වල බලපෑම ඔබ වහාම දකිනු ඇත. මොඩියුලවල ඊනියා "උණුසුම්" ආදේශ කිරීම සඳහා මෙය හැකි ය. මෙයට ස්තූතිවන්ත වන්නට, ඉදිරිපස සංවර්ධනය සරල හා විනෝදජනක අත්දැකීමක් බවට පත්වේ.

▍නිෂ්පාදනය සඳහා ප්‍රතික්‍රියා යෙදුමක් සූදානම් කිරීම

ඇත්ත වශයෙන්ම ප්‍රතික්‍රියා යෙදුමක් භාවිතා කිරීමේ අරමුණු සඳහා, අපට එය ස්ථිතික ගොනු කට්ටලයක් බවට පරිවර්තනය කර ඒවා වෙබ් සේවාදායකයක් භාවිතා කරමින් සේවාදායකයින්ට ලබා දිය යුතුය.

ප්‍රතික්‍රියා යෙදුම ගොඩනැගීමට, නැවත ටර්මිනලය භාවිතයෙන්, ෆෝල්ඩරය වෙත සංචාලනය කරන්න sa-frontend සහ පහත විධානය ක්‍රියාත්මක කරන්න:

npm run build

මෙය ව්‍යාපෘති ෆෝල්ඩරය තුළ නාමාවලියක් සාදනු ඇත build. ප්‍රතික්‍රියා යෙදුම ක්‍රියා කිරීමට අවශ්‍ය සියලුම ස්ථිතික ගොනු එහි අඩංගු වේ.

▍Nginx සමඟ ස්ථිතික ගොනු සේවය කිරීම

මුලින්ම ඔබ Nginx වෙබ් සේවාදායකය ස්ථාපනය කර ධාවනය කළ යුතුය. එය ඔබට එය බාගත කර එය ස්ථාපනය කිරීම සහ ක්රියාත්මක කිරීම සඳහා උපදෙස් සොයාගත හැකිය. එවිට ඔබට ෆෝල්ඩරයේ අන්තර්ගතය පිටපත් කිරීමට අවශ්ය වේ sa-frontend/build ෆෝල්ඩරයට [your_nginx_installation_dir]/html.

මෙම ප්‍රවේශය සමඟ, ප්‍රතික්‍රියා යෙදුම එකලස් කිරීමේදී උත්පාදනය කරන ලද ගොනුව index.html දී ලබා ගත හැකි වනු ඇත [your_nginx_installation_dir]/html/index.html. පෙරනිමියෙන්, Nginx සේවාදායකයට ප්‍රවේශ වීමේදී ගැටළු ඇති කරන ගොනුව මෙයයි. සේවාදායකය තොටක සවන් දීමට වින්‍යාස කර ඇත 80, නමුත් ගොනුව සංස්කරණය කිරීමෙන් ඔබට අවශ්‍ය ආකාරයට එය රිසිකරණය කළ හැක [your_nginx_installation_dir]/conf/nginx.conf.

දැන් ඔබේ බ්‍රව්සරය විවෘත කර යන්න localhost:80. ඔබට ප්‍රතික්‍රියා යෙදුම් පිටුව පෙනෙනු ඇත.

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
Nginx සේවාදායකය විසින් සපයනු ලබන ප්‍රතික්‍රියා යෙදුම

ඔබ දැන් ක්ෂේත්රයේ යමක් ඇතුළත් කළහොත් Type your sentence සහ බොත්තම ඔබන්න Send - කිසිවක් සිදු නොවනු ඇත. නමුත්, ඔබ කොන්සෝලය දෙස බැලුවහොත්, ඔබට එහි දෝෂ පණිවිඩ දැකිය හැකිය. මෙම දෝෂ සිදුවන්නේ කොතැනද යන්න නිවැරදිව වටහා ගැනීම සඳහා, යෙදුම් කේතය විශ්ලේෂණය කරමු.

▍ඉදිරිපස යෙදුමේ කේතය විශ්ලේෂණය කිරීම

ගොනුවේ කේතය දෙස බලමින් App.js, බොත්තම මත ක්ලික් කිරීමෙන් අපට පෙනෙනු ඇත Send ක්රමයක් කැඳවයි analyzeSentence(). මෙම ක්රමය සඳහා කේතය පහත දැක්වේ. ඒ අතරම, එක් එක් පේළිය සඳහා පෝරමයේ විවරණයක් ඇති බව කෙරෙහි අවධානය යොමු කරන්න # Номер, කේතයට පහළින් පැහැදිලි කිරීමක් ඇත. එලෙසම, අපි අනෙකුත් කේත කොටස් විග්‍රහ කරන්නෙමු.

analyzeSentence() {
    fetch('http://localhost:8080/sentiment', {  // #1
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
                       sentence: this.textField.getValue()})// #2
    })
        .then(response => response.json())
        .then(data => this.setState(data));  // #3
}

1. POST ඉල්ලීම කරන ලද URL එක. මෙම ලිපිනය එවැනි ඉල්ලීම් සඳහා රැඳී සිටින අයදුම්පතක් ලෙස උපකල්පනය කෙරේ.

2.ඉල්ලීම් ශරීරය අයදුම්පත වෙත යවා ඇත. මෙන්න උදාහරණ ඉල්ලීමක් ශරීරය:

{
    sentence: "I like yogobella!"
}

3.ඉල්ලීමකට ප්රතිචාරයක් ලැබුණු විට, සංරචකයේ තත්වය යාවත්කාලීන වේ. මෙම සංරචකය නැවත විදැහුම් කිරීමට හේතු වේ. අපට දත්ත ලැබෙන්නේ නම් (එනම්, ඇතුළත් කළ දත්ත සහ ගණනය කළ පෙළ ලකුණු අඩංගු JSON වස්තුවක්), අපි සංරචකය ප්‍රතිදානය කරන්නෙමු Polarityකොන්දේසි සපුරා ඇති තාක් කල්. අපි සංරචකය විස්තර කරන ආකාරය මෙන්න:

const polarityComponent = this.state.polarity !== undefined ?
    <Polarity sentence={this.state.sentence} 
              polarity={this.state.polarity}/> :
    null;

කේතය හොඳින් ක්‍රියාත්මක වන බව පෙනේ. කෙසේ වෙතත් මෙහි ඇති වරද කුමක්ද? යෙදුම POST ඉල්ලීමක් යැවීමට උත්සාහ කරන ලිපිනයට, මෙම ඉල්ලීම පිළිගෙන ක්‍රියාවට නැංවිය හැකි කිසිවක් තවමත් නොමැති බව ඔබ උපකල්පනය කරන්නේ නම්, ඔබ සම්පූර්ණයෙන්ම නිවැරදි වනු ඇත. එනම්, ලිපිනයට එන ඉල්ලීම් සැකසීමට http://localhost:8080/sentiment, අපි Spring මත පදනම් වූ වෙබ් යෙදුමක් ධාවනය කළ යුතුයි.

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
අපට POST ඉල්ලීමක් පිළිගත හැකි වසන්ත යෙදුමක් අවශ්‍යයි

▍Spring මත පදනම් වූ වෙබ් යෙදුමක් සැකසීම

Spring යෙදුමක් යෙදවීම සඳහා, ඔබට JDK8 සහ Maven සහ නිසි ලෙස වින්‍යාස කළ පරිසර විචල්‍යයන් අවශ්‍ය වේ. ඔබ මේ සියල්ල ස්ථාපනය කිරීමෙන් පසු, ඔබට අපගේ ව්‍යාපෘතියේ දිගටම වැඩ කළ හැකිය.

▍අයදුම්පත්‍රය jar ගොනුවකට ඇසුරුම් කිරීම

පර්යන්තය භාවිතයෙන් ෆෝල්ඩරය වෙත සංචාලනය කරන්න sa-webapp සහ පහත විධානය ඇතුල් කරන්න:

mvn install

ෆෝල්ඩරය තුළ මෙම විධානය ක්රියාත්මක කිරීමෙන් පසුව sa-webapp නාමාවලිය නිර්මාණය වනු ඇත target. ජාවා යෙදුම පිහිටා ඇත්තේ, jar ගොනුවක ඇසුරුම් කර, ගොනුවෙන් නියෝජනය වන ස්ථානයයි sentiment-analysis-web-0.0.1-SNAPSHOT.jar.

▍ජාවා යෙදුමක් දියත් කිරීම

ෆෝල්ඩරයට යන්න target සහ පහත විධානය සමඟ යෙදුම ධාවනය කරන්න:

java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jar

මෙම විධානය ක්‍රියාත්මක කිරීමේදී දෝෂයක් ඇතිවේ. එය නිවැරදි කිරීම ආරම්භ කිරීමට, අපට අට්ටි ලුහුබැඳීමේ දත්තවල ව්‍යතිරේක තොරතුරු විග්‍රහ කළ හැක:

Error creating bean with name 'sentimentController': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'sa.logic.api.url' in value "${sa.logic.api.url}"

අපට නම්, මෙහි ඇති වැදගත්ම දෙය වන්නේ අර්ථය පැහැදිලි කිරීමේ නොහැකියාව ගැන සඳහන් කිරීමයි sa.logic.api.url. දෝෂය සිදුවන කේතය විශ්ලේෂණය කරමු.

▍Java යෙදුම් කේත විශ්ලේෂණය

දෝෂය සිදුවන කේත කොටස මෙන්න.

@CrossOrigin(origins = "*")
@RestController
public class SentimentController {
    @Value("${sa.logic.api.url}")    // #1
    private String saLogicApiUrl;
    @PostMapping("/sentiment")
    public SentimentDto sentimentAnalysis(
        @RequestBody SentenceDto sentenceDto) 
    {
        RestTemplate restTemplate = new RestTemplate();
        return restTemplate.postForEntity(
                saLogicApiUrl + "/analyse/sentiment",    // #2
                sentenceDto, SentimentDto.class)
                .getBody();
    }
}

  1. එස් හිentimentController ක්ෂේත්රයක් තිබේ saLogicApiUrl. එහි වටිනාකම දේපල මගින් සකසා ඇත sa.logic.api.url.
  2. රේඛාව saLogicApiUrl අගය සමඟ සංයුක්ත වේ /analyse/sentiment. ඔවුන් එක්ව පෙළ විශ්ලේෂණය සිදු කරන microservice වෙත ඇමතුමක් ලබා ගැනීම සඳහා ලිපිනයක් සාදයි.

▍දේපල වටිනාකමක් සැකසීම

වසන්තයේ දී, දේපල අගයන්හි පෙරනිමි මූලාශ්‍රය ගොනුවකි application.properties, හි සොයා ගත හැක sa-webapp/src/main/resources. නමුත් එය භාවිතා කිරීම දේපල වටිනාකම් සැකසීමට ඇති එකම මාර්ගය නොවේ. ඔබට පහත විධානය සමඟද මෙය කළ හැකිය:

java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jar --sa.logic.api.url=WHAT.IS.THE.SA.LOGIC.API.URL

මෙම දේපලෙහි වටිනාකම අපගේ Python යෙදුමේ ලිපිනය වෙත යොමු විය යුතුය.

එය වින්‍යාස කිරීමෙන්, පෙළ විග්‍රහ කිරීමේ ඉල්ලීම් ක්‍රියාත්මක කිරීමට අවශ්‍ය ස්ප්‍රින්ග් වෙබ් යෙදුමට අපි කියමු.

අපගේ ජීවිත සංකීර්ණ නොකිරීමට, Python යෙදුම ලබා ගත හැකි බව අපි තීරණය කරමු localhost:5000 ඒ ගැන අමතක නොකිරීමට උත්සාහ කරන්න. ප්රතිඵලයක් වශයෙන්, වසන්ත යෙදුම ආරම්භ කිරීමට විධානය මේ ආකාරයෙන් පෙනෙනු ඇත:

java -jar sentiment-analysis-web-0.0.1-SNAPSHOT.jar --sa.logic.api.url=http://localhost:5000

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
අපගේ පද්ධතියට පයිතන් යෙදුමක් මග හැරී ඇත

දැන් අපට ඇත්තේ පයිතන් යෙදුම ක්‍රියාත්මක කළ යුතු අතර පද්ධතිය බලාපොරොත්තු වූ පරිදි ක්‍රියා කරයි.

▍Python යෙදුමක් සැකසීම

Python යෙදුමක් ධාවනය කිරීම සඳහා, ඔබ Python 3 සහ Pip ස්ථාපනය කර තිබිය යුතු අතර, ඔබට සුදුසු පරිසර විචල්‍යයන් නිවැරදිව සකසා තිබිය යුතුය.

▍ පරායත්තතා ස්ථාපනය කරන්න

ව්‍යාපෘති ෆෝල්ඩරය වෙත යන්න sa-logic/sa සහ පහත විධානයන් ක්‍රියාත්මක කරන්න:

python -m pip install -r requirements.txt
python -m textblob.download_corpora

▍යෙදුම දියත් කිරීම

ස්ථාපනය කර ඇති පරායත්තයන් සමඟ, අපි යෙදුම ධාවනය කිරීමට සූදානම්:

python sentiment_analysis.py

මෙම විධානය ක්‍රියාත්මක කිරීමෙන් පසු, අපට පහත දේ කියනු ඇත:

* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

මෙයින් අදහස් කරන්නේ යෙදුම ක්‍රියාත්මක වන අතර ඉල්ලීම් සඳහා රැඳී සිටින බවයි localhost:5000/

▍කේත පර්යේෂණ

එය ඉල්ලීම් වලට ප්‍රතිචාර දක්වන ආකාරය තේරුම් ගැනීමට Python යෙදුම් කේතය දෙස බලමු:

from textblob import TextBlob
from flask import Flask, request, jsonify
app = Flask(__name__)                                   #1
@app.route("/analyse/sentiment", methods=['POST'])      #2
def analyse_sentiment():
    sentence = request.get_json()['sentence']           #3
    polarity = TextBlob(sentence).sentences[0].polarity #4
    return jsonify(                                     #5
        sentence=sentence,
        polarity=polarity
    )
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)                #6

  1. වස්තුව ආරම්භ කිරීම Flask.
  2. එයට POST ඉල්ලීම් කිරීම සඳහා ලිපිනය සඳහන් කිරීම.
  3. දේපලක් ලබා ගැනීම sentence ඉල්ලීම් ශරීරයෙන්.
  4. නිර්නාමික වස්තුව ආරම්භ කිරීම TextBlob සහ වටිනාකම ලබා ගැනීම polarity ඉල්ලීමේ ශරීරයට ලැබුණු පළමු යෝජනාව සඳහා (අපගේ නඩුවේදී, විශ්ලේෂණය සඳහා ඉදිරිපත් කරන ලද එකම යෝජනාව මෙයයි).
  5. ප්‍රතිචාරයක් ආපසු ලබා දීම, එහි අන්තර්ගතයේ පිරිනැමීමේ පෙළ සහ ඒ සඳහා ගණනය කළ දර්ශකය අඩංගු වේ polarity.
  6. හිදී ලබා ගත හැකි Flask යෙදුම දියත් කිරීම 0.0.0.0:5000 (ඔබට පෝරමයේ ඉදිකිරීමක් භාවිතා කර එයට ප්‍රවේශ විය හැක localhost:5000).

දැන් යෙදුම සෑදෙන ක්ෂුද්ර සේවා ක්රියාත්මක වේ. ඔවුන් එකිනෙකා සමඟ අන්තර් ක්රියා කිරීමට සකසා ඇත. මෙම කාර්යයේ අදියරේදී යෙදුම් රූප සටහන පෙනෙන්නේ කෙසේද යන්න මෙන්න.

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
යෙදුම සෑදෙන සියලුම ක්ෂුද්‍ර සේවා සෞඛ්‍ය සම්පන්න තත්වයකට ගෙන එනු ලැබේ

දැන්, අපි ඉදිරියට යාමට පෙර, බ්‍රවුසරයක ප්‍රතික්‍රියා යෙදුම විවෘත කර එය සමඟ වාක්‍ය කිහිපයක් විග්‍රහ කිරීමට උත්සාහ කරන්න. සෑම දෙයක්ම නිවැරදිව සිදු කර ඇත්නම් - බොත්තම එබීමෙන් පසු Send පෙළ කොටුවට පහළින් ඔබට විශ්ලේෂණ ප්‍රතිඵල පෙනෙනු ඇත.

මීළඟ කොටසින්, අපි Docker බහාලුම්වල අපගේ ක්ෂුද්‍ර සේවා ධාවනය කරන්නේ කෙසේද යන්න ගැන කතා කරමු. Kubernetes පොකුරේ ධාවනය කිරීමට යෙදුම සකස් කිරීම සඳහා මෙය අවශ්ය වේ.

ඩොකර් බහාලුම්

කුබර්නෙට්ස් යනු බහාලුම් යෙදුම්වල යෙදවීම, පරිමාණය සහ කළමනාකරණය ස්වයංක්‍රීය කිරීම සඳහා වූ පද්ධතියකි. එය "බහාලුම් වාදකයෙකු" ලෙසද හැඳින්වේ. Kubernetes බහාලුම් සමඟ වැඩ කරන්නේ නම්, මෙම පද්ධතිය භාවිතා කිරීමට පෙර, අපි මුලින්ම මෙම බහාලුම් ලබා ගත යුතුය. නමුත් පළමුව, බහාලුම් යනු කුමක්ද යන්න ගැන කතා කරමු. සමහර විට එය කුමක්ද යන ප්‍රශ්නයට හොඳම පිළිතුර සොයාගත හැකිය ලියකියවිලි ඩොකර් වෙත:

බහාලුම් රූපයක් යනු සැහැල්ලු, ස්වයං අන්තර්ගත, ක්‍රියාත්මක කළ හැකි පැකේජයක් වන අතර එය ධාවනය කිරීමට අවශ්‍ය සියල්ල ඇතුළත් වේ: යෙදුම් කේතය, ධාවන කාල පරිසරය, පද්ධති මෙවලම් සහ පුස්තකාල, සැකසුම්. බහාලුම් වැඩසටහන් Linux සහ Windows යන දෙකෙහිම භාවිතා කළ හැකි අතර යටිතල පහසුකම් නොසලකා සෑම විටම එකම ලෙස ක්‍රියා කරයි.

මෙයින් අදහස් කරන්නේ නිෂ්පාදන සේවාදායකයන් ඇතුළුව ඕනෑම පරිගණකයක බහාලුම් ක්‍රියාත්මක කළ හැකි අතර ඕනෑම පරිසරයක ඒවා තුළ ඇති යෙදුම් එකම ආකාරයකින් ක්‍රියා කරන බවයි.

බහාලුම්වල විශේෂාංග ගවේෂණය කිරීමට සහ යෙදුම් ධාවනය කිරීමට වෙනත් ක්‍රම සමඟ සංසන්දනය කිරීමට, අථත්‍ය යන්ත්‍රයක් සහ බහාලුමක් භාවිතයෙන් ප්‍රතික්‍රියා යෙදුමක් සේවය කිරීමේ උදාහරණය බලමු.

▍අථත්‍ය යන්ත්‍රයක් භාවිතයෙන් ප්‍රතික්‍රියා යෙදුමක ස්ථිතික ගොනු සේවය කිරීම

අතථ්‍ය යන්ත්‍ර භාවිතයෙන් ස්ථිතික ගොනු නඩත්තු කිරීම සංවිධානය කිරීමට උත්සාහ කරන විට, අපට පහත අවාසි වලට මුහුණ දීමට සිදුවේ:

  1. සෑම අතථ්‍ය යන්ත්‍රයක්ම සම්පූර්ණ මෙහෙයුම් පද්ධතියක් වන බැවින් සම්පත් අකාර්යක්ෂම ලෙස භාවිතා කිරීම.
  2. වේදිකාවේ යැපීම. සමහර දේශීය පරිගණකයක ක්‍රියා කරන දේ නිෂ්පාදන සේවාදායකයක ක්‍රියා නොකරනු ඇත.
  3. අතථ්‍ය යන්ත්‍ර විසඳුමක මන්දගාමී සහ සම්පත් තීව්‍ර පරිමාණය.

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
අතථ්‍ය යන්ත්‍රයක ක්‍රියාත්මක වන ස්ථිතික ගොනු සපයන Nginx වෙබ් සේවාදායකය

සමාන ගැටළුවක් විසඳීම සඳහා බහාලුම් භාවිතා කරන්නේ නම්, අතථ්‍ය යන්ත්‍ර හා සසඳන විට, පහත ශක්තීන් සටහන් කළ හැකිය:

  1. සම්පත් කාර්යක්ෂමව භාවිතා කිරීම: ඩොකර් භාවිතයෙන් මෙහෙයුම් පද්ධතිය සමඟ වැඩ කරන්න.
  2. වේදිකාවේ ස්වාධීනත්වය. සංවර්ධකයෙකුට තම පරිගණකයේ ධාවනය කළ හැකි බහාලුමක් ඕනෑම තැනක ධාවනය වේ.
  3. රූප ස්ථර භාවිතය හරහා සැහැල්ලු යෙදවීම.

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
Nginx වෙබ් සේවාදායකය කන්ටේනරයක ධාවනය වන ස්ථිතික ගොනු සේවය කරයි

අපි අතථ්‍ය යන්ත්‍ර සහ බහාලුම් සංසන්දනය කර ඇත්තේ කරුණු කිහිපයක් මත පමණි, නමුත් බහාලුම්වල ප්‍රබලත්වය පිළිබඳ හැඟීමක් ලබා ගැනීමට එය ප්‍රමාණවත් වේ. එය ඔබට ඩොකර් බහාලුම් පිළිබඳ විස්තර සොයාගත හැකිය.

▍ප්‍රතික්‍රියා යෙදුමක් සඳහා බහාලුම් රූපයක් තැනීම

ඩොකර් කන්ටේනරයක මූලික ගොඩනැඟිලි කොටස ගොනුව වේ Dockerfile. මෙම ගොනුවේ ආරම්භයේදී, බහාලුම්වල මූලික රූපයක් සටහන් කර ඇත, පසුව යෙදුමක අවශ්‍යතා සපුරාලන බහාලුමක් නිර්මාණය කරන්නේ කෙසේද යන්න දැක්වෙන උපදෙස් අනුපිළිවෙලක් ඇතුළත් වේ.

අපි ගොනුව සමඟ වැඩ කිරීමට පෙර Dockerfile, Nginx සේවාදායකයට උඩුගත කිරීම සඳහා ප්‍රතික්‍රියා යෙදුමේ ගොනු සකස් කිරීම සඳහා අප කළ දේ මතක තබා ගන්න:

  1. ප්‍රතික්‍රියා යෙදුම් පැකේජයක් ගොඩනැගීම (npm run build).
  2. Nginx සේවාදායකය ආරම්භ කිරීම.
  3. නාමාවලියක අන්තර්ගතය පිටපත් කිරීම build ව්‍යාපෘති ෆෝල්ඩරයෙන් sa-frontend සේවාදායක ෆෝල්ඩරය වෙත nginx/html.

බහාලුමක් නිර්මාණය කිරීම සහ දේශීය පරිගණකයේ සිදු කරන ඉහත ක්‍රියා අතර සමාන්තර ඔබට පහතින් දැක ගත හැකිය.

▍SA-Frontend යෙදුම සඳහා Dockerfile එකක් සකස් කිරීම

ඇතුළත් කළ යුතු උපදෙස් Dockerfile අයදුම් කිරීම සඳහා SA-Frontend, සමන්විත වන්නේ විධාන දෙකකින් පමණි. කාරණය වන්නේ Nginx සංවර්ධන කණ්ඩායම මූලික වශයෙන් සකස් කර ඇති බවයි රූපයක් Nginx සඳහා, අපි අපගේ ප්‍රතිරූපය ගොඩනැගීමට භාවිතා කරමු. අපට විස්තර කිරීමට අවශ්‍ය පියවර දෙක මෙන්න:

  1. ඔබ Nginx රූපය රූපයේ පදනම බවට පත් කළ යුතුය.
  2. ෆෝල්ඩර අන්තර්ගතය sa-frontend/build පින්තූර ෆෝල්ඩරයට පිටපත් කිරීමට අවශ්ය වේ nginx/html.

අපි මේ විස්තරයෙන් ගොනුවට ගියොත් Dockerfile, එවිට එය මේ ආකාරයෙන් පෙනෙනු ඇත:

FROM nginx
COPY build /usr/share/nginx/html

ඔබට පෙනෙන පරිදි, මෙහි ඇති සියල්ල ඉතා සරල වන අතර, ගොනුවේ අන්තර්ගතය පවා තරමක් කියවිය හැකි සහ තේරුම්ගත හැකි වේ. මෙම ගොනුව මඟින් පද්ධතියට රූපය ලබා ගැනීමට කියයි nginx එය දැනටමත් ඇති සියල්ල සමඟ, සහ නාමාවලියෙහි අන්තර්ගතය පිටපත් කරන්න build නාමාවලිය වෙත nginx/html.

ෆෝල්ඩරයෙන් ගොනු පිටපත් කළ යුත්තේ කොතැනින්දැයි මම දන්නේ කෙසේද යන්න පිළිබඳව මෙහිදී ඔබට ප්‍රශ්නයක් තිබිය හැකිය build, එනම් මාර්ගය පැමිණියේ කොහෙන්ද යන්නයි /usr/share/nginx/html. ඇත්ත වශයෙන්ම, මෙහි ද සංකීර්ණ කිසිවක් නොමැත. කාරණය වන්නේ අදාළ තොරතුරු සොයා ගත හැකි බවයි විස්තර රූප.

▍රූපය එකලස් කර ගබඩාවට උඩුගත කිරීම

සම්පුර්ණ කරන ලද රූපයක් සමඟ වැඩ කිරීමට පෙර, අපි එය රූප ගබඩාවට ඉදිරිපත් කළ යුතුය. මෙය සිදු කිරීම සඳහා, අපි නොමිලේ වලාකුළු මත පදනම් වූ රූප සත්කාරක වේදිකාවක් භාවිතා කරන්නෙමු Docker Hub. කාර්යයේ මෙම අදියරේදී, ඔබ පහත සඳහන් දෑ කළ යුතුය:

  1. ස්ථාපනය කරන්න Docker.
  2. Docker Hub අඩවියේ ලියාපදිංචි වන්න.
  3. ටර්මිනලයේ පහත විධානය ක්‍රියාත්මක කිරීමෙන් ඔබගේ ගිණුමට ලොග් වන්න:
    docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"

දැන් ඔබට අවශ්‍ය වන්නේ, ටර්මිනලය භාවිතයෙන්, බහලුම වෙත යන්න sa-frontend සහ පහත විධානය එහි ක්‍රියාත්මක කරන්න:

docker build -f Dockerfile -t $DOCKER_USER_ID/sentiment-analysis-frontend .

මෙන්න සහ පහත සමාන විධාන වලින් $DOCKER_USER_ID Docker Hub හි ඔබගේ පරිශීලක නාමය සමඟ ප්‍රතිස්ථාපනය කළ යුතුය. උදාහරණයක් ලෙස, විධානයේ මෙම කොටස මේ වගේ විය හැකිය: rinormaloku/sentiment-analysis-frontend.

මෙම අවස්ථාවේදී, මෙම විධානය එයින් ඉවත් කිරීමෙන් කෙටි කළ හැක -f Dockerfile, අපි මෙම විධානය ක්‍රියාත්මක කරන ෆෝල්ඩරයේ දැනටමත් මෙම ගොනුව ඇති බැවින්.

නිමි රූපය ගබඩාවට යැවීම සඳහා, අපට පහත විධානය අවශ්‍ය වේ:

docker push $DOCKER_USER_ID/sentiment-analysis-frontend

එය සම්පූර්ණ කිරීමෙන් පසු, රූපය වලාකුළු ආචයනය වෙත සාර්ථකව තල්ලු වී ඇත්දැයි බැලීමට Docker Hub හි ඔබගේ ගබඩා ලැයිස්තුව පරීක්ෂා කරන්න.

▍කන්ටේනරයක් ආරම්භ කිරීම

දැන් ඕනෑම කෙනෙකුට ලෙස හඳුන්වන රූපය බාගත කර ධාවනය කළ හැකිය $DOCKER_USER_ID/sentiment-analysis-frontend. මෙය සිදු කිරීම සඳහා, ඔබ පහත දැක්වෙන විධාන අනුපිළිවෙල ක්රියාත්මක කළ යුතුය:

docker pull $DOCKER_USER_ID/sentiment-analysis-frontend
docker run -d -p 80:80 $DOCKER_USER_ID/sentiment-analysis-frontend

දැන් කන්ටේනරය ක්‍රියාත්මක වන අතර, අපට අවශ්‍ය වෙනත් රූප නිර්මාණය කිරීමෙන් අපට දිගටම වැඩ කළ හැකිය. නමුත් අපි ඉදිරියට යාමට පෙර, අපි නිර්මාණය තේරුම් ගනිමු 80:80, රූපය ක්‍රියාත්මක කිරීම සඳහා වන විධානයේ ඇති අතර එය ව්‍යාකූල බවක් පෙනෙන්නට තිබේ.

  • පළමු අංකය 80 ධාරකයේ වරාය අංකය (එනම් දේශීය පරිගණකය) වේ.
  • දෙවන අංකය 80 ඉල්ලීම හරවා යැවිය යුතු බහාලුම් වරාය වේ.

පහත නිදර්ශනය සලකා බලන්න.

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
Port Forwarding

පද්ධතිය වරායෙන් ඉල්ලීම් ඉදිරිපත් කරයි <hostPort> වරායට <containerPort>. එනම් වරායට පිවිසීමයි 80 පරිගණකය වරායකට හරවා යවනු ලැබේ 80 බහාලුම්.

වරායේ සිට 80 දේශීය පරිගණකයේ විවෘත කර ඇත, ඔබට මෙම පරිගණකයෙන් යෙදුම වෙත ප්‍රවේශ විය හැක localhost:80. ඔබගේ පද්ධතිය Docker සඳහා සහය නොදක්වන්නේ නම්, ඔබට යෙදුම Docker virtual Machine එකක ධාවනය කළ හැක, එහි ලිපිනය පෙනෙනු ඇත <docker-machine ip>:80. Docker virtual Machine හි IP ලිපිනය සොයා ගැනීමට, ඔබට විධානය භාවිතා කළ හැකිය docker-machine ip.

මෙම අවස්ථාවේදී, ඉදිරිපස යෙදුම් බහාලුම සාර්ථකව දියත් කළ පසු, ඔබට එහි පිටුව බ්‍රවුසරයක විවෘත කිරීමට හැකි විය යුතුය.

▍.dockerignore ගොනුව

යෙදුම් රූපය ගොඩනැගීම SA-Frontend, මෙම ක්රියාවලිය අතිශයින් මන්දගාමී බව අපට දැකගත හැකිය. මෙයට හේතුව රූපය ගොඩනැගීමේ සන්දර්භය ඩොකර් ඩීමන් වෙත යැවිය යුතු බැවිනි. ගොඩනැගීමේ සන්දර්භය නියෝජනය කරන ඩිරෙක්ටරිය විධානයේ අවසාන තර්කය ලෙස ලබා දී ඇත docker build. අපගේ නඩුවේදී, මෙම විධානයේ අවසානයේ තිතක් ඇත. මෙහි ප්‍රතිඵලයක් ලෙස පහත ව්‍යුහය එකලස් කිරීමේ සන්දර්භය තුළ ඇතුළත් වේ:

sa-frontend:
|   .dockerignore
|   Dockerfile
|   package.json
|   README.md
+---build
+---node_modules
+---public
---src

නමුත් මෙහි ඇති සියලුම ෆෝල්ඩර වලින් අපට අවශ්‍ය වන්නේ ෆෝල්ඩරයක් පමණි build. වෙනත් ඕනෑම දෙයක් බාගත කිරීම කාලය නාස්ති කිරීමකි. නොසලකා හැරිය යුතු නාමාවලි ඩොකර්ට පැවසීමෙන් ඔබට ගොඩනැගීම වේගවත් කළ හැක. මෙය සිදු කිරීම සඳහා, අපට ගොනුවක් අවශ්ය වේ .dockerignore. ඔබ, ඔබ ගොනුව ගැන හුරුපුරුදු නම් .gitignore, මෙම ගොනුවේ ව්‍යුහය බොහෝ විට හුරුපුරුදු බව පෙනේ. එය රූප ගොඩනැගීමේ පද්ධතිය නොසලකා හැරිය හැකි නාමාවලි ලැයිස්තුගත කරයි. අපගේ නඩුවේදී, මෙම ගොනුවේ අන්තර්ගතය මේ ආකාරයෙන් පෙනේ:

node_modules
src
public

ගොනුව .dockerignore ගොනුව ඇති එකම ෆෝල්ඩරයේ තිබිය යුතුය Dockerfile. දැන් රූපය එකලස් කිරීම තත්පර කිහිපයක් ගතවනු ඇත.

අපි දැන් Java යෙදුමක් සඳහා රූපය සමඟ ගනුදෙනු කරමු.

▍ජාවා යෙදුමක් සඳහා බහාලුම් රූපයක් තැනීම

ඔබ දන්නේ කුමක්ද, සහ ඔබ දැනටමත් බහාලුම් රූප නිර්මාණය කිරීමට අවශ්ය සියල්ල ඉගෙන ගෙන ඇත. මෙම කොටස ඉතා කෙටි වනු ඇත්තේ එබැවිනි.

ගොනුව විවෘත කරන්න Dockerfile, ව්යාපෘති ෆෝල්ඩරයේ පිහිටා ඇත sa-webapp. ඔබ මෙම ගොනුවේ පෙළ කියවන්නේ නම්, එහි ඔබට හමු වන්නේ මූල පද වලින් ආරම්භ වන නව ඉදිකිරීම් දෙකක් පමණි ENV и EXPOSE:

ENV SA_LOGIC_API_URL http://localhost:5000
…
EXPOSE 8080

මූල පදය ENV Docker බහාලුම් තුළ පරිසර විචල්‍ය ප්‍රකාශ කිරීමට ඔබට ඉඩ සලසයි. විශේෂයෙන්ම, අපගේ නඩුවේදී, පෙළ විශ්ලේෂණය සිදු කරන යෙදුමේ API වෙත ප්රවේශ වීමට URL එකක් සැකසීමට ඔබට ඉඩ සලසයි.

මූල පදය EXPOSE වරායක් විවෘත කරන ලෙස Docker හට පැවසීමට ඔබට ඉඩ සලසයි. අපි යෙදුම සමඟ වැඩ කරන විට අපි මෙම වරාය භාවිතා කරන්නෙමු. මෙන්න ඔබට එය දැක ගත හැකිය Dockerfile අයදුම් කිරීම සඳහා SA-Frontend එවැනි විධානයක් නොමැත. මෙය ලේඛන අරමුණු සඳහා පමණි, වෙනත් වචන වලින් කිවහොත්, මෙම ඉදිකිරීම පාඨකයා සඳහා වේ Dockerfile.

රූපය ගොඩනැගීම සහ ගබඩාවට තල්ලු කිරීම හරියටම පෙර උදාහරණය මෙන් පෙනේ. ඔබ තවමත් ඔබේ හැකියාවන් ගැන එතරම් විශ්වාසයක් නොමැති නම්, අදාළ විධානයන් ගොනුවේ සොයාගත හැකිය README.md ෆෝල්ඩරයේ sa-webapp.

▍Python යෙදුමක් සඳහා බහාලුම් රූපයක් තැනීම

ඔබ ගොනුවේ අන්තර්ගතය දෙස බැලුවහොත් Dockerfile ෆෝල්ඩරයේ sa-logicඔබට එහි අලුත් කිසිවක් සොයාගත නොහැක. රූපය තැනීම සහ එය ගබඩාවට තල්ලු කිරීම සඳහා වන විධාන දැනටමත් ඔබට හුරුපුරුදු විය යුතුය, නමුත්, අපගේ අනෙකුත් යෙදුම්වල මෙන්, ඒවා ගොනුවේ සොයාගත හැකිය README.md ෆෝල්ඩරයේ sa-logic.

▍කන්ටේනරීකරණය කරන ලද යෙදුම් පරීක්ෂා කිරීම

ඔබ පරීක්‍ෂා නොකළ දෙයක් විශ්වාස කළ හැකිද? මටත් බෑ. අපි අපේ බහාලුම් පරීක්ෂා කරමු.

  1. අපි යෙදුම් කන්ටේනරය ආරම්භ කරමු sa-logic සහ එය වරායක සවන් දීමට වින්‍යාස කරන්න 5050:
    docker run -d -p 5050:5000 $DOCKER_USER_ID/sentiment-analysis-logic
  2. අපි යෙදුම් කන්ටේනරය ආරම්භ කරමු sa-webapp සහ එය වරායක සවන් දීමට වින්‍යාස කරන්න 8080. ඊට අමතරව, පරිසර විචල්‍යය නැවත පැවරීමෙන් ජාවා යෙදුමෙන් ඉල්ලීම් සඳහා පයිතන් යෙදුම සවන් දෙන වරාය අපට සැකසිය යුතුය. SA_LOGIC_API_URL:
    $ docker run -d -p 8080:8080 -e SA_LOGIC_API_URL='http://<container_ip or docker machine ip>:5000' $DOCKER_USER_ID/sentiment-analysis-web-app

බහාලුමක හෝ ඩොකර් වීඑම් හි IP ලිපිනය සොයා ගන්නේ කෙසේදැයි දැන ගැනීමට, ගොනුව බලන්න README.

අපි යෙදුම් කන්ටේනරය ආරම්භ කරමු sa-frontend:

docker run -d -p 80:80 $DOCKER_USER_ID/sentiment-analysis-frontend

දැන් බ්රවුසරයේ ලිපිනය වෙත සැරිසැරීමට සියල්ල සූදානම් localhost:80 සහ යෙදුම පරීක්ෂා කරන්න.

ඔබ සඳහා වරාය වෙනස් කරන්නේ නම් බව කරුණාවෙන් සලකන්න sa-webapp, හෝ ඔබ Docker VM ධාවනය කරන්නේ නම්, ඔබට ගොනුව සංස්කරණය කිරීමට අවශ්‍ය වනු ඇත App.js ෆෝල්ඩරයෙන් sa-frontendක්‍රමයේ IP ලිපිනය හෝ වරාය අංකය වෙනස් කිරීමෙන් analyzeSentence()යල් පැන ගිය දත්ත වෙනුවට වත්මන් තොරතුරු ආදේශ කිරීමෙනි. ඊට පසු, ඔබ රූපය නැවත සකස් කර එය භාවිතා කළ යුතුය.

අපගේ යෙදුම් රූප සටහන දැන් පෙනෙන්නේ මෙයයි.

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්
ක්ෂුද්‍ර සේවා බහාලුම්වල ක්‍රියාත්මක වේ

සාරාංශය: අපට කුබර්නෙටස් පොකුරක් අවශ්‍ය වන්නේ ඇයි?

අපි ගොනු සමාලෝචනය කළා Dockerfile, පින්තූර ගොඩනඟා ඒවා ඩොකර් ගබඩාවකට තල්ලු කරන ආකාරය ගැන කතා කළා. ඊට අමතරව, ගොනුව භාවිතයෙන් පින්තූර එකලස් කිරීම වේගවත් කරන්නේ කෙසේදැයි අපි ඉගෙන ගත්තෙමු .dockerignore. එහි ප්‍රතිඵලයක් වශයෙන්, අපගේ ක්ෂුද්‍ර සේවා දැන් ඩොකර් බහාලුම්වල ක්‍රියාත්මක වේ. අපට Kubernetes අවශ්‍ය වන්නේ ඇයිද යන්න පිළිබඳව ඔබට සම්පූර්ණයෙන්ම යුක්තිසහගත ප්‍රශ්නයක් මෙහි තිබිය හැකිය. මෙම ප්රශ්නයට පිළිතුර මෙම ද්රව්යයේ දෙවන කොටස සඳහා කැප කරනු ලැබේ. මේ අතරතුර, පහත ප්‍රශ්නය සලකා බලන්න:
අපගේ පෙළ විශ්ලේෂණ වෙබ් යෙදුම ලොව පුරා ජනප්‍රිය වී ඇතැයි උපකල්පනය කරමු. සෑම විනාඩියකටම මිලියන ගණනක් ඉල්ලීම් ඔහු වෙත පැමිණේ. මෙයින් අදහස් කරන්නේ ක්ෂුද්ර සේවා බවයි sa-webapp и sa-logic විශාල ආතතියක් යටතේ පවතිනු ඇත. ක්ෂුද්‍ර සේවා ක්‍රියාත්මක වන බහාලුම් පරිමාණය කරන්නේ කෙසේද?

Kubernetes නිබන්ධනය 1 කොටස: යෙදුම්, ක්ෂුද්‍ර සේවා, සහ බහාලුම්

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න