def tail(obj, follow, prefix, number):
'''Show recent logs from containers for each pod matched.
NUMBER is a count of recent lines or a relative duration (e.g. 5s, 2m, 3h)
'''
kubectl = obj.kubey.kubectl
if re.match(r'^\d+$', number):
log_args = ['--tail', str(number)]
else:
log_args = ['--since', number]
if follow:
log_args.append('-f')
for pod in obj.kubey.each_pod(obj.maximum):
for container in pod.containers:
args = ['-n', pod.namespace, '-c', container.name] + log_args + [pod.name]
if prefix:
prefix = '[%s:%s] ' % (pod.name, container.name)
kubectl.call_prefix(prefix, 'logs', *args)
else:
kubectl.call_async('logs', *args)
kubectl.wait()
if kubectl.final_rc != 0:
click.get_current_context().exit(kubectl.final_rc)
评论列表
文章目录