为了知晓为什么POD启动失败,我们需要一种方法获取POD内container的标准输出/标准错误输出,明确程序启动报错是什么。
在命令行中,我们可以利用kubectl logs命令获取container的输出:
Shell
[root@10-42-74-90 ~]# kubectl logs redis-master-fsx46
[1] 25 Nov 01:14:38.226 - Accepted 10.42.148.156:59804
[1] 25 Nov 01:14:38.229 - Accepted 10.42.37.63:35308
[1] 25 Nov 01:14:38.229 - Client closed connection
[1] 25 Nov 01:14:40.669 - DB 0: 2 keys (0 volatile) in 4 slots HT.
1
2
3
4
5
[root@10-42-74-90~]# kubectl logs redis-master-fsx46
[1]25Nov01:14:38.226-Accepted10.42.148.156:59804
[1]25Nov01:14:38.229-Accepted10.42.37.63:35308
[1]25Nov01:14:38.229-Clientclosedconnection
[1]25Nov01:14:40.669-DB0:2keys(0volatile)in4slotsHT.
默认行为是获取POD内所有container的输出,并且实时滚动。
那么这样一个命令行功能,该如何用python实现呢?
1)首先初始化一个客户端: