某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前言

  • 学习建议

  • Docker命令大全
  • Kubernetes教程

    • Kubernetes(K8s)学习教程 - 前言
    • 第1章-Kubernetes集群部署
    • 第2章-便捷性设置以及集群插件的安装
    • 第3章-基础操作
    • 第4章-集群升级
    • 第5章-Pod
    • 第6章-Pod生命周期与资源限制
    • 第7章-Pod与节点
    • 第8章-控制器Deployment
    • 第9章-Deployment镜像变更和滚动更新
    • 第10章-其他控制器-以及标签表达式
    • 第11章-控制器与节点驱逐
    • 暂缓更新
    • 练习题

    • 常用命令及yaml配置

      • 常见的集群配置文件
      • kubectl

        • 还没完善好
        • 综合

          • kubectl get
            • kubectl get
              • 可列出的资源(笔者已学或已知)
              • 命令参数选项
              • -o
              • -o wide
              • -o name
              • -o json
              • -o yaml
              • -o jsonpath
              • -n/--namespace
              • -A/--all-namespaces选项
              • --show-labels
              • -l
              • --no-headers
              • 关于secret的一些用法
          • kubectl top
          • kubectl run
          • kubectl create
          • kubectl delete
          • kubectl describe
          • kubectl edit
        • 集群

        • 节点

        • Pod

        • 控制器Deployment

        • 水平自动扩缩HPA

        • 服务(Service)

        • 服务账户(ServiceAccount)

        • 鉴权

        • 证书和证书请求

      • kubeadm

      • ctr

      • etcd(etcdctl)

      • yaml常用配置项

      • 具有特殊作用的标签或注释

  • CKS教程

  • 云原生安全
  • Kubernetes教程
  • 常用命令及yaml配置
  • kubectl
  • 综合
carsaid
2023-11-30
目录

kubectl get

# kubectl get

列出某个集群资源的信息。

# 基本格式
kubectl get <资源类型>

# 可同时查看多种资源的信息 通过逗号分隔
kubectl get nodes,pods,<...等>
1
2
3
4
5

# 可列出的资源(笔者已学或已知)

# 节点
kubectl get nodes


##### ---------------------------------------- #####


# Pod
kubectl get pods


##### ---------------------------------------- #####


# 控制器 Deployment
kubectl get deployments
kubectl get deploy

# 水平自动扩缩 HPA
kubectl get hpa

# 其他控制器 DaemonSet
kubectl get daemonsets
kubectl get ds

# 其他控制器 ReplicationController
kubectl get replicationcontrollers
kubectl get rc

# 其他控制器 ReplicaSet
kubectl get replicaSets
kubectl get rs

# 任务
kubectl get jobs

# 计划任务
kubectl get cronjobs
kubectl get cj


##### ---------------------------------------- #####


# 持久卷
kubectl get pv

# 持久卷申领
kubectl get pvc

# 存储类
kubectl get sc


##### ---------------------------------------- #####


# 密码存储 Secret
kubectl get secrets

# 密码存储 ConfigMap
kubectl get configmaps
kubectl get cm


##### ---------------------------------------- #####


# 服务
kubectl get services
kubectl get svc

# 路由规则
kubectl get ingress
kubectl get ing

# 网络策略
kubectl get networkpolicy
kubectl get networkpolicies
kubectl get netpol


##### ---------------------------------------- #####


# 角色
kubectl get roles

# 角色绑定
kubectl get rolebindings

# 集群角色
kubectl get clusterroles

# 集群角色绑定
kubectl get clusterrolebindings

# 服务账户
kubectl get serviceaccounts
kubectl get sa


##### ---------------------------------------- #####


# 准入控制器 Webhooks
kubectl get validatingwebhookconfigurations

# 证书请求 CSR
kubectl get csr
kubectl get certificatesigningrequests


##### ---------------------------------------- #####


# 集群事件
kubectl get events
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118

# 命令参数选项

# -o

# -o wide

列出资源的同时,显示这些资源的基础信息。

# 示例
kubectl get nodes -o wide
1
2
# -o name

只列出资源的名称,标题行、以及其余列信息都不显示。

# 示例
kubectl get nodes -o name
1
2

小技巧

  • 通过命令kubectl get <资源名称> -A -o name | wc -l可以快速计算出集群中的某个资源的总数量。
  • 如果想计算某个命名空间中的资源数量,则可以使用kubectl get <资源名称> -n <命名空间> -o name | wc -l
# -o json

以 JSON 格式打印资源的详细运行信息。

# 示例
kubectl get nodes -o json

# 数据量可能过大, 建议配合输出重定向来使用
kubectl get nodes -o json > info.json
1
2
3
4
5
# -o yaml

以 YAML 格式打印资源的详细运行信息。

# 示例
kubectl get nodes -o yaml

# 数据量可能过大, 建议配合输出重定向来使用
kubectl get nodes -o yaml > info.yaml
1
2
3
4
5
# -o jsonpath

以 JSON 格式打印资源的详细运行信息,并且可以筛选指定的数据。

# 列出某个正在运行的节点信息,并寻找 spec.podCIDR 字段中的数据
kubectl get nodes <节点名称> -o jsonpath='{.spec.podCIDR}'
1
2

# -n/--namespace

列出指定命名空间中的资源。

# 格式
kubectl get <资源名称> -n <命名空间名称>

# 示例(列出命名空间 kube-system 中的 Pod)
kubectl get pods -n kube-system
kubectl get pods --namespace kube-system
1
2
3
4
5
6

# -A/--all-namespaces选项

列出所有命名空间中的指定资源。

# 示例(列出所有命名空间中的 Pod)
kubectl get pods -A
kubectl get pods --all-namespaces
1
2
3

# --show-labels

显示资源的标签信息。

# 示例
kubectl get nodes --show-labels
1
2

# -l

列出含有特定标签的资源。

# 格式
kubectl get <资源> -l <键>=<值>

# 多个标签之间通过逗号 , 分隔
kubectl get <资源> -l <键>=<值>,<键2>=<值2>


# 示例(列出命名空间 kube-system 中带有标签 k8s-app=kube-dns 的 Pod)
kubectl get pods -n kube-system -l k8s-app=kube-dns
1
2
3
4
5
6
7
8
9

# --no-headers

列出信息的时候省略 “标题” 行。

# 示例(列出 Pod 信息的时候不显示标题)
kubectl get pods --no-headers
1
2

# 关于secret的一些用法

以 YAML 的格式输出 secret 的运行信息,然后在data字段下即可看到存储的密钥对。

kubectl get secret <名称> -o yaml

# 然后对密钥值进行 Base64 解码
echo "<加密后的值>" | base64 -d
1
2
3
4

查看并筛选 secret 里存储的密钥对:

# 格式
kubectl get secret <名称> -o jsonpath='{.data.<键>}'

# 示例(获取 mysec 里面密钥键为 abc 的密钥值)
kubectl get secret mysec -o jsonpath='{.data.abc}'
# 快速获取并解码
kubectl get secret mysec -o jsonpath='{.data.abc}' | base64 -d
1
2
3
4
5
6
7
编辑 (opens new window)
还没完善好
kubectl top

← 还没完善好 kubectl top→

最近更新
01
API测试笔记
04-30
02
msfvenom
03-29
03
Metasploit
03-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式