kubernetes资源类型和kubectl命令总结
作者:互联网
一、kubectl
1. kubectl是Kubernetes的命令行工具
通过它与Kubernetes进行交互,能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。
2. 如何工作
- 一个kubectl命令可以执行一个行动,如get、create或者describe
- 一个行动可以在一个资源上执行,如Deployment
- kubectl命令遵循这一语法格式: kubectl an_action a_resource a_resource_name –flags
二、资源类型
最常见的11种kubectl资源类型
- pods (po)
- nodes(no)
- deployments (deploy)
- replicasets(rs)
- daemonsets(ds)
- statefulsets(sts)
- jobs
- cronjobs(cj)
- services(svc)
- persistentvolumes(pv)
- persistentvolumeclaim (pvc)
三、常用命令
1. kubectl get pods
在大部分情况下,名称和标志并不是必要的。例如,要获得关于现有pod的信息,你通常可以直接运行这一命令:kubectl get pods。
2.kubectl get all
all是指所有已存在的资源,kubectl get all显示运行中的Pod、Service、Deployment以及ReplicaSet的关键信息。
这是检查事物状态的首选命令,你可以将get和单个对象一起使用,并添加--watch标志以实时观察更新。
3.kubectl get events
kubectl get events显示了event的历史记录。它像是Kubernetes级别的日志,而不是容器级别的日志。
4.kubectl get pods –help
在命令之后输入--help以获取该命令的帮助。如,kubectl get pods –help
5. kubectl describe all
kubectl describe all显示大量与你的集群相关的详细信息,你也可以将describe与单个对象一起使用。这个命令在debug过程中将大有用处。
6. logs
logs命令需要一个pod名称。当在多个pod中时,使用-c my-container标志来指定一个容器。使用--previous标志来获取不再运行的容器信息。
7. kubectl exec -it pod_name /bin/bash
exec帮助你debug一个容器进程,它允许你通过带-it的伪终端在容器内执行进程。例如,要在my_pod中进入容器并运行Bash,请输入kubectl exec -it my_pod bash。
8. apply
这一命令可以通过文件名或控制台输入,对资源进行配置。
并且apply能够对集群资源进行声明式管理:如果资源不存在,apply将创建它;如果它存在,apply将更改它。
此外,apply还能够添加Service到适用的资源或者通过添加Pod自动化弹性伸缩的Deployment。
请注意,你可以使用create来创建一个Deployment并且使用expose创建一个Service。
但相对来说,无论对于文件本身还是之后需要重新使用来说,使用带有apply的YAML文件是更好选择。apply是创建和更新资源的“瑞士军刀”。
9.kubectl delete pod my_pod
kubectl delete pod my_pod这一命令可用于删除名称为my_pod的Pod。
要删除所有相同类型的资源,需要使用--all标志。
例如,使用kubectl delete rs –all可以删除所有ReplicaSet。
请注意,如果你尝试这一操作,那么要先删除Deployment,否则ReplicaSet将会重新启动。
https://www.sohu.com/a/340091104_764649
标签:kubectl,资源类型,kubernetes,get,命令,apply,pod,my 来源: https://blog.51cto.com/u_15077160/2914946