Kubernetes入门(三)
kubectl命令使用
语法
语法:kubectl [command] [TYPE] [NAME] [flags]
1. command:子命令,用于操作kubernetes集群资源对象的命令,如create、delete、describe、get、apply等;
2. TYPE:资源对象的类型,如pod、service、rc、deployment、node等,可以单数、复数以及简写(pod/pods/po、service/services/svc);
3. NAME:资源对象的名称,不指定则返回所有,如 get pod 会返回所有pod,get pod nginx 则只返回nginx这个pod;
4. flags:kubectl子命令的可选参数,例如 -n 指定namespace,-s 指定apiserver的URL。
资源对象列表
- 获取资源对象列表:
# kubectl api-resouces
名称 简写
componentsstatuses cs
daemonsets ds
deployment deploy
events ev
ebdpoints ep
horizontalpodautoscalers hpa
ingresses ing
jobs
limitranges limits
nodes no
namespaces ns
pods po
persistentvolumes pv
persistentvolumeclaims pvc
resourcequotas quato
replicationcontrollers rc
secrets
serviceaccounts sa
services svc
特殊用法:
# kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-f16r2 1/1 Running 1 3d
myweb-f8xw9 1/1 Running 1 3d
# kubectl get pod mysql-f16r2
NAME READY STATUS RESTARTS AGE
mysql-f16r2 1/1 Running 1 3d
# kubectl get pod/myweb-f8xw9 rc/myweb
NAME READY STATUS RESTARTS AGE
po/myweb-f8xw9 1/1 Running 1 3d
NAME DESIRED CURRENT READY AGE
rc/myweb 1 1 1 3d
# kubectl create -f pod1.yaml -f rc1.yaml -f svc1.yaml #可同时创建多个资源对象
kubectl子命令主要包括对资源的创建、删除、查看、修改、配置、运行等。
kubectl --help
可以查看所有子命令。
kubectl options
可以查看支持的参数,例如 --namespace 指定namespace。
命令输出格式
kubectl命令可以用多种格式对结果进行显示,输出格式通过 -o 参数指定。
- -o 支持的格式有:
举例子:
# kubectl get pod -o wide
# kubectl get pod -o yaml
# kubectl get pod --sort-by=.metadata.name #按name排序输出
# kubectl get pod -o custom-columns=NAME:.metadata.name,RESC:.metadata.resourceVersion
kubectl命令示例
创建资源对象:
根据yaml文件创建service和deployment
# kubectl create -f my-service.yaml -f my-deploy.yaml
也可以指定一个目录,这样可以根据该目录下所有yaml或json文件一次性定义资源
# kubectl create -f <directory>
查看所有pod
# kubectl get pod
查看deployment和service
# kubectl get deploy,svc
显示pod的详细信息
# kubectl describe pod <pod-name>
显示node的详细信息
# kubectl describe node <node-name>
显示deployment管理的pod信息
# kubectl describe pod <deployment-name>
基于yaml文件删除
# kubectl delete -f pod.yaml
删除所有pod
# kubectl delete po --all
在pod中执行某个命令,如date
,
# kubectl exec <pod-name> date
进入到pod的容器里:
# kubectl exec -it <pod-name> bash
查看容器日志:
# kubectl logs <pod-name>
动态查看
# kubectl logs -f <pod-name>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!