kubernetes之kubectl命令用法总结

本文是对k8s,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
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,在create和apply之间,我更倾向于apply,这是因为,如果更改了yaml文件,apply不用删除就可应用变更。

kubectl create -f my-service.yaml -f my-deploy.yaml
  kubectl apply -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

进入到pod的容器里

kubectl exec -it <pod-name>  bash

6) 查看容器日志

kubectl logs <pod-name>

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

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

原文地址:http://blog.51cto.com/m51cto/2344828

时间: 2024-10-02 09:35:55

kubernetes之kubectl命令用法总结的相关文章

【Kubernetes】kubectl命令详解 &#646984;

目录 用法概述 子命令详解 参数列表 输出格式 操作示例 原文: http://blog.gqylpy.com/gqy/385 @ 用法概述 kubectl 命令行的语法如下: kubectl [command] [TYPE] [NAME] [flags] command:子命令,用于操作 Kubernetes 集群资源对象的命令,例如 create.delete.describe.get.apply 等. TYPE:资源对象类型,区分大小写,能以单数.复数形式或者简写形式表达. NAME:资源

k8s kubectl 命令用法集

KUBECTL 命令使用 kubectl 查看所有flag是否有简称 #kubectl api-resourcesNAME SHORTNAMES APIGROUP NAMESPACED KINDbindings true Bindingcomponentstatuses cs false ComponentStatusconfigmaps cm true ConfigMapendpoints ep true Endpointsevents ev true Eventlimitranges lim

kubernetes组件——kubectl命令行工具管理

内容要点:1.kubectl概述2.kubectl语法3.kubectl管理命令4.create与apply命令的异同5.实例演示一.kubectl概述 Kubectl是一个命令行界面,用于运行针对Kubernetes集群的命令.Kubectl的配置文件在$HOME/.kube目录.我们可以通过设置KUBECONFIG环境变量或设置命令参数--kubeconfig来指定其他位置的kubeconfig文件. 二.kubectl语法 1.使用以下语法kubectl从终端窗口运行命令: kubectl

Kubernetes kubectl 命令

kubectl 命令用来操作 Kubernetes 集群中的资源对象,包括对资源的创建.删除.查看.修改.配置.运行等 命令语法:kubectl [command] [TYPE] [NAME] [flags] # command:子命令,用于操作 Kubernetes 集群资源对象的命令,如 create, delete, describe, get, apply 等 # TYPE:资源对象的类型,如 pod,service,rc,node 等,有些可以简写,如 service 简写为 svc,

Kubernetes之kubectl常用命令

本文转自:http://blog.csdn.net/xingwangc2014/article/details/51204224 kubernetes通过kube-apiserver作为整个集群管理的入口.Apiserver是整个集群的主管理节点,用户通过Apiserver配置和组织集群,同时集群中各个节点同etcd存储的交互也是通过Apiserver进行交互.Apiserver实现了一套RESTfull的接口,用户可以直接使用API同Apiserver交互.另外官方还提供了一个客户端kubec

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

简介:kubectl是一个命令行界面,用于运行针对Kubernetes群集的命令. 语法: kubectl [command] [TYPE] [NAME] [flags] command:指定您希望对一个或多个资源执行的操作,例如创建,获取,描述,删除. TYPE:指定资源类型. 资源类型区分大小写,可以使用单数,复数或缩写形式. NAME:指定资源的名称. 名称区分大小写. 如果省略名称,则会显示所有资源的详细信息,例如$ kubectl get pod. flags:指定可选标志. 例如,可

Kubernetes 系列第二篇: 使用 kubectl 命令创建 Kubernetes 应用

1. 简介 k8s 的 API Server 提供了 RESTful 风格的网关接口, 允许用户通过这个接口向 k8s 集群发起请求.如创建一个 Pod 或销毁一个 Pod 等操作用户可以通过编程语言遵循 API Server 提供的网关接口规范和 API Server 进行通信, 也可以通过 k8s 自带的 kubectl 命令和 API Server 进行通信, 或者通过由 Dashboard 提供的 Web UI 和 API Server 进行通信其中 kubectl 是官方提供的用于和

Kubernetes kubectl 命令自动补全

linux 命令补全 # centos yum install -y bash-completion # Ubuntu apt install bash-completion # 生效命令补全 source /usr/share/bash-completion/bash_completion # mac $ brew install bash-completion # 生效命令补全 $ source $(brew --prefix)/etc/bash_completion # 可以测试docke

手动安装K8s第五节:master节点kubectl命令部署

1.部署kubectl 命令行工具准备二进制包[[email protected] ~]# cd /usr/local/src/kubernetes/client/bin[[email protected] bin]# cp kubectl /opt/kubernetes/bin/ 2.创建 admin 证书签名请求[[email protected] bin]# cd /usr/local/src/ssl/[[email protected] ssl]# vim admin-csr.json