কোনও কুবারনেটস ক্লাস্টারে এনগিনেক্স কীভাবে স্থাপন করবেন


আমাদের শেষ নিবন্ধে, আমরা কীভাবে কুবারনেটস ক্লাস্টার স্থাপন এবং পরিচালনা করব তা নিয়ে আলোচনা করেছি, আসুন কীভাবে আমরা আমাদের ক্লাস্টারে এনজিআইএনএক্স পরিষেবা স্থাপন করতে পারি তা নিয়ে আলোচনা করা যাক।

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

Master Node - Public IP: 104.197.170.99 and Private IP: 10.128.15.195
Worker Node 1 - Public IP: 34.67.149.37 and Private IP: 10.128.15.196
Worker Node 2 - Public IP: 35.232.161.178 and Private IP: 10.128.15.197

একটি কুবেরনেটস ক্লাস্টারে এনজিআইএনএক্স স্থাপন করা

আমরা মাস্টার-নোড থেকে এই স্থাপনাটি চালাব।

ক্লাস্টারের স্থিতি পরীক্ষা করে শুরু করা যাক। আপনার সমস্ত নোডগুলি প্রস্তুত অবস্থায় থাকা উচিত।

# kubectl get nodes

আমরা এনজিআইএনএক্স ইমেজ ব্যবহার করে এনজিআইএনএক্সের একটি স্থাপনা তৈরি করি।

# kubectl create deployment nginx --image=nginx

আপনি এখন আপনার স্থাপনার অবস্থা দেখতে পাবেন।

# kubectl get deployments

আপনি যদি আপনার স্থাপনার বিষয়ে আরও বিশদ দেখতে চান তবে আপনি বর্ণনা আদেশটি চালাতে পারেন। উদাহরণস্বরূপ, স্থাপনার কতগুলি প্রতিরূপ চলছে তা নির্ধারণ করা সম্ভব। আমাদের ক্ষেত্রে, আমরা ১ টি চলমান একটি প্রতিরূপ দেখতে (যেমন ১/১ প্রতিলিপি) দেখতে আশা করি।

# kubectl describe deployment nginx

এখন আপনার এনগিনেক্স মোতায়েন সক্রিয়, আপনি এনজিআইএনএক্স পরিষেবাটি ইন্টারনেটে পৌঁছনীয় একটি পাবলিক আইপিতে প্রকাশ করতে চাইতে পারেন।

কুবেরনেটস সার্ভিস-প্রকার নামক একটি বৈশিষ্ট্যের উপর ভিত্তি করে আপনার পরিষেবাটি উন্মোচিত করার সময় কুবারনেটস বিভিন্ন বিকল্প দেয় they

  1. ক্লাস্টারআইপি - এই সার্ভিস-টাইপটি কেবলমাত্র একটি ক্লাস্টারের মধ্যে পৌঁছনীয় এবং কেবলমাত্র ক্লাস্টার-নোডের মধ্যেই কেবল কোনও অভ্যন্তরীণ আইপি-তে পরিষেবাটি প্রকাশ করে
  2. নোডপোর্ট - ক্লাস্টারের প্রতিটি নোডের একটি নির্দিষ্ট বন্দরটিতে (নোডপোর্ট) নামে আপনার ক্লাস্টারের বাইরে অ্যাক্সেসযোগ্য হওয়ার জন্য আপনার পরিষেবাটি এক্সপোজ করার সবচেয়ে বেসিক বিকল্প। আমরা শীঘ্রই এই বিকল্পটি চিত্রিত করব
  3. লোডবালেন্সার - আপনার পরিষেবায় অ্যাক্সেসের অনুমতি দেওয়ার জন্য বিভিন্ন সরবরাহকারীদের দেওয়া অফার বহিরাগত লোড-ব্যালেন্সিং পরিষেবাগুলিতে এই বিকল্পটি লাভ করে। আপনার পরিষেবার জন্য উচ্চ প্রাপ্যতার কথা চিন্তা করার সময় এটি আরও নির্ভরযোগ্য বিকল্প এবং এতে ডিফল্ট অ্যাক্সেসের বাইরে আরও বৈশিষ্ট্য রয়েছে।
  4. বাহ্যিক নাম - এই পরিষেবাটি ট্র্যাফিকটি ক্লাস্টারের বাইরে পরিষেবাগুলিতে পুনর্নির্দেশ করে। যেমন পরিষেবাটি এমনভাবে কোনও ডিএনএস নামের সাথে ম্যাপ করা হয় যা আপনার ক্লাস্টারের বাইরে হোস্ট করা যেতে পারে। এটি লক্ষ করা গুরুত্বপূর্ণ যে এটি প্রক্সিং ব্যবহার করে না

ডিফল্ট পরিষেবা ধরণ হ'ল ক্লাস্টারআইপি।

আমাদের দৃশ্যে আমরা নোডপোর্ট সার্ভিস-টাইপটি ব্যবহার করতে চাই কারণ আমাদের একটি সরকারী এবং ব্যক্তিগত আইপি উভয় ঠিকানা রয়েছে এবং আমাদের আপাতত বাহ্যিক লোড ব্যালান্সারের প্রয়োজন নেই। এই পরিষেবা-ধরণের মাধ্যমে, কুবারনেটস 30000+ ব্যাপ্তির পোর্টগুলিতে এই পরিষেবাটি বরাদ্দ করবে।

# kubectl create service nodeport nginx --tcp=80:80

সার্ভিসের সংক্ষিপ্তসার এবং এক্সপ্লোর করা পোর্টগুলি দেখতে get svc কমান্ডটি চালান।

# kubectl get svc

এখন আপনি যাচাই করতে পারবেন যে কার্ল কমান্ডটি ব্যবহার করে Nginx পৃষ্ঠাটি সমস্ত নোডে পৌঁছতে পারে।

# curl master-node:30386
# curl node-1:30386
# curl node-2:30386

আপনি দেখতে পাচ্ছেন যে, "এনজিএনএক্সে স্বাগতম!" পৃষ্ঠা পৌঁছে যেতে পারে।

যেমন আপনি লক্ষ্য করেছেন, কুবার্নেটস রিপোর্ট করেছেন যে আমার কোনও সক্রিয় পাবলিক আইপি নিবন্ধিত নেই, বা কোনও এক্সটার্নাল-আইপি নিবন্ধিত নেই।

# kubectl get svc

আসল সত্য কিনা তা যাচাই করা যাক, আইপি কমান্ড ব্যবহার করে আমার ইন্টারফেসের সাথে আমার কোনও বহিরাগত আইপি সংযুক্ত নেই।

# ip a

আপনি দেখতে পাচ্ছেন এমন কোনও পাবলিক আইপি নেই।

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

একটি সাময়িক বহিরাগত আইপি ঠিকানা একটি অস্থায়ী আইপি ঠিকানা যা ভার্চুয়াল উদাহরণ বন্ধ না হওয়া অবধি VM এর সাথে সংযুক্ত থাকে। ভার্চুয়াল উদাহরণটি পুনরায় চালু করা হলে, একটি নতুন বাহ্যিক আইপি বরাদ্দ করা হয়। মূলত বলতে গেলে, পরিষেবা সরবরাহকারীদের অলস পাবলিক আইপিগুলিতে সুবিধা অর্জনের এটি একটি সহজ উপায়।

এখানে আপনার চ্যালেঞ্জটি ছাড়াও, আপনার পাবলিক আইপি স্থিতিশীল নয়, এফেমেরাল পাবলিক আইপিটি কেবল প্রাইভেট আইপির একটি এক্সটেনশন (বা প্রক্সি) এবং সেই কারণে, পরিষেবাটি কেবল 30386 পোর্টে অ্যাক্সেস করা হবে। এর অর্থ হ'ল URL- এ এই সার্ভিসটি অ্যাক্সেস করা হবে, এটি আপনার 104.197.170.99:30386, যা আপনি যদি আপনার ব্রাউজারটি পরীক্ষা করেন তবে আপনাকে স্বাগত পৃষ্ঠাটি দেখতে সক্ষম হওয়া উচিত।

এটির সাথে সাথে আমরা আমাদের 3-নোড কুবারনেটস ক্লাস্টারে সাফল্যের সাথে এনজিআইএনএক্স মোতায়েন করেছি।