1.14-এর পরে GKE পডগুলি VPN অ্যাক্সেস হারিয়েছে: উৎস ঠিক করার দুইটি উপায়
1.14-এর পরে পডগুলি নিজেদের ঠিকানা নিয়ে VPN-এ পৌঁছায়, তাই পিয়াররা উত্তর ফিরিয়ে দেয়। উৎসের চুক্তি বেছে নিন, তারপর nonMasqueradeCIDRs মিলিয়ে সেট করুন।
একটি আপগ্রেড আসে, আর টানেলের ওপারের সিস্টেমগুলি গত সপ্তাহে কাজ করা পড ট্র্যাফিক প্রত্যাখ্যান করতে শুরু করে। টানেল চালু আছে, ফায়ারওয়াল নিয়মগুলি অপরিবর্তিত, কেউ পিয়ার নীতি সম্পাদনা করেনি। যা বদলেছে তা ক্লাস্টার লগে অদৃশ্য: যে উৎস ঠিকানা সেই সিস্টেমগুলি এখন দেখে। এই ব্যবধান এমন একটি ব্যর্থতা ব্যাখ্যা করে যা নেটওয়ার্ক বিভ্রাটের মতো দেখায় আর অনুমতি সমস্যার মতো আচরণ করে।
দুটি বৈধ উত্তর আছে, আর তারা আপনাকে আলাদা জায়গায় নিয়ে যায়। ConfigMap সম্পাদনার আগে উৎসের চুক্তি বেছে নিন।
যে ডিফল্ট নিয়মটি আর ইনস্টল হয় না
আগের GKE সংস্করণগুলি একটি মাস্কারেড নিয়ম ইনস্টল করত যা গন্তব্য 10.0.0.0/8-এর বাইরে থাকলে পড উৎসকে নোড ঠিকানা দিয়ে প্রতিস্থাপন করত। সেই পরিসরের ভিতরের VPN গেটওয়ে পড ঠিকানা দেখত, আর আরও দূরের কিছু নোড থেকেই আসছে বলে মনে হত। পিয়াররা নোড ঠিকানার চারপাশে অনুমোদিত তালিকা ও ফেরত রুট তৈরি করেছিল, কারণ তারা এটাই পর্যবেক্ষণ করেছিল।
পরের সংস্করণগুলি সেই ডিফল্ট নিয়ম ইনস্টল করা বন্ধ করে। পড ট্র্যাফিক এখন গন্তব্য যাই হোক, পড ঠিকানা নিয়ে গেটওয়েতে পৌঁছায়। যে পিয়ার কেবল নোড ঠিকানা রুট করে সে উত্তরগুলি ফেলে দেয়, আর কোনও পক্ষই কাজের লগ এন্ট্রি লেখে না। অনুরোধটি দূর প্রান্তে এমনকি সফলও হতে পারে, আর এটাই ব্যর্থতাটিকে অনুসরণ করা বিভ্রান্তিকর করে তোলে।
মৃত উপাদানের অর্থে কিছুই ভাঙা নেই। দুই পক্ষ কেবল কোন উৎস বৈধ তা নিয়ে একমত নয়।
পিয়ার যে উৎস দেখবে তা বেছে নিন
পড ঠিকানা রাখা বেশি নির্ভুল চুক্তি। দূর প্রান্ত ট্র্যাফিক তৈরি করা ওয়ার্কলোড দেখে, লগ সৎ থাকে, আর প্রতি-পড নীতি সম্ভব হয়। মূল্য হল পিয়ারকে পড প্রিফিক্স বহন করতে হয়।
নোড ঠিকানা রাখা সস্তা চুক্তি। সেই গন্তব্যের জন্য মাস্কারেডিং আবার চালু করুন, পিয়ার আগে থেকেই যে ঠিকানায় ভরসা করে তা দেখতেই থাকবে।
একটি প্রশ্ন তাদের মধ্যে সিদ্ধান্ত নেয়: পিয়ার উৎস দিয়ে কী করে? যদি সে লগ রাখে, প্রতি-উৎস নীতি প্রয়োগ করে বা সংকীর্ণ ফেরত রুট চাপিয়ে দেয়, তবে পড ঠিকানা অতিরিক্ত কনফিগারেশনকে ন্যায্য করে। যদি কেবল উত্তর পাঠাতে হয়, মাস্কারেডিং কম খরচ করে আর অন্য পক্ষের কাছে কিছু চায় না। দুই দল এটি লিখে রাখলে যেকোনও পছন্দই সমর্থনযোগ্য।
তৃতীয় বিকল্প সাধারণত ভুল: সবকিছু মাস্কারেড করা আর ট্র্যাফিক চিহ্নিত করার ক্ষমতা হারানো। পিয়ার সত্যিই নোড ঠিকানা ছাড়া কিছু রুট করতে না পারলে তবেই এটি এড়িয়ে চলুন।
nonMasqueradeCIDRs-কে আসল পরিসরে নির্দেশ করুন
GKE kube-system-এ ip-masq-agent চালায়, আর তার ConfigMap সেই গন্তব্যগুলি তালিকাভুক্ত করে যেগুলি মাস্কারেডিং এড়িয়ে যায়। টানেলের দিকে পড উৎস সংরক্ষণ করতে পড পরিসর, নোড সাবনেট ও অন-প্রিমাইজ প্রিফিক্স সবই সেই তালিকায় থাকা উচিত।
নমুনা মানগুলি আপনার নিজের ক্লাস্টারের পরিসর দিয়ে বদলে দিন। প্রয়োজন যতটুকু বলে ততটুকুর বেশি চওড়া তালিকা রাখবেন না, কারণ প্রতিটি অতিরিক্ত এন্ট্রি অন্য কোনও গন্তব্য কী দেখে তা বদলে দেয়। নিচের তিনটি এন্ট্রি পড নেটওয়ার্ক, নোড সাবনেট ও টানেলের পেছনের প্রিফিক্স বোঝায়:
nonMasqueradeCIDRs:
- 10.12.0.0/14
- 10.100.0.0/16
- 172.16.0.0/12
masqLinkLocal: false
resyncInterval: 60s0.0.0.0/0 এন্ট্রি সব গন্তব্যের জন্য মাস্কারেডিং বন্ধ করে, যা অসম্পর্কিত ওয়ার্কলোডগুলি বাইরের সেবার কাছে কীভাবে দেখায় তা বদলে দেয় এবং খুব কমই ইচ্ছাকৃত হয়। এজেন্ট resyncInterval-এ তার কনফিগারেশন আবার পড়ে, তাই পুনরায় চালু করা সাধারণত দরকার হয় না। এজেন্ট পড চলছে কিনা দেখুন, তারপর তার ভিতরের মাউন্ট করা ফাইলটি খুলুন। সেই ফাইল পড়াই প্রমাণ করে পরিবর্তনটি পৌঁছেছে।
উত্তরের পথটি অপর অর্ধেক
মাস্কারেডিং কেবল অনুরোধের উৎস বদলায়, আর কিছুই না। পিয়ার যে উৎসই পাক, তার কাছে ফেরার রুট এখনও দরকার, আর ক্লাস্টারেরও পিয়ারের দিকে রুট দরকার।
VPN গেটওয়েতে ক্যাপচার দুই ব্যর্থতাকে দ্রুত আলাদা করে। পড ঠিকানা নিয়ে এসে কখনও উত্তর না পাওয়া প্যাকেট মানে পিয়ারের পড প্রিফিক্সের রুট নেই। গেটওয়েতে দেখা গেলেও ক্লাস্টারে কখনও না পৌঁছানো উত্তর মানে স্থানীয় রুট অনুপস্থিত। যেভাবেই হোক চুক্তিটি টিকিটে লিখুন: পিয়ার কোন উৎস দেখে, আর কোন প্রিফিক্সে ফেরত রুট করে।
প্রতিটি আপগ্রেডের পরে আবার যাচাই করুন
ডিফল্ট মাস্কারেড আচরণ ইতিমধ্যে একবার বদলেছে, আর নোড পুল প্রতিস্থাপন ক্লাস্টার নেটওয়ার্কিং রিসেট করতে পারে। উৎসের চুক্তিকে ধরে নেওয়ার জিনিস নয়, যাচাই করার জিনিস হিসেবে দেখুন।
আপগ্রেডের পরে একটি পড থেকে অন-প্রিমাইজ সেবায় একটি অনুরোধ পাঠান আর পিয়ার যে উৎস লগ করে তা পড়ুন। সেই একক পর্যবেক্ষণ এমন একটি রিগ্রেশন ধরে যা একটি টানেল স্ট্যাটাস পৃষ্ঠা আনন্দের সঙ্গে সুস্থ বলে রিপোর্ট করবে। এটি পুনরাবৃত্তি করতে এক মিনিট লাগে আর পরের মানুষটির একটি সন্ধ্যা বাঁচে।