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 explain或kubectl api-resources

名称 简写

componentsstatuses cs

daemonsets ds

deployment deploy kubectl get deyploy (也就是查看他的rc)

events ev kubectl get ev (查看他的事件)

endpoints ep kubectl get ep (查看ip和端口,也叫端点)

horizontalpodautoscalers hpa

ingresses ing

jobs

limitranges limits

nodes no

namspaces ns

pods po

persistentvolumes pv

persistentvolumeclaims pvc

resourcequotas quota

replicationcontrollers rc

secrets

serviceaccounts sa

services svc

特殊用法:

kubectl get pods pod1 pod2 #可以这样查看多个pod

kubectl get pod/pod1(pod名字) rc/rc1(rc名字) #同时查看pod或rc

kubectl create -f pod1.yaml -f rc1.yaml -f service1.yaml #也可同时创建多个资源

kubectl子命令:

主要包括对资源的创建、删除、查看、修改、配置、运行等 #比如get、create等等

kubectl --help 可以查看所有子命令

kubectl参数:

kubectl options 可以查看支持的参数,例如--namespace指定所在namespace

kubectl输出格式:

kubectl命令可以用多种格式对结果进行显示,输出格式通过-o参数指定:

-o支持的格式有

输出格式 说明

custom-columns=<spec> 根据自定义列名进行输出,逗号分隔

custom-columns-file=<filename> 从文件中获取自定义列名进行输出

json 以JSON格式显示结果

jsonpath=<template> 输出jasonpath表达式定义的字段信息

jasonpath-file=<filename> 输出jsonpath表达式定义的字段信息,来源于文件

name 仅输出资源对象的名称

wide 输出更多信息,比如会输出node名

yaml 以yaml格式输出

举例:

kubectl get pod -o wide #加-o可以把node列出来,也就是pod在哪个节点上能列出来

kubectl get pod -o yaml #以yaml文件格式列出来

kubectl get pod -o custom-columns=NAME:.metadata.name,RESC:.metadata.resourceVersion

kubectl get pod --sort-by=.metadata.name //按name排序

kubectl命令示例:

1)创建资源对象

根据yaml文件创建service和deployment

kubectl create -f my-service.yaml -f my-deploy.yaml

也可以指定一个目录,这样可以一次性根据该目录下所有yaml或json文件定义资源

kubectl create -f <directory> #也就是把这个额目录下所有的yaml或json一次性的创建,定义这些资源

2)查看资源对象

查看所有pod

kubectl get pods

查看deployment和service

kubectl get deploy,svc #加个逗号可同时查看

3)描述资源对象 #比如一些错误信息都可以看到的

显示node的详细信息

kubectl describe nodes <node-name>

显示pod的详细信息

kubectl describe pods/<pod-name> #针对指定的pod要加一个斜杠

显示deployment管理的pod信息

kubectl describe pods <deployment-name>

4)删除资源对象

基于yaml文件删除

kubectl delete -f pod.yaml #当然也可以直接 kubectl delete pod或rc或svc 这样删除

删除所有包含某个label的pod和service

kubectl delete po,svc -l name=<lable-name> #配置文件中定义过pods的最小个数和最大个数,会删不掉。不太好用

删除所有pod

kubectl delete po --all

5)执行容器的命令

在pod中执行某个命令,如date命令

kubectl exec <pod-name> date #pod-name如果不加,默认会选择第一个pod

指定pod的某个容器执行命令

kubectl exec <pod-name> date

进入到pod的容器里

kubectl exec -it <pod-name> bash #跟docker的进入命令差不多

6)查看容器日志

kubectl logs <pod-name>

可以动态查看,类似于tail -f

kubectl logs -f <pod-name> -c <container-name>

转载于:https://my.oschina.net/u/3866192/blog/3070611

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值