এডাব্লুএসে সাধারণ সিআই / সিডি পাত্রে


14

আমি একটি নতুন ডকার ধারক তৈরি করতে এবং এটি ইসিআর এ ঠেলাতে AWS কোড পাইপলাইন, কোড বিল্ড ব্যবহার করছি।

আমার অ্যাপ্লিকেশনটি হ'ল একটি সাধারণ সরল-ফরওয়ার্ড একক ধারক ভিত্তিক। ইসিএস রেজিস্ট্রি (কোড পাইপলাইনের মাধ্যমে কোড বিল্ড আউটপুট) থেকে চলমান চলমান কনটেইনারটি টেনে আনতে এবং নতুন প্রবর্তকটিকে পুনরায় আরম্ভ করার জন্য কম ঘর্ষণ পদ্ধতির কী হবে।

আমি ইসি 2 ব্যবহারকারীর ডেটা সহ ক্লাউডফর্মেশন, একপাশে কাস্টম স্ক্রিপ্ট এবং অন্য দিকে টাস্ক সংজ্ঞা সহ ইসিএসের সাথে ক্লাউডফর্মেশন চেষ্টা করেছি (এখনও সফল হয়নি)। আমি দৃ strongly়ভাবে অনুভব করছি যে আরও স্পষ্ট এবং সহজ পদ্ধতির অবশ্যই থাকতে হবে।

উত্তর:


16

আমি ইসিএস কনটেইনার দৃষ্টান্তগুলি রাখব (আমি ডকার হোস্টগুলির কথা বলছি - আমি এখানে এডাব্লুএস পরিভাষা পছন্দ করি না) এবং দুটি পৃথক জিনিস হিসাবে স্থাপনা রাখি।

আপনার ইসিএস স্ট্যাক আপ এবং চলমান পান। আপনি এটি ক্লাউডফর্মেশন এবং অটো-স্কেলিং গ্রুপগুলির মাধ্যমে পরিচালনা করতে পারেন, এটি ঠিক fine আপনার ক্লাস্টারটিকে এমন একটি প্ল্যাটফর্ম হিসাবে ভাবুন যেখানে আপনি মোতায়েন করবেন , এমন কিছু নয় যা আপনাকে পুনর্নির্মাণের প্রয়োজন ।

তারপরে, সিডি-র জন্য, সহজতম পদ্ধতিটি হল একটি নতুন টাস্ক সংজ্ঞা ব্যবহারের জন্য পরিষেবা সংজ্ঞাটি আপডেট করা এবং ইসিএসকে আপনার জন্য পাত্রে আপডেট করার সুযোগ দেওয়া উচিত।

প্রতিবার এটি কোনও কাজ শুরু করার পরে, ইসিএস ডকার পুল পুলটি চালাবে: ট্যাগটিতে স্থানীয়ভাবে চিত্র থাকলেও এটিতে সেই চিত্রটির সর্বশেষতম সংস্করণ রয়েছে: তা ট্যাগটি তা নিশ্চিত করে। সুতরাং আপনি যে চিত্র ট্যাগটি ব্যবহার করেন তা আসলেই কিছু যায় আসে না (প্রতিটি বিল্ডে ট্যাগ পরিবর্তন করার দরকার নেই)।

এর অর্থ হল যে আপনি মাইমেজটি তৈরি করতে পারেন: সহজেই এটি মোতায়েনের জন্য সর্বশেষতম এবং সর্বশেষ।

আপনার যা প্রয়োজন তা হল একটি কার্য সংজ্ঞা যেখানে চিত্র = মাইমেজ: সর্বশেষ। সেই টাস্ক সংজ্ঞা সহ একটি পরিষেবা তৈরি করুন এবং যতবারই ইসিএস কোনও কাজ শুরু করবেন (আপনার পরিষেবার উদাহরণ) এটি আপনার নির্মিত সবচেয়ে সাম্প্রতিক "মাইমেজ: সর্বশেষ" হবে।

সেখান থেকে, আপনি কোডডেপ্লয়ে থেকে ধাঁধাতে কেবল একটি টুকরো মিস করছেন, আপনার কার্য সংজ্ঞাটির একটি নতুন সংশোধন তৈরি করতে এবং আপনার পরিষেবা আপডেট করার জন্য আপনি কিছু, সম্ভবত একটি ল্যাম্বডা ফাংশন কল করতে পারেন এবং ইসিএস স্বয়ংক্রিয়ভাবে সেই সংশোধনের জন্য নতুন কার্য তৈরি করবে এবং পুরানো কাজ মুছে ফেলুন।

একটি উদাহরণ:

ধরে নেওয়া যাক আপনি মাই সার্ভিস নামে একটি পরিষেবা তৈরি করেছেন। আপনি যে পরিষেবাটি টাস্ক সংজ্ঞা মাই টাস্কডিফিনিশন: 1 (পুনর্বিবেচনা 1) এর জন্য 2 টি কার্য চালনার জন্য কনফিগার করেছেন। সেই কার্য সংজ্ঞায় আপনার একটি ধারক সংজ্ঞা রয়েছে যা কোন চিত্রটি "মাইমেজ: সর্বশেষ" সেট করা আছে to

  1. গতকাল আপনি মাইমেজটি তৈরি করেছেন: সর্বশেষ যা আইডি ছিল (SHA) 365d8f7bf565।
  2. আপনার ধারক উদাহরণটি এবিসি MyTaskDefinition- 1 -ContainerName- সর্বাধিক LongId নামে একটি টাস্ক চালাচ্ছে। আপনি যখন সেই ধারকটি পরিদর্শন করবেন তখন এটি চিত্রটি চালাচ্ছে "sha256: 365d8f7bf565 .........."
  3. আপনার অন্যান্য ধারক উদাহরণ ডিএইফ অন্য একটি কাজ চালাচ্ছে। এটির একটি একই নাম রয়েছে (কেবলমাত্র আইডি পৃথক) তবে এটি একই চিত্র চলছে।
  4. আপনি আপনার রেপোতে পরিবর্তন আনলেন।
  5. কোড পাইপলাইন সেই পরিবর্তনটি তুলেছে, চিত্রটি ইসিআর-এ তৈরি এবং প্রকাশ করবে।
  6. নতুন ডকার চিত্রটিও মাইমেজ: সর্বশেষ, তবে এর আইডি (এসএইচএ) f7ec5e54ac96
  7. লাম্বদা ফাংশন এবং AWS নোডজেএস এসডিকে আপনার ক্লাস্টারে কিছু কল করার জন্য আপনাকে এখন আপনার পাইপলাইনে একটি পদক্ষেপ যুক্ত করতে হবে:
    1. একটি নতুন টাস্ক সংজ্ঞা তৈরি করুন (যা আগের মতো হ'ল)। এটি হবে মাইটাস্কডিফিনিশন: 2
    2. MyTaskDafinition: 2 ব্যবহারের জন্য আপনার মাই সার্ভিস আপডেট করুন (1 এর পরিবর্তে)
  8. ইসিএস নতুন কাজ তৈরি করবে। ধারকটির নামগুলি MyTaskDefinition- 2 -ContainerName-someLongId হবে। আপনি যখন এই ধারকগুলি পরিদর্শন করবেন তখন দেখবেন যে তারা "sha256: f7ec5e54ac96 ......." চালাবেন। সম্ভবত আপনার ধারক উদাহরণ এবিসি তে 2 টি কাজ থাকবে, সম্ভবত সেগুলি স্প্রে করা হবে (এটি আপনার পরিষেবার কনফিগারেশনের উপর নির্ভর করে)
  9. কিছু সময়ের পরে ইসিএস এবিসি এবং ডিইএফ থেকে পুরানো টাস্ক মাইটাস্কডিফিনিশন -১-ধারকনাম-কিছুলং আইডি সরিয়ে ফেলবে।

দ্রষ্টব্য: আপনার আসলে কোনও নতুন কার্য সংজ্ঞা তৈরি করার দরকার নেই। আপনি যদি চান তবে পরিবর্তে পরিষেবার কার্যাদি তালিকাটি পুনরুদ্ধার করতে এবং ম্যানুয়ালি এগুলি একে একে বন্ধ করতে পারেন। নতুন কোনও কাজ বন্ধ করার আগে আপনার ইসিএসের কোনও কাজ পুনরায় চালু হওয়ার অপেক্ষা করা উচিত (এটি: প্রথম ধারকটি থামান, ইসিএস এটি প্রতিস্থাপনের জন্য অপেক্ষা করুন, দ্বিতীয় ধারকটি থামান)। ইসিএস কনটেইনারটি পুনরায় চালু করলে, এটি সাম্প্রতিকতম মাইমেজ দখল করবে: পূর্বে বর্ণিত হিসাবে সর্বশেষ নির্মিত ima আমি কেবলমাত্র মনে করি একটি নতুন টাস্ক সংজ্ঞা তৈরি করা সহজ এবং ত্রুটিযুক্ত প্রবণ (অপেক্ষা করার জন্য এবং পরীক্ষা করতে কোনও যুক্তির প্রয়োজন নেই, আপনার নতুন কার্য সংজ্ঞা থাকলে ইসিএস আপনার জন্য রোলিং আপডেট পরিচালনা করবে)।


আশ্চর্যজনক - আমি ডকারের জন্য সিআই / সিডির অনুপস্থিত ম্যানুয়াল হিসাবে আপনার উত্তরটি কল করব। ধন্যবাদ.
নবীন বিজয়

3

বর্ণিত সহজ ব্যবহারের ক্ষেত্রে আমি ডকারের জন্য ইলাস্টিক বিনস্টক পরীক্ষা করার পরামর্শ দেব, এটি খালি ইসিএস ব্যবহারের মতো ন্যূনতম সমাধান নয়, তবে আপনি ইএলবি, ইসি 2 অটস্কেল, স্বাস্থ্য পর্যবেক্ষণ এবং আরও অনেক কিছুর মতো স্বয়ংক্রিয়ভাবে পরিচালিত এবং কনফিগার করা পরিষেবাগুলি থেকে উপকৃত হতে পারেন।

উচ্চ-স্তরের সংক্ষিপ্তসার:

  1. নির্দিষ্ট ট্যাগ মাইমেজ ব্যবহার করার জন্য ইলাস্টিক বিয়ানস্টালক কনফিগার করুন: পরীক্ষিত
  2. ট্যাগ "পরীক্ষিত" তৈরি করতে, পরীক্ষার জন্য এবং প্রচার করতে কোড পাইপলাইন / বিল্ড ব্যবহার করুন
  3. ট্রিগার ইলাস্টিক বিয়ানস্টালক মোতায়েন, যা প্রচারিত চিত্রের মাইমেজ টানবে: সমস্ত ক্ষেত্রে পরীক্ষিত, বিভিন্ন স্থাপনার কৌশল উপলব্ধ।

একই ট্যাগটি পুনরায় ব্যবহারের ভিত্তিতে এই পদ্ধতির বিকল্প বিকল্পটি আইডি সহ বিল্ড আইডি তৈরি করবে, উদাহরণস্বরূপ মাইমেজ: পরীক্ষিত -২২, এর জন্য প্রতিটি সময় নতুন ট্যাগের সাথে ইলাস্টিক বিয়ানস্টালকে আপডেট করা প্রয়োজন, তবে মোতায়েনের পুনর্বিবেচনায় আরও দানাদার নিয়ন্ত্রণ দেয়।


0

আমি এর সরলতার জন্য দ্বিতীয় স্থিতিস্থাপক বিটিস্টালক; এটি সেটআপ করা এবং মোতায়েন করা খুব সহজ।

আপনি যদি ডকার-কম্পোজের সাথে পরিচিত হন তবে অন্য পদ্ধতিটি হ'ল ডকার-কমপোজ.আইএমএল সংজ্ঞায়িত করা এবং ইসি-ক্লিমে সরাসরি ইসিএসে স্থাপন করা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.