k8s常用命令

一,kubectl 命令行的语法如下:

  • $ kubectl [command]  [TYPE]  [NAME] [flags]
  • 上面的命令是: kubectl命令行中,指定执行什么操作(command),指定什么类型资源对象(type),指定此类型的资源对象名称(name),指定可选参数(flags),后面的参数就是为了修饰那个唯一的对象
  • 属于典型的英文语法,比如你是老师,你说,小明(kubectl)买(command)方便面(type)老坛酸菜方便面(name)桶装的(flag)。命令的根本原则是准确性,不能有异议!

(1) command: 子命令,用于操作k8s集群资源对象的命令,例如create,delete,describe ,get ,apply 等
(2) TYPE:  资源对象的类型,区分大小写,能以单数形式,复数形式或者简写形式表示。例如以下3种TYPE是等价的。

  • $ kubectl get  pod pod1
  • $ kubectl get pods pod1
  • $ kubectl get po pod1

(3) NAME: 资源对象的名称,区分大小写。如果不指定名称,则系统将返回属于TYPE的全部对象的列表。例如$ kubectl get pods 将返回默认namespaces下所有的pod列表
(4) flags: kubectl 子命令的可选参数,例如使用"-s" 指定apiserver 的URL地址

在一个命令行中也可以同时对多个资源对象进行操作,以多个Type和NAME的组合表示,实例如下:
获取多个pod的信息:

  • $ kubectl get pods pod1 pod2

获取多个对象的信息:

  • $ kubectl get pod/pod1 rc/rc1

同时应用多个yaml文件,以多个-f file参数表示:

  • $ kubectl get pod -f pod1.yaml  -f pod2.yaml
  • $ kubectl create  -f  pod1.yaml  -f rc2.yaml  -f servicel.yaml

 

二,常用的kubectl命令

kubectl get - 列出可用资源

  • 列出所有的pod  : kubectl get pods --all-namespaces
  • 列出所有的job :  kubectl get job --all-namespaces

kubectl describe - 显示有关资源的详细信息

  • kubectl describe pod nvjob-lnrxj -n default
  • -n default 是指定namespace为default里的pod,是语法中的flag

kubectl logs - 从 Pod 中的容器打印日志

  • 这个特殊一点哦,这个不用指定TYPE,因为kubeclt logs 默认就是pod类型,所以 kubectl  logs  pod 会报错,"Error from server (NotFound): pods "pod" not found"
  • kubectl logs calijob  -n calib

kubectl exec - 在 Pod 中的容器执行命令

  • 和log一样,不用指明type,默认是pod : kubectl exec <pod_name>  -n <namespace> date

kubectl delete - 在 Pod 中的容器执行命令

  • kubectl delete pod cali-2 -n calib
  • 批量删除namespace 是calib中 状态为Error的所有pod:kubectl get pods -n calib | grep Error | awk '{print $1}' | xargs kubectl delete pod -n calib(注意 “Error”,“Completed”状态得首字母都是大写哦)

 

kubectl get nodes 查看节点

kubectl get ns (namespace) 查看命名空间

kubectl cluster-info 查看集群的信息,主要是host

kubectl get svc (service ) 获取服务

kubectl get deployment 获取部署

kubectl get cs 获取集群健康状态

kubectl get csr

kubectl get rs (replicaset)

kubectl get rc (replicatcontroller 获取副本控制器吧自己理解的 )

kubectl get pods --all-namespaces 获取所有的pod命名空间的pod

kubectl get pod 查看默认的pod

kubectl get pod -n kube-system 查看命令空间为kube-system 的pod

 

kubectl logs pod名称 查看默认空间的对应的pod名称的 的日志,可以-n 查指定命名空间的

kubectl exec -it tiller-deploy -n kube-system -- /bin/sh 进入指定pod的shell界面

kubectl describe tiller-deploy -n kube-system 查看pod的状态,env | grep -i kube 查看pod的环境

 

kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}' 向deployment里追加信息

 

kubectl delete deployment tiller-deploy -n kube-system 删除部署

kubectl create -f nginxtest.yaml 创建 pod 或 service等

kubectl edit deploy tiller-deploy -n kube-system 打开部署为tiller-deploy 的配置文件并可以编辑

kubeadm系列

 

kubectl edit cm kubeadm-config -n kube-system 更改配置

kubeadm config view 查看配置

systemctl restart kubelet 重启kubelet

其它

kubectl create serviceaccount --namespace kube-system tiller 创建 服务账户 为tiller的账户

serviceaccount=kube-system:tiller 绑定集群角色

kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值