पहले असलियत दर्ज करें, क्योंकि लंबे समय से चल रही मशीन पर क्या क्या इंस्टॉल है यह किसी को पूरा पता नहीं होता। चल रहे प्रोसेस, packages, config फाइलें, cron jobs और बाहर जाने वाली dependencies पकड़ें, फिर disk image import करने की जगह उसे Dockerfile के रूप में दोबारा बनाएं। लोकल state और configuration बाहर निकालें, container को VM के साथ साथ असली ट्रैफिक की नकल पर चलाएं, और धीरे धीरे cutover करें, VM को rollback के रास्ते के तौर पर बचाकर।
इंटरव्यूअर यह क्यों पूछते हैं
migration के सवाल व्यावहारिकता जांचते हैं। इंटरव्यूअर जानना चाहता है कि आप एक ही झटके में rewrite करेंगे या rollback वाला क्रमिक रास्ता निकालेंगे। वे बेरौनक हिस्से भी सुनना चाहते हैं: बिना दस्तावेज़ वाली dependencies की खोज, disk पर पड़ा लोकल state, और वे cron jobs जो किसी को याद नहीं, क्योंकि ये प्रोजेक्ट container build से नहीं, इन्हीं से टूटते हैं।
अपना जवाब कैसे स्ट्रक्चर करें
- इससे शुरू करें कि मशीन असल में करती क्या है, यह पता लगाना।
- disk का snapshot लेने की जगह Dockerfile से दोबारा बनाएं।
- state, config और scheduled jobs बाहर निकालें।
- समानांतर चलाएं और VM को rollback रखते हुए cutover करें।
उदाहरण जवाब
पहला कदम पुरातत्व है, क्योंकि चार साल से चल रही मशीन ऐसे काम कर रही है जिनका किसी ने दस्तावेज़ नहीं बनाया। मैं चल रहे प्रोसेस, सुन रहे ports, इंस्टॉल किए गए packages, cron table, config फाइलें, और सबसे अहम एक हफ्ते तक बाहर जाने वाले connections पकड़ूंगा, क्योंकि वही उन dependencies को दिखाता है जो किसी diagram में नहीं हैं। फिर उसी के आधार पर मैं शून्य से Dockerfile बनाता हूं, disk import करने की जगह, क्योंकि image कॉपी करना उसी गंदगी को आगे ले जाना है और पूरा मकसद खत्म कर देता है। मुश्किल हिस्सा हमेशा state और configuration होता है। लोकल disk पर लिखी जाने वाली फाइलों को object storage या volume पर जाना होगा, फाइलों में रहने वाली config को environment या secrets manager से आना होगा, और cron jobs को लंबे चलते container में पकाने के बजाय scheduled jobs बनना होगा। फिर मैं container को VM के साथ साथ चलाता हूं, असली ट्रैफिक की छाया लेकर या छोटा प्रतिशत लेकर, और बर्ताव की तुलना करता हूं। cutover धीरे धीरे होता है और VM तब तक चालू रहती है जब तक हम कुछ हफ्ते संतुष्ट न रहें, क्योंकि यही इकलौता rollback है जो पक्का काम करता है।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- बिना दस्तावेज़ वाली dependencies को चोट पहुंचाने से पहले कैसे ढूंढते हैं?
- जो प्रोसेस लोकल file path पर लिखता है, उसका क्या करेंगे?
- उस host के cron jobs को कैसे संभालेंगे?
DevOps इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें