获取k8s中yaml里面的信息

查看k8s的deploy

1
2
3
4
5
[root@k8s-master ~]# kubectl -n kube-system get deploy 
NAME READY UP-TO-DATE AVAILABLE AGE
coredns 0/2 2 0 2y46d
kuboard 1/1 1 1 55d
metrics-server 1/1 1 1 55d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@k8s-master ~]# kubectl -n kube-system get deploy coredns -o yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "3"
creationTimestamp: "2019-04-24T05:49:10Z"
generation: 3
labels:
k8s-app: kube-dns
managedFields:
- apiVersion: apps/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:

获取这个deploy的创建时间

1
2
3
4
5
# 以下命令都可以 
# 结果为(UTC 时间): 2019-04-24T05:49:10Z
kubectl -n kube-system get deploy coredns --output="jsonpath={.metadata.creationTimestamp}"
kubectl -n kube-system get deploy coredns -o jsonpath={.metadata.creationTimestamp}
kubectl -n kube-system get deploy coredns -o go-template='{{.metadata.creationTimestamp}}'

按pod创建时间排序获取列表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
kubectl -n kube-system get pods --sort-by=.metadata.creationTimestamp
NAME READY STATUS RESTARTS AGE
kube-apiserver-k8s-master 1/1 Running 11 2y46d
kube-proxy-ld577 1/1 Running 5 2y46d
kube-proxy-k9zxm 1/1 Running 2 2y46d
kube-proxy-zfrgc 1/1 Running 2 2y46d
kube-flannel-ds-amd64-tlhlp 1/1 Running 6 2y46d
kube-flannel-ds-amd64-j27t8 1/1 Running 2 2y46d
kube-flannel-ds-amd64-q5p5n 1/1 Running 2 2y46d
kube-controller-manager-k8s-master 1/1 Running 4 2y46d
kube-scheduler-k8s-master 1/1 Running 5 2y46d
etcd-k8s-master 1/1 Running 9 198d
coredns-78499c79bb-8qbkt 0/1 CrashLoopBackOff 26 55d
coredns-78499c79bb-pnsw2 0/1 CrashLoopBackOff 26 55d
kuboard-7986796cf8-zctql 1/1 Running 0 55d
metrics-server-677dcb8b4d-gwd4p 1/1 Running 0 55d
将pod的创建时间转换为时间戳
1
2
creationTimestamp=`kubectl -n kube-system get deploy coredns -o go-template='{{.metadata.creationTimestamp}}'`
date -d "$creationTimestamp" +%s

参考:shell 时间转换 shell 命令行处理时间(date)

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2024 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信