k8s-1 常用命令

一 概述

[root@m ~]# kubectl --help
kubectl controls the Kubernetes cluster manager.

 Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/

Basic Commands (Beginner):
  create         从文件或标准输入创建资源。
  expose         使用 replication controller, service, deployment 或者 pod 并暴露它
Kubernetes Service
  run            在集群中运行一个指定的镜像
  set            为 objects 设置一个指定的特征

Basic Commands (Intermediate):
  explain        查看资源的文档
  get            显示一个或更多 resources
  edit           在服务器上编辑一个资源
  delete         通过文件名、stdin、资源和名称或资源和标签选择器删除资源

Deploy Commands:
  rollout        管理资源的rollout
  scale          为 Deployment, ReplicaSet, Replication Controller 或者 Job 设置一个新的副本数量
  autoscale      自动调整一个 Deployment, ReplicaSet, 或者 ReplicationController 的副本数量

Cluster Management Commands:
  certificate    修改 certificate 资源.
  cluster-info   显示集群信息
  top            显示资源(CPU/内存/存储)使用情况。
  cordon         标记 node 为 unschedulable
  uncordon       标记 node 为 schedulable
  drain          污点节点准备维修
  taint          更新一个或者多个 node 上的 taints

Troubleshooting and Debugging Commands:
  describe       显示一个指定 resource 或者 group 的 resources 详情
  logs           输出容器在 pod 中的日志
  attach         Attach 到一个运行中的 container
  exec           在一个 container 中执行一个命令
  port-forward   将一个或多个本地端口转发到一个pod
  proxy          运行一个 proxy 到 Kubernetes API server
  cp             复制 files 和 directories 到 containers 和从容器中复制 files 和 directories.
  auth           检查授权

Advanced Commands:
  diff           将实际版本与可能应用的版本进行比较
  apply          通过文件名或标准输入流(stdin)对资源进行配置
  patch          使用 strategic merge patch 更新一个资源的 field(s)
  replace        通过 filename 或者 stdin替换一个资源
  wait           实验性:在一个或多个资源上等待特定条件。
  convert        在不同的 API versions 转换配置文件
  kustomize      从目录或远程url构建kustomization目标。

Settings Commands:
  label          更新在这个资源上的 labels
  annotate       更新一个资源的注解
  completion     Output shell completion code for the specified shell (bash or zsh)

Other Commands:
  api-resources  在服务器上打印支持的API资源
  api-versions   在服务器上以“group/version”的形式打印支持的API版本
  config         修改 kubeconfig 文件
  plugin         提供与插件交互的实用程序。
  version        输出 client 和 server 的版本信息

Usage:
  kubectl [flags] [options]
使用“kubectl <command> --help”获取有关给定命令的更多信息。
使用“kubectl options”作为全局命令行选项列表(适用于所有命令)[root@m ~]# 

二 常用命令使用说明

1,create

根据资源清单来创建资源,如果再次运行该命令,则会抛出错误,因为资源名称在名称空间中应该是唯一的。

[root@m nginx_pod]# kubectl create -f nginx_pod.yml 
pod/nginx-pod created
[root@m nginx_pod]# kubectl get pod
NAME        READY   STATUS    RESTARTS   AGE
nginx-pod   1/1     Running   0          9s
[root@m nginx_pod]# 

2,apply

将资源清单配置应用于资源。如果资源不存在,那么它将被创建。如果资源存在,则会更新。

kubectl apply -f nginx_pod.yml 

3,delete

# 根据资源清单删除资源
kubectl delete -f nginx_pod.yml 

# 删除所有pod
kubectl delete pods --all

# 根据pod名称删除指定的pod
kubectl delete pod pod名称

4,get

# 获取名称空间列表
kubectl get ns

# 获取指定名称空间下的pod
kubectl get pod -n kube-system

# 获取所有名称空间下的pod
kubectl get pod --all-namespaces

# 获取各种类型的资源
kubectl get ns [-o wide]
kubectl get svc [-o wide]
kubectl get deployment [-o wide]
kubectl get nodes [-o wide]

5,exec

exec命令同样类似于docker的exec命令,为在一个已经运行的容器中执行一条shell命令,如果一个pod容器中,有多个容器,需要使用-c选项指定容器。

kubectl exec pod名称 [-c 容器名称] [-n 名称空间] -it /bin/bash

6,cp

# 将容器内的文件复制到宿主机
kubectl cp pod名称:/容器内路径/xxx.log /宿主机路径/xxx.log
# 如果容器不在默认的名称空间下,pod中有多个容器,则需要指定名称空间和容器名称
kubectl cp -c 容器名称 名称空间/pod名称:/容器内路径/xxx.log /宿主机路径/xxx.log

# 将文件从宿主机复制到容器内部
kubectl cp /宿主机路径/xxx.log pod名称:/容器内路径/xxx.log
# 将文件夹复制到默认名称空间下指定pod名称的默认第1个容器中
kubectl cp /宿主机路径/文件夹 pod名称:/容器内路径/文件夹
# 将文件夹复制到默认名称空间下指定pod名称下指定容器中
kubectl cp /宿主机路径/文件夹 pod名称:/容器内路径/文件夹 -c 容器名称
# 将文件夹复制到指定名称空间指定pod指定容器中
kubectl cp /宿主机路径/文件夹 名称空间/pod名称:/容器内路径/文件夹 [-c 容器名称]

7,logs

kubectl logs [-f] [-p pod名称或type/name] [-c 容器名称]  

8,describe

kubectl describe pod pod名称 [-n 名称空间]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值