赞
踩
简单了解常见的查询命令格式:
kubectl get <resource> [-o wide | json | yaml] [-n namespace]
获取资源的相关信息,-n
指定命令空间,-o
指定输出格式
resource可以是具体资源名称,如pod nginx -xxx
; 或者all
(仅展示几种核心资源,并不完整)
kubfectl get namespace
查询命名空间下的pods:
kubectl get pods -n kubesphere-monitoring-system
查询命名空间下的service:
kubectl get service -n kubesphere-monitoring-system
或
kubectl get svc -n kubesphere-monitoring-system
查询命名空间下的configmap
(在dashboard
也可以看到):
kubectl get configmap -n kubesphere-monitoring-system
查询命名空间下的secret
(比较隐私的配置,在dashboard
也可以看到):
kubectl get secret -n kubesphere-monitoring-system
查询命名空间下特定类型的内容:
## 获取prometheus内容
kubectl get Prometheus -n kubesphere-monitoring-system
## 获取prometheus规则内容
kubectl get PrometheusRule -n kubesphere-monitoring-system
接着第二步,如果要获取特定查询的内容,直接使用"/"即可:
kubectl get secret/想要查询的内容 -n kubesphere-monitoring-system
后缀加上 -o yaml
就可以查询yaml
里面的内容,如下:
kubectl get secret/alertmanager-main -n kubesphere-monitoring-system -o yaml
同时也可以导出到本地文件,使用指定符">
",然后下载直接使用记事本打开即可查看:
kubectl get secret/alertmanager-main -n kubesphere-monitoring-system -o yaml > xxx.yaml
从3.1步骤可以知道导出yaml
进行编辑,编辑之后上传,然后使用apply命令,即可更新内容:
kubectl apply -f xxx.yaml
也可以直接编辑文件(后缀可以不加“-o yaml
”)
kubectl edit secret/alertmanager-main -n kubesphere-monitoring-system
如果要更新指定指定字段的yaml
内容:
kubectl create secret alertmanager-main --from-file=alertmanager.yaml=xxxx.yaml
如果要删除某个字段,直接定位到行,直接连续输入如下命令即可删除整行:
dd
如果要定位到最后一行,直接Shift+G即可。
一般edit之后会自动重启,如果不放心,可以使用重启命令(直接删除节点):
kubectl delete pod alertmanager-main-0 -n kubesphere-monitoring-system
大致如下,delete
后跟指定的类型(如pod/nginx
):
kubectl delete PrometheusRule/disk-free-rules -n kubesphere-monitoring-system
命令如下,直接进入节点查看(prometheus-k8s-0
是你想要进入的节点,跟docker有点像):
kubectl exec -it prometheus-k8s-0 /bin/sh -n kubesphere-monitoring-system
查询日志命令如下:
kubectl logs -f --tail 200 pod名称
如果是多副本,后面可能要求跟上指定的容器,命令如下:
kubectl logs -f --tail 200 pod名称 -c 提示的容器名
查看事件日志:
kubectl describe pod/pod名称
看 pod 在哪个节点:
kubectl get pod -o wide
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。