语法:
 
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
events ev
endpoints ep
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
kubectl get pod/pod1 rc/rc1
kubectl create -f pod1.yaml -f rc1.yaml  -f service1.yaml
 
 
kubectl子命令
主要包括对资源的创建、删除、查看、修改、配置、运行等
 
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
kubectl get pod -o 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>

  

2)查看资源对象
查看所有pod
kubectl get pods

  

查看deployment和service
kubectl get deploy,svc

  

3)描述资源对象
 
显示node的详细信息
kubectl describe nodes <node-name>

  

显示pod的详细信息
kubectl describe pods/<pod-name>

  

显示deployment管理的pod信息
kubectl describe pods <deployment-name>

  

4)删除资源对象
 
基于yaml文件删除
kubectl delete -f pod.yaml

  

删除所有包含某个label的pod和service
kubectl delete po,svc -l name=<lable-name>

  

删除所有pod

kubectl delete po --all

  

5)执行容器的命令
 
在pod中执行某个命令,如date
kubectl exec <pod-name> date  //pod-name如果不加,默认会选择第一个pod

  

指定pod的某个容器执行命令
kubectl exec <pod-name>  date
[root@weifeng04 ~]# kubectl exec  frontend-141477217-42863 ls

BUILDING.txt     NOTICE        RUNNING.txt  include  native-jni-lib  work
CONTRIBUTING.md README.md bin lib temp
LICENSE RELEASE-NOTES conf logs webapps
[root@weifeng04 ~]# kubectl exec frontend-141477217-42863 pwd
/usr/local/tomcat
[root@weifeng04 ~]#
[root@weifeng04 ~]# kubectl exec frontend-141477217-42863 date
Sat Nov 3 12:23:32 UTC 2018

  

 
进入到pod的容器里
kubectl exec -it <pod-name>   bash

 

[root@weifeng04 ~]# kubectl exec  -it frontend-141477217-42863 bash
root@frontend-141477217-42863:/usr/local/tomcat# ls
BUILDING.txt LICENSE README.md RUNNING.txt conf lib native-jni-lib webapps
CONTRIBUTING.md NOTICE RELEASE-NOTES bin include logs temp work

  

6)查看容器日志
 
kubectl logs <pod-name>
[root@weifeng04 ~]# kubectl logs frontend-141477217-42863
03-Nov-2018 05:44:29.442 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.34
03-Nov-2018 05:44:29.446 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Sep 4 2018 22:28:22 UTC
03-Nov-2018 05:44:29.448 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.34.0
03-Nov-2018 05:44:29.448 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
03-Nov-2018 05:44:29.448 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 3.10.0-862.14.4.el7.x86_64
03-Nov-2018 05:44:29.450 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
03-Nov-2018 05:44:29.451 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:

  

可以动态查看,类似于tail -f
 
kubectl logs -f <pod-name> -c <container-name>

  

 

kubectl命令使用的更多相关文章

  1. k8s技术--Kubernetes集群kubectl命令的常见使用方法

    简介:kubectl是一个命令行界面,用于运行针对Kubernetes群集的命令. 语法: kubectl [command] [TYPE] [NAME] [flags] command:指定您希望对 ...

  2. kubectl命令自动补全

    kubectl这个命令行工具非常重要,与之相关的命令也很多,我们也记不住那么多的命令,而且也会经常写错,所以命令自动补全是非常有必要的,kubectl命令行工具本身就支持complication,只需 ...

  3. [转帖] k8s kubectl 命令行技巧

    https://jimmysong.io/posts/kubectl-cheatsheet/ Kubectl Cheatsheet kubectl命令技巧大全Posted on November 3, ...

  4. Kubernetes kubectl 命令

    kubectl 命令用来操作 Kubernetes 集群中的资源对象,包括对资源的创建.删除.查看.修改.配置.运行等 命令语法:kubectl [command] [TYPE] [NAME] [fl ...

  5. kubectl 命令

    Kubectl 命令表 kubectl run kubectl expose kubectl annotate kubectl autoscale kubectl convert kubectl cr ...

  6. kubernetes系列(小知识):kubectl命令自动补全

    kubectl命令自动补全 linux系统 yum install -y bash-completion source /usr/share/bash-completion/completions/d ...

  7. K8S命令-Kubectl 命令大全

    参考1:https://jimmysong.io/kubernetes-handbook/guide/kubectl-cheatsheet.html?h=kubectl Kubctl 命令是操作 ku ...

  8. Kubernetes kubectl 命令概述

    kubectl用于运行Kubernetes集群命令的管理工具. 语法 kubectl [command] [TYPE] [NAME] [flags] command:指定要在一个或多个资源执行的操作 ...

  9. kubernetes 实践二:kubectl命令使用

    这里记录kubernetes学习和使用过程中的内容. CentOS7 k8s-1.13 flanneld-0.10 docker-18.06 etcd-3.3 kubectl用法概述 kubectl是 ...

随机推荐

  1. JQuery实战--能够编辑的表格

    廊坊下雪了.15年的第二场雪.比14的来的稍晚一些.停靠在11教门前的自行车.成了廊坊师范学院最漂亮的风景线.还记得以前学习css的时候.就以前接触过怎样编写设计一些表格和表单的样式,比如怎样设计表格 ...

  2. [Android Pro] activity-alias的使用

    activity-alias是android里为了重复使用Activity而设计的. 当在Activity的onCreate()方法里,执行getIntent().getComponent().get ...

  3. 数据库实例: STOREBOOK > 表空间 > 编辑 表空间: UNDOTBS1

    ylbtech-Oracle:数据库实例: STOREBOOK  >  表空间  >  编辑 表空间: UNDOTBS1 表空间  >  编辑 表空间: UNDOTBS1 1. 一般 ...

  4. QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型

    QSqlTableModel类继承至QSqlQueryModel类,该类提供了一个可读写单张SQL表的可编辑数据模型,功能:修改,插入,删除,查询,和排序 常用函数 QVariant headerDa ...

  5. OpenGL视图--gluPerspective glOrtho glFrustum gluLookAt

    void gluPerspective( GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar ) near 和 far 决定了投 ...

  6. MongoDB Sort op eration used more than the maximum 33554432 bytes of RAM. Add an index, or speci fy a smaller limit.

    最近在获取mongodb某个集合的数据过程中,在进行排序的过程中报错,具体报错信息如下: Error: error: { , "errmsg" : "Executor e ...

  7. statickeyword

    static词义:静态的,可以用于修饰变量和方法,static方法块可以优先于构造函数运行. 被static修饰的变量,叫静态变量,静态变量在内存中仅仅有一份拷贝 public static Stri ...

  8. libsvm svmtrain函数运行出错问题

    我安装的是matlab R2013a   安装上libsvm后需要设置set path 为libsvm的所有文件夹加载上,但是发现每次重新打开之后,之前加载的又不见了,所有导致出现,使用svmsrai ...

  9. 九度OJ 打印日期 (模拟)

    题目1186:打印日期 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4284 解决:1483 题目描写叙述: 给出年分m和一年中的第n天,算出第n天是几月几号. 输入: 输入包含两个整数 ...

  10. 防止excel数字变成科学计数法

    在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel的格式为文本格式. 我试用过第一种确实可以显示,但是有个“'”号在那里感觉确实不是很好,虽然听说不影响,但 ...