আমি একটি দীর্ঘস্থায়ী প্রক্রিয়া নামক একটি সমস্যা আছে kube-প্রক্সি হচ্ছে অংশ Kubernetes ।
সমস্যাটি হ'ল সময়ে সময়ে সংযোগটি FIN_WAIT2 রাজ্যে ছেড়ে যায়।
$ sudo netstat -tpn | grep FIN_WAIT2
tcp6 0 0 10.244.0.1:33132 10.244.0.35:48936 FIN_WAIT2 14125/kube-proxy
tcp6 0 0 10.244.0.1:48340 10.244.0.35:56339 FIN_WAIT2 14125/kube-proxy
tcp6 0 0 10.244.0.1:52619 10.244.0.35:57859 FIN_WAIT2 14125/kube-proxy
tcp6 0 0 10.244.0.1:33132 10.244.0.50:36466 FIN_WAIT2 14125/kube-proxy
এই সংযোগগুলি প্রক্রিয়াটিকে দুর্ব্যবহার করে সময়ের সাথে সাথে স্ট্যাক আপ করে। আমি ইতিমধ্যে কুবেরনেটস বাগ-ট্র্যাকারকে একটি সমস্যা রিপোর্ট করেছি তবে আমি বুঝতে চাই যে লিনাক্স কার্নেল দ্বারা কেন এই জাতীয় সংযোগগুলি বন্ধ করা হয় না।
এর ডকুমেন্টেশন অনুসারে (টিসিপি_ফিন_টাইমআউট অনুসন্ধান করুন) FIN_WAIT2 রাজ্যের সংযোগটি X সেকেন্ডের পরে কার্নেল দ্বারা বন্ধ করা উচিত, যেখানে X / proc থেকে পড়া যায়। আমার মেশিনে এটি 60 এ সেট করা আছে:
$ cat /proc/sys/net/ipv4/tcp_fin_timeout
60
সুতরাং যদি আমি এটি সঠিকভাবে বুঝতে পারি তবে এই জাতীয় সংযোগগুলি 60 সেকেন্ডের মধ্যে বন্ধ করা উচিত। তবে এই ঘটনাটি নয়, তারা এমন অবস্থায় কয়েক ঘন্টা রেখে যায়।
যদিও আমি আরও বুঝতে পেরেছি যে FIN_WAIT2 সংযোগগুলি বেশ অস্বাভাবিক (এর অর্থ হোস্ট সংযোগের দূরবর্তী প্রান্ত থেকে ইতিমধ্যে চলে গেছে এমন কিছু এসকে-র জন্য অপেক্ষা করছে) কেন সিস্টেমগুলি এই সংযোগগুলি "বন্ধ" না করে আমি পাই না I ।
এটি সম্পর্কে আমি কি কিছু করতে পারি?
নোট করুন যে সম্পর্কিত প্রক্রিয়া পুনরায় আরম্ভ করা একটি শেষ অবলম্বন।