k8s常用命令以及用法总结,值得一看

常用命令详解

get命令用于获取集群的一个或一些resource信息
describe类似于get,同样用于获取resource的相关信息。不同的是,get获得的是更详细的resource个性的详细信息,describe获得的是resource集群相关的信息。describe命令同get类似,但是describe不支持-o选项
resource包括集群节点、运行的pod,ReplicationController,service等。

Nodes

关于节点的常见命令

no 是 node的简写
[root@master ~]# kubectl get no    #查看node节点
NAME     STATUS   ROLES    AGE     VERSION
master   Ready    master   4h22m   v1.14.0
node1    Ready    <none>   3h52m   v1.14.0
node2    Ready    <none>   3h52m   v1.14.0
-----------------------------------------------------
NAME 		节点的名字
STATUS		节点的状态
ROLES		节点在集群中扮演的角色
AGE			运行时长
VERSION  	版本号
[root@master ~]# kubectl get no -o wide   #查看node节点
NAME     STATUS   ROLES    AGE     VERSION   INTERNAL-IP      EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
master   Ready    master   4h25m   v1.14.0   192.168.13.141   <none>        CentOS Linux 7 (Core)   3.10.0-693.el7.x86_64   docker://18.6.1
node1    Ready    <none>   3h56m   v1.14.0   192.168.13.142   <none>        CentOS Linux 7 (Core)   3.10.0-693.el7.x86_64   docker://18.6.1
node2    Ready    <none>   3h56m   v1.14.0   192.168.13.143   <none>        CentOS Linux 7 (Core)   3.10.0-693.el7.x86_64   docker://18.6.1
-----------------------------------------------------
INTERNAL-IP			节点所在的IP地址
EXTERNAL-IP			IP的外部网络或互联网
OS-IMAGE			操作系统的镜像版本
KERNEL-VERSION 		内核版本号
CONTAINER-RUNTIME	容器运行时的版本
[root@master ~]# kubectl describe no   
[root@master ~]# kubectl get no -o yaml  #以yaml的格式输出node的详细信息
[root@master ~]# kubectl get no -o json	 #以json的格式输出node的详细信息
[root@master ~]# kubectl get node --selector=[label_name]   #selector 标签选择器(yaml文件中有)
[root@master ~]# kubectl top node [node_name]  #查看node节点各资源的使用情况
如:
[root@master ~]# kubectl top node node1
NAME    CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
node1   96m          9%     587Mi           67%       
Pods
po 是pod的简写
[root@master ~]# kubectl get po 				#pod的信息
[root@master ~]# kubectl get po -o wide
[root@master ~]# kubectl describe po
[root@master ~]# kubectl get po --show-labels      #查看pod对应的标签
NAME                     READY   STATUS    RESTARTS   AGE    LABELS
mysql-ft58r              1/1     Running   0          64m    app=mysql
myweb-2j67r              1/1     Running   0          56m    app=myweb
myweb-7nzdc              1/1     Running   0          56m    app=myweb
nginx-5f965696dd-w4thr   1/1     Running   1          3h8m   app=nginx,pod-template-hash=5f965696dd
[root@master ~]# kubectl get po -l app=nginx      	#查看标签为app: nginx 的pod
[root@master ~]# kubectl get po -o yaml   				#yaml格式
[root@master ~]# kubectl get po -o json					#json格式
[root@master ~]# kubectl get pods -- field-selector status.phase=Running   #查看状态为Running的pod
NAME                     READY   STATUS    RESTARTS   AGE
mysql-ft58r              1/1     Running   0          78m
myweb-2j67r              1/1     Running   0          70m
myweb-7nzdc              1/1     Running   0          70m
nginx-5f965696dd-w4thr   1/1     Running   1          3h22m
Namespaces(命名空间)
[root@master ~]# kubectl get ns   #查看命名空间
NAME              STATUS   AGE
default           Active   5h22m
kube-node-lease   Active   5h22m
kube-public       Active   5h22m
kube-system       Active   5h22m

[root@master ~]# kubectl get ns - o yaml
[root@master ~]# kubectl describe ns
Deployments
[root@master ~]# kubectl get deploy
[root@master ~]# kubectl describe deploy
[root@master ~]# kubectl get deploy - o wide
[root@master ~]# kubectl get deploy - o yaml
Services
[root@master ~]# kubectl get svc
[root@master ~]# kubectl describe svc
[root@master ~]# kubectl get svc - o wide
[root@master ~]# kubectl get svc - o yaml
[root@master ~]# kubectl get svc --show-labels
DaemonSets
[root@master ~]# kubectl get ds
[root@master ~]# kubectl get ds --all-namespaces
[root@master ~]# kubectl describe ds [daemonset_name] - n [namespce_name]
[root@master ~]# kubectl get ds [ds_name] -n [ns_name] -o yaml
Events
[root@master ~]# kubectl get events
[root@master ~]# kubectl get events -n kube-system
[root@master ~]# kubectl get events -w
logs
[root@master ~]# kubectl logs [pod_name]
[root@master ~]# kubectl logs --since=1h [pod_name]
[root@master ~]# kubectl logs --tail =20 [pod_name]
[root@master ~]# kubectl logs -f -c [container_name] [pod_name]
[root@master ~]# kubectl logs [pod_name] > pod.log
Service Accounts
[root@master ~]# kubectl get sa
[root@master ~]# kubectl get sa -o yaml
[root@master ~]# kubectl get serviceaccounts default -o yaml >./sa.yaml
[root@master ~]# kubectl replace serviceaccount default -f ./sa.yaml
ReplicaSets
[root@master ~]# kubectl get rs
[root@master ~]# kubectl describe rs
[root@master ~]# kubectl get rs -o wide
[root@master ~]# kubectl get rs -o yaml
Roles
[root@master ~]# kubectl get roles --all -namespaces
[root@master ~]# kubectl get roles --all -namespaces -o yaml
Secrets
[root@master ~]# kubectl get secrets
[root@master ~]# kubectl get secrets --all -namespaces
[root@master ~]# kubectl get secrets -o yaml
ConfigMaps
[root@master ~]# kubectl get cm
[root@master ~]# kubectl get cm --all-namespaces
[root@master ~]# kubectl get cm --all-namespaces -o yaml
Ingress
[root@master ~]# kubectl get ing
[root@master ~]# kubectl get ing --all-namespaces
PersistentVolume
[root@master ~]# kubectl get pv
[root@master ~]# kubectl describe pv
PersistentVolumeClaim
[root@master ~]# kubectl get pvc
[root@master ~]# kubectl describe pvc
StorageClass
[root@master ~]# kubectl get sc
[root@master ~]# kubectl get sc -o yaml
Multiple Resources
[root@master ~]# kubectl get svc,po
[root@master ~]# kubectl get deploy,no
[root@master ~]# kubectl get all
[root@master ~]# kubectl get all --all -namespaces

Changing Resource Attributes //改变资源属性

Taint
[root@master ~]# kubectl taint [node_name] [taint_name] 
Labels
[root@master ~]# kubectl label [node_name] disktype=ssd
[root@master ~]# kubectl label [pod_name] env=prod
Cordon/Uncordon
[root@master ~]# kubectl cordon [node_name]
[root@master ~]# kunectl uncordon [node_name]
Drain
[root@master ~]# kubectl drain [node_name]
Nodes/Pods
[root@master ~]# kubectl delet enode [node_name]
[root@master ~]# kubectl delet epod [pod_name]
[root@master ~]# kubectl edit node [node_name]
[root@master ~]# kubectl edit pod [pod_name] 
Deployments/Namespaces
[root@master ~]# kubectl edit deploy [deploy_name]
[root@master ~]# kubectl delete deploy [deploy_name]
[root@master ~]# kubectl expse deploy [deploy_name] --por=80  -type=NodePort
[root@master ~]# kubectl scale deploy [deploy_name] --repicas=5
[root@master ~]# kubectl delete ns 
[root@master ~]# kubectl edit ns [ns_name]
Services
[root@master ~]# kubectl edit svc [svc_name]
[root@master ~]# kubectl delete svc [svc_name]
DaemonSets
[root@master ~]# kubectl edit ds [ds_name] -n kube-system
[root@master ~]# kubectl delete ds [ds_name]
Service Accounts
[root@master ~]# kubectl edit sa [sa_name]
[root@master ~]# kubectl delete sa [sa_name]
Annotate
[root@master ~]# kubectl annotate po [pod_name] [annotation]
[root@master ~]# kubectl annotate no [node_name]

Adding Resources //添加资源

Creating a Pod
[root@master ~]# kubectl create -f [name_of_file]
[root@master ~]# kubectl apply -f [name_of_file]
[root@master ~]# kubectl run [pod_name] --image=nginx --resart=Never
[root@master ~]# kubectl run [pod_name] --geneator=run-pod/v1 --image=nginx
[root@master ~]# kubectl run [pod_name] --image=nginx --restart=Never
Creating a Service
[root@master ~]# kubectl create svc nodeport [svc_name] --tcp=8080: 80
Creating a Deployment
[root@master ~]# kubectl create -f [name_of_file]
[root@master ~]# kubectl apply -f [name_of_file]
[root@master ~]# kubectl create deploy [deploy_name] --image=ngi nx
Interactive Pod
[root@master ~]# kubectl run [pod_name] --image=busybox --rm -it --restart=Never -- sh
Output YAML to a File
[root@master ~]# kubectl create deploy [deploy_name] --image=nginx --dry-run -o yaml > depl oy. yaml
[root@master ~]# kubectl get po [pod_name] -o yaml --export > pod. yaml
Getting Help
[root@master ~]# kubectl -h 
[root@master ~]# kubectl create -h
[root@master ~]# kubectl run -h
[root@master ~]# kubectl explain deploy.spec

Requests //请求

API Call
[root@master ~]# kubectl get --raw /apis/metrics.k8s.io/
Cluster Info
[root@master ~]# kubectl config 
[root@master ~]# kubectl cluster-info
[root@master ~]# kubectl get componentstatuses

kubectl -n kube-system edit cm coredns

  • 6
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供思维导图。但是,我可以为您提供一些常用的Kubernetes命令。以下是一些常用的Kubernetes命令: 1. kubectl get pods:获取当前集群中的所有Pods的信息。 2. kubectl get deployments:获取当前集群中的所有Deployments的信息。 3. kubectl get services:获取当前集群中的所有Services的信息。 4. kubectl create deployment \[deployment-name\] --image=\[image-name\]:创建一个新的Deployment。 5. kubectl scale deployment \[deployment-name\] --replicas=\[number\]:扩展或缩小一个Deployment的副本数量。 6. kubectl delete deployment \[deployment-name\]:删除一个Deployment。 7. kubectl describe pod \[pod-name\]:获取一个Pod的详细信息。 8. kubectl logs \[pod-name\]:获取一个Pod的日志。 9. kubectl exec -it \[pod-name\] -- \[command\]:在一个Pod中执行一个命令。 10. kubectl apply -f \[file-name\]:使用一个YAML文件创建或更新资源。 这些是一些常用的Kubernetes命令,可以帮助您管理和操作Kubernetes集群中的资源。希望对您有所帮助! #### 引用[.reference_title] - *1* *2* *3* [k8s学习-思维导图与学习笔记](https://blog.csdn.net/lady_killer9/article/details/124544947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值