K&S,kubectl常用命令

Kubernetes

Kubernetes是一个开源的容器编排引擎,用来对容器化应用进行自动化部署。

Kubectl

Kubectl是Kubernetes集群的命令行工具,通过Kubectl能够对集群本身进行管理。并能够在集群上进行容器化得部署和安装。
Kubectl命令语法格式:

  $ kubectl [command] [TYPE] [NAME] [flags]
 1、 command:指定要对一个或者多个资源执行的操作,例如 create、get、delete等。
 2、 TYPE:指定资源类型。资源类型不区分大小写,可以指定单数、复数或缩写的形式 。例如,一下命令输出的结果相同:
  kubectl get pod pod1
  kubectl get pods pod1
  kubectl get po pod1
 3、NAME:指定资源的名称。名称区分大小写。如果省略名称。则显示所有资源的详细信息。 kubectl get pods.
     在对多个资源执行操作时,可以按类型和名称指定指定每个资源。或指定一个或多个文件。
     (1)要按类型和名称指定资源:
             .要对所有类型相同的资源进行分组,执行以下操作:TYPE1 name1 name2 name3 name<#>,例如:kubectl get pod example-pod1 example-pod2
             .分别指定多个类型的资源:TYPE1/name1 TYPE1/name2 TYPE<#>/name<#> 。例如:kubectl get pad/example-pod1 replicationcontroller。
      (2)用一个或多个文件指定资源: -f file1 -f file2 -f file<#>
  4、flags:指定可选的参数。例如,可以使用 -s 或者 -server 参数指定kubernetes API 服务器的地址和端口    
  注意:从命令行指定的参数会覆盖默认值和任何相应的环境变量。

kubectl的常用命令

kubectl 作为Kubernetes的命令行工具。主要的职责就是对集群中的资源对象进行操作。这些操作包括资源队形的创建、删除和查看等。
在这里插入图片描述

操作语法描述
annotatekubectl annotate添加或更新一个或多个资源的注释
api-versionskubectl api-versions [flogs]列出可用的API版本
applykubectl apply -f FILENAME [flags]将来自于文件或stdin的配置变更应用到主要对象中
attchkubectl attach POD -c CONTAINER [-i] [-t] [flags]连接到正在运行的容器上,可以查看输出流与文件交互
查看资源状态

● get 最常用的查看命令,显示一个或多个资源的详细信息

# Usage:
  kubectl get
[(-o|--output=)](TYPE[.VERSION][.GROUP] [NAME | -l label] | TYPE[.VERSION][.GROUP]/NAME ...) [flags] 
[options]
# Examples: 
kubectl get services                          # 列出当前NS中所有service资源
kubectl get pods --all-namespaces             # 列出集群所有NS中所有的Pod
kubectl get pods -o wide                      # -o wide也比较常用,可以显示更多资源信息,比如pod的IP等
kubectl get deployment my-dep                 # 可以直接指定资源名查看
kubectl get deployment my-dep --watch         # --watch 参数可以监控资源的状态,在状态变换时输出。在跟踪服务部署情况时很有用
kubectl get pod my-pod -o yaml                # 查看yaml格式的资源配置,这里包括资实际的status,可以用--export排除
kubectl get pod my-pod -l app=nginx           # 查看所有带有标签app: nginx的pod

● describe
describe命令同样用于查看资源信息,但相比与get只输出资源本身的信息,describe聚合了相关资源的信息并输出。比如,在describe node信息时,同时会输出该node下的pod的资源利用情况。所以describe命令在排错和调试时非常有用。

# Usage:
kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME) [options]
# Examples: 
kubectl describe nodes my-node    # 查看节点my-node的详细信息
kubectl describe pods my-pod      # 查看pod my-pod的详细信息
容器管理
虽然逻辑上,Kubernetes的最小管理单位是Pod,但是实际上还是免不了与容器直接交互,特别是对于多容器的Pod,任意容器有问题,都会导致Pod不可用。

● 查看日志

# Usage:
  kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER] [options]
# Examples: 
kubectl logs my-pod                              
# 输出一个单容器pod my-pod的日志到标准输出
kubectl logs nginx-78f5d695bd-czm8z -c nginx     
# 输出多容器pod中的某个nginx容器的日志
kubectl logs -l app=nginx                        
# 输出所有包含app-nginx标签的pod日志
kubectl logs -f my-pod                           
# 加上-f参数跟踪日志,类似tail -f
kubectl logs my-pod  -p                          
# 输出该pod的上一个退出的容器实例日志。在pod容器异常退出时很有用
kubectl logs my-pod  --since-time=2018-11-01T15:00:00Z
# 指定时间戳输出日志            
kubectl logs my-pod  --since=1h 
# 指定时间段输出日志,单位s/m/h

kubectl ConfigMap

//查看ConfigMap
kubectl get cm
//编辑ConfigMap
kubectl edit cm cmName 
/*修改 ConfigMap,先进入服务的ConfigMap,然后按i进入编辑模式,修改ConfigMap中的相关配置,
按 esc 退出编辑状态,然后再英文状态下输入:wq,保存并退出, :q 退出不保存, :w 保存不退出
*/


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值