kubectl命令

命令行工具(kubectl)

使用k8sAPI与k8s集群的容器编排进行通信的命令行工具

语法

kubectl [command] [TYPE] [NAME] [flags]
  • command:指定要对一个或多个资源执行的操作,例如 creategetdescribedelete

  • TYPE:指定资源类型。资源类型不区分大小写, 可以指定单数、复数或缩写形式。

  • NAME:指定资源的名称。名称区分大小写。 如果省略名称,则显示所有资源的详细信息。
    对多个资源执行操作时,可以按类型和名称指定每个资源。

    TYPE1 name1 name2 TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>

    用一个或多个文件指定资源:-f file1 -f file2 -f file<#>

  • flags: 指定可选的参数。

常见命令

applykubectl apply -f FILENAME [flags]从文件对资源应用配置更改。
createkubectl create -f FILENAME [flags]从文件创建一个或多个资源。
deletekubectl delete (-f FILENAMETYPE [NAME
describekubectl describe (-f FILENAMETYPE [NAME_PREFIX
editkubectl edit (-f FILENAMETYPE NAME
execkubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args…]]对 Pod 中的容器执行命令。
getkubectl get (-f FILENAMETYPE [NAME
labelkubectl label (-f FILENAMETYPE NAME
logskubectl logs POD [-c CONTAINER] [–follow] [flags]打印 Pod 中容器的日志。
taintkubectl taint NODE NAME KEY_1=VAL_1:TAINT_EFFECT_1 … KEY_N=VAL_N:TAINT_EFFECT_N [options]更新一个或多个节点上的污点。
topkubectl top (PODNODE) [flags] [options]

常见资源类型

资源名缩写名API版本资源类型中文
configmapscmv1ConfigMap配置映射
endpointsepv1Endpoints端点
eventsevv1Event事件
namespacesnsv1Namespace命名空间
nodesnov1Node节点
persistentvolumeclaimspvcv1PersistentVolumeClaim持久卷声明
persistentvolumespvv1PersistentVolume持久卷
podspov1Pod容器组
secretsv1Secret密钥
serviceaccountssav1ServiceAccount服务账号
servicessvcv1Service服务
daemonsetsdsapps/v1DaemonSet守护进程集
deploymentsdeployapps/v1Deployment部署
replicasetsrsapps/v1ReplicaSet副本集
statefulsetsstsapps/v1StatefulSet有状态副本集
cronjobscjbatch/v1CronJob定时任务
jobsbatch/v1Job任务
ingressesingnetworking.k8s.io/v1Ingress入口资源
storageclassesscstorage.k8s.io/v1StorageClass存储类

API 版本是 Kubernetes API 的一个重要组成部分,用于标识 API 对象的不同版本。Kubernetes API 允许用户通过声明式配置来管理集群中的资源,而 API 版本提供了一种机制,使得 Kubernetes 能够支持和维护不同版本的 API 对象。

API 版本通常由两部分组成,用 / 分隔:

  1. 组(Group):表示 API 对象所属的 API 组。如果组是核心 API 组,则此部分可以省略或为 corekube。对于自定义资源和扩展 API,组名是必需的。
  2. 版本(Version):表示 API 的具体版本号,如 v1v1beta1 等。版本号可以是稳定的(如 v1)、不完全稳定的(如 v2alpha1v1beta2)或处于测试阶段的。

例如:

  • v1 表示核心 API 的稳定版本。
  • apps/v1 表示 apps API 组的稳定版本。
  • batch/v1beta1 表示 batch API 组的第一个测试版本。
  • storage.k8s.io API 组的 Kubernetes 存储相关资源类型

可选项

格式化输出

-o或者--output

语法

kubectl [command] [TYPE] [NAME] -o <output_format>

-o json输出 JSON 格式的 API 对象
-o wide以纯文本格式输出,包含所有附加信息。对于 Pod 包含节点名。
-o yaml输出 YAML 格式的 API 对象

常见操作

#使用yaml文件生成资源
kubectl apply -f xxx.yaml #可以更新旧的资源
kubectl create -f xxx.yaml #创建新的资源
# 以纯文本输出格式列出所有 Pod。
kubectl get pods
# 以纯文本输出格式列出所有 Pod,并包含附加信息(如节点名)。
kubectl get pods -o wide
 显示名为 <pod-name> 的 Pod 的详细信息。
kubectl describe nodes <node-name>
# 显示名为 <pod-name> 的 Pod 的详细信息。
kubectl describe pods/<pod-name>
# 删除所有 Pod,包括未初始化的 Pod。
kubectl delete pods --all
# 返回 Pod <pod-name> 的日志快照。
kubectl logs <pod-name>
#以bash方式登陆到Pod中的某个容器里
kubectl exec -it <pod-name> -c <container-name> /bin/bash

参考文献

命令行工具 (kubectl) | Kubernetes

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值