kubectl logs <pod-id>
আমার স্থাপনা থেকে সর্বশেষ লগ পাওয়া যায় - আমি একটি বাগে কাজ করছি এবং রানটাইমের সময় লগগুলি জানতে আগ্রহী - আমি কীভাবে লগগুলির ধারাবাহিক প্রবাহ পেতে পারি?
সম্পাদনা: শেষে প্রশ্ন সংশোধন করা হয়েছে।
উত্তর:
kubectl logs -f <pod-id>
আপনি -f
পতাকাটি ব্যবহার করতে পারেন :
-f, --follow=false: Specify if the logs should be streamed.
https://kubernetes.io/docs/references/generated/kubectl/kubectl- কম্যান্ডস# লগস
kubectl logs --help
আপনাকে গাইড করবে:
উদাহরণ:
# Begin streaming the logs of the ruby container in pod web-1
kubectl logs -f -c ruby web-1
পতাকা:
-f, --follow[=false]: Specify if the logs should be streamed.
আপনি --since=10m
সেই তুলনামূলক সময় আগে যোগ করতে বা শুরু করতে পারেন ।
আমার একটি দীর্ঘ চলমান পডের লগগুলি অ্যাক্সেস করার দরকার ছিল এবং কয়েক -f
দিন আগে থেকেই লগগুলি স্ট্রিম করা শুরু করেছিল, যেখানে আমার দেখার দরকার যেখানে পৌঁছাতে কয়েক ঘন্টা সময় লেগেছিল (ঠিক শেষ কয়েক মিনিট বা তার বেশি সময়)।
এখানে একটি --since=10m
পতাকা রয়েছে, তবে এটি আমার পক্ষে কাজ করবে বলে মনে হচ্ছে না।
আশ্চর্য কি ছিল --tail=100
, 100
প্রদর্শন করার জন্য সাম্প্রতিক লাইনের সংখ্যাটি কোথায় ।
k8s_pod=some_pod
kubectl get pods -w $k8s_pod | while read LOGLINE
do
[[ "${LOGLINE}" == *"Running"* ]] && pkill -P $$ kubectl
done
for line in $(kubectl get pods | grep $k8s_pod | awk '{print $1}'); do
kubectl logs -f $line | tee logfile
done
tail logfile | grep successful!
RESULT=$?
exit $RESULT
আপনি যদি কোনও বহু পড অ্যাপ্লিকেশন থেকে লগগুলির প্রবাহ পেতে চান তবে আপনি কুবেটাইল ব্যবহার করতে পারেন , উদাহরণস্বরূপ:
kubectl get pods
NAME READY STATUS RESTARTS AGE
app2-v31-9pbpn 1/1 Running 0 1d
app2-v31-q74wg 1/1 Running 0 1d
kubetail app2
যে কমান্ড দিয়ে, kubetail হয় পিছাড়ী শুঁটি থেকে লগগুলি app2-v31-9pbpn এবং app2-v31-q74wg
এটা চেষ্টা কর,
শুঁটি থেকে লেজ লগ
kubectl --tail <"লাইনের কোনও নয়"> লগ <"পড_নাম">
উদাহরণ :
kubectl - টেল 100 লগ অ্যাপ_পড
kubctl লগ -f = সত্য [পোড-নাম] -সি [ধারক-নাম]
পডের উপরে যদি আপনার কেবল একটি একক ধারক থাকে তবে ধারকটির নাম প্রয়োজন হয় না অন্যথায় -c বিকল্প সহ ধারকটির নাম ব্যবহার করুন। -f অর্থাৎ ডিফল্টরূপে অনুসরণ করা মিথ্যা। যদি আপনি এটি সত্যে সেট না করেন আপনি আপনার ধারক লগগুলির একটি স্ন্যাপশট পাবেন।
আপনি -f এর সাথে লগগুলি অনুসরণ করতে পারেন
kubectl logs -f <pod_name>
যদি লগগুলি বন্ধ হয়ে যায় তবে সম্ভবত পড ক্রাশ হচ্ছে, আপনি কি পডটি আসলে চলছে কিনা তা পরীক্ষা করতে পারেন? বয়স যাচাই করতে পারেন বা:
kubectl describe deploy/ds <deploy_or_ds_name>?
অথবা আপনি একাধিক পাত্রে পডের ভিতরে পাত্রের জন্য লগগুলিও পরীক্ষা করতে পারেন
kubectl -f <pod_name> -c <container_name>