# Kubernetes 常用命令

命令分类 命令 翻译 命令作用
基本命令 create 创建 创建一个资源
edit 编辑 编辑一个资源
get 获取 获取一个资源
patch 更新 更新一个资源
delete 删除 删除一个资源
explain 解释 展示资源文档
运行和调试 run 运行 在集群中运行一个指定的镜像
expose 暴露 暴露资源为Service
describe 描述 显示资源内部信息
logs 日志输出容器在 pod 中的日志 输出容器在 pod 中的日志
attach 缠绕进入运行中的容器 进入运行中的容器
exec 执行容器中的一个命令 执行容器中的一个命令
cp 复制 在Pod内外复制文件
rollout 首次展示 管理资源的发布
scale 规模 扩(缩)容Pod的数量
autoscale 自动调整 自动调整Pod的数量
高级命令 apply rc 通过文件对资源进行配置
label 标签 更新资源上的标签
其他命令 cluster-info 集群信息 显示集群信息
version 版本 显示当前Server和Client的版本

# Kubectl

kubectl 命令:

kubectl [command] [TYPE] [NAME] [flags]
1

其中 command、TYPE、NAME 和 flags 分别是:

  • command:指定要对一个或多个资源执行的操作,例如 create、get、describe、delete。

  • TYPE:指定资源类型。资源类型不区分大小写, 可以指定单数、复数或缩写形式。例如,以下命令输出相同的结果:

kubectl get pod pod1
kubectl get pods pod1
kubectl get po pod1
1
2
3
  • NAME:指定资源的名称。名称区分大小写。 如果省略名称,则显示所有资源的详细信息。例如:kubectl get pods。在对多个资源执行操作时,你可以按类型和名称指定每个资源,或指定一个或多个文件:

    • 要按类型和名称指定资源:
    • 要对所有类型相同的资源进行分组,请执行以下操作:TYPE1 name1 name2 name<#>。 例子:kubectl get pod example-pod1 example-pod2
    • 分别指定多个资源类型:TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>。 例子:kubectl get pod/example-pod1 replicationcontroller/example-rc1
    • 用一个或多个文件指定资源:-f file1 -f file2 -f file<#>
    • 使用 YAML 而不是 JSON, 因为 YAML 对用户更友好, 特别是对于配置文件。 例子:kubectl get -f ./pod.yaml
  • flags: 指定可选的参数。例如,可以使用 -s 或 --server 参数指定 Kubernetes API 服务器的地址和端口。

# Node

# 列举集群节点

kubectl get nodes
1
[root@k8s-master changxie]# kubectl get nodes
NAME         STATUS   ROLES                  AGE     VERSION
k8s-master   Ready    control-plane,master   2d22h   v1.23.6
k8s-node1    Ready    <none>                 2d22h   v1.23.6
k8s-node2    Ready    <none>                 2d22h   v1.23.6
1
2
3
4
5

所有节点都能够显示出来,并且都处于 Ready 状态。

# 列举有关节点的详细信息

查看所有节点详细信息

kubectl describe node
1

查看指定节点详细信息

kubectl describe node "k8s-master"
1
kubectl get node "k8s-master" -o yaml
1

# Pod

# 列举资源信息

kubectl get pod
1
[root@k8s-master changxie]# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
editor-8pnlb             1/1     Running   0          47h
editor-kb97t             1/1     Running   0          47h
nginx-85b98978db-8l9gk   1/1     Running   0          2d22h
1
2
3
4
5
kubectl describe pod
1

# 列举指定资源的详细信息

kubectl get pod "editor-8pnlb" -o yaml
1
kubectl describe pod "editor-8pnlb"
1
上次更新: 2023/12/27