kubectl 是 Kubernetes 集群的 命令行工具,通过 kubectl 能够对集群本身进行管理,并且能够在集群上进行容器化应用的安装与部署。本文主要介绍Kubernetes(k8s) kubectl 命令行工具的使用。

1、kubectl 命令用法

kubectl 命令语法格式如下,

kubectl [command] [TYPE] [NAME] [flages]

1)command

指定要对资源执行的操作,如 create、get、describe、delete 等。

2)TYPE

指定资源类型,资源类型的书写对大小写敏感。

3)NAME

指定资源的名称,名称也对大小写敏感,如果省略名称则会显示所有资源。

4)flages

指定可选的参数,如可以使用 -s、-server 参数指定 Kubernetes API server 的地址和端口。

注意:可以使用命令 kubectl --help 可以获取 kubectl 的各种命令以及解释。

2、kubectl 命令

1)基础命令

命令

含义

create

通过文件名或者标准输入创建资源

expose

将一个资源公开为一个新的 service

run

在集群中运行一个特定的镜像

set

在对象上设置特定的功能

get

显示一个或者多个资源

explain

获取资源及其字段的文档

edit

使用默认编辑器编辑一个资源

delete

通过文件名、标准输入、资源名称或标签选择器来删除资源

命令文档:

Kubernetes(K8s) kubectl create常用命令

Kubernetes(K8s) kubectl expose常用命令

Kubernetes(K8s) kubectl run 常用命令

Kubernetes(k8s) kubectl set subject常用命令

Kubernetes(k8s) kubectl set image常用命令

Kubernetes(k8s) kubectl set selector常用命令

Kubernetes(k8s) kubectl set resources常用命令

Kubernetes(K8s) kubectl get 常用命令

Kubernetes(k8s) kubectl explain常用命令

Kubernetes(K8s) kubectl edit 常用命令

Kubernetes(K8s) kubectl delete 常用命令

2)部署命令

命令

含义

rollout

管理资源的发布

rolling-update

对给定的复制控制器滚动更新

scale

扩容或缩容 pod 数量,Deployment、ReplicaSet、RC

autoscale

创建一个自动选择扩容或缩容并设置 pod 数量

命令文档:

Kubernetes(k8s) kubectl rollout history常用命令

Kubernetes(k8s) kubectl rollout pause常用命令

Kubernetes(k8s) kubectl rollout resume常用命令

Kubernetes(k8s) kubectl rollout status常用命令

Kubernetes(k8s) kubectl rollout undo常用命令

Kubernetes(K8s) kubectl rolling-update 常用命令

Kubernetes(K8s) kubectl scale 常用命令

Kubernetes(K8s) kubectl autoscale 常用命令

3) 集群管理命令

命令

含义

certificate

修改证书资源

cluster-info

显示集群信息

top

显示资源的使用,需要 Heapster 运行

cordon

标记节点不可调度

uncordon

标记节点可以调度

drain

驱逐节点上的应用,准备下线维护

taint

修改节点 taint 标记

命令文档:

Kubernetes(k8s) kubectl certificate常用命令

Kubernetes(k8s) kubectl cluster-info常用命令

Kubernetes(k8s) kubectl top常用命令

Kubernetes(K8s) kubectl cordon, drain, uncordon 常用命令

Kubernetes(k8s) kubectl taint常用命令

4)故障诊断和调试命令

命令

含义

describe

显示特定资源或资源组的详细信息

logs

在一个 pod 中打印容器日志,如果 pod 只有一个容器,则容器名称可选

attach

附加到一个运行的容器

exec

执行命令到容器

port-forward

转发一个或多个本地端口到一个 pod

proxy

运行一个 proxy 到 Kubernetes API server

cp

拷贝文件或目录到容器

auth

检查授权

命令文档:

Kubernetes(K8s) kubectl describe常用命令

Kubernetes(K8s) kubectl logs 常用命令

Kubernetes(K8s) kubectl attach 常用命令

Kubernetes(K8s) kubectl exec 常用命令

Kubernetes(K8s) kubectl port-forward 常用命令

Kubernetes(K8s) kubectl proxy 常用命令

Kubernetes(K8s) kubectl cp 常用命令

Kubernetes(k8s) kubectl auth常用命令

5)其它命令

命令

含义

apply

通过文件名或标准输入对资源应用配置

patch

使用补丁修改、更新资源的字段

replace

通过文件名或标准输入替换一个资源

convert

不同 API 版本之间转换配置文件

label

更新资源上的标签

annotate

更新资源上的注释

completion

用于实现 kubectl 工具自动补全

api-versions

打印受支持的 API 版本

config

修改 kubeconfig 文件

help

所有命令帮助

plugin

运行一个命令行插件

version

打印客户端和服务版本信息

命令文档:

Kubernetes(K8s) kubectl apply 常用命令

Kubernetes(K8s) kubectl patch常用命令

Kubernetes(K8s) kubectl replace常用命令

Kubernetes(k8s) kubectl convert常用命令

Kubernetes(K8s) kubectl label 常用命令

Kubernetes(k8s) kubectl annotate常用命令

Kubernetes(k8s) kubectl completion常用命令

Kubernetes(k8s) kubectl api-versions常用命令

Kubernetes(k8s) kubectl config常用命令

Kubernetes(k8s) kubectl plugin常用命令

Kubernetes(k8s) kubectl version常用命令

3、kubectl 命令输出

输出格式

描述

-o custom-columns=<spec>

使用逗号分隔的自定义列列表打印表。

-o custom-columns-file=<filename>

使用 <filename> 文件中的自定义列模板打印表。

-o json

输出 JSON 格式的 API 对象

-o jsonpath=<template>

打印 jsonpath 表达式定义的字段

-o jsonpath-file=<filename>

打印 <filename> 文件中 jsonpath 表达式定义的字段。

-o name

仅打印资源名称而不打印任何其他内容。

-o wide

以纯文本格式输出,包含任何附加信息。对于 pod 包含节点名。

-o yaml

输出 YAML 格式的 API 对象。

推荐文档

相关文档

大家感兴趣的内容

随机列表