K8s常用命令

一、精简K8s常用命令

  • 查看版本kubectl  version
  • 显示集群信息       kubectl cluster-info
  • 查看集群中有几个Node    kubectl get nodes
  • 查看pod       kubectl  get pods
  • 查看pod详细信息 添加 -o wide 参数,可以看到pod在node上运行

kubectl  get –o wide pods

  • 运行一个镜像       kubectl run my-nginx --image=nginx --replicas=2 --port=80
  • 查看服务详情信息       kubectl  describe pod my-nginx-379829228-cwlbb
  • 查看已部署    kubectl  get deployments
  • 删除pod       kubectl delete pod my-nginx-379829228-cwlbb
  • 再次查看pod,发现由于replicas机制,pod又生成一个新的

kubectl  get pods

  • 删除部署的my-nginx服务。彻底删除pod   kubectl delete deployment my-nginx

二、K8S之创建、查询、删除pod

在K8s上创建一个pod Container容器有两种方式:run和create

Run方式创建

Kubectl run Container名称   --image=镜像IP地址/端口号/镜像名称  --replicas=1  --port=8000

Create方式创建

使用kubectl run 方式 在设定很复杂的时候需要非常长的一条语句,容易出错。所以更多场景下使用yaml文件方式创建服务

 

  • 创建mysql Container pod

Kubectl  create  -f  yaml文件路径/xxx.yaml

 

  • 查看rc (Replication Contrller)

Kubectl  get  rc

  • 查看pod

Kubectl  get  pod

 

  • 删除mysql Container pod

Kubectl  delect  -f  yaml文件路径/xxx.yaml

 

  • 确认pod是否删除

Kubectl  get  pods

Kubectl  get  rc

 

K8s1.4以后使用Deployment替换Replication Controller

 

1.3版本  kind类型是Replication Controller

 

 

1.4版本kind类型改为 Deployment

 

 

  • 批量yaml文件创建pod

如果有多个yaml文件的时候需要批量创建,那么可以在创建的时候指向yaml文件存在的目录即可,该目录下的所有yaml文件会同时被执行。

Kubectl  create  -f  yaml文件夹

 

  • 确认是否创建成功

Kubectl  get  pods

Kubectl  get  deployments

 

  • 删除多个yaml文件创建的pod

Kubectl  delete  -f  yaml文件夹

三、K8S故障排查

  • 先确认客户端和服务端版本信息

Kubectl  version

 

  • 获取k8s集群信息

Kubectl  get  nodes

 

  • 查询k8s当前本版支持的api-service版本信息

Kubectl api-versions

 

  • 查看namespace 信息

Kubectl  get  namespaces

 

  • 查看node详细信息
  1. 使用get 获取到node的名称和IP地址
  2. Kubectl  describe  node  node的IP地址

 

  • 查看pod详细信息
  1. 使用get 获取到pod的名称
  2. Kubectl  describe  pod  pod的名称

 

  • 查看deployment详细信息
  1. 使用get 获取到deployment的名称
  2. Kubectl  describe  deployment  deployment的名称

 

  • 查看pod 中的log
  1. 使用get 获取到pod的名称
  2. Kubectl  logs  pod的名称

 

EXEC命令用来在容器中执行一条命令

  • 在pod容器执行一条语句
  1. 使用get 获取到pod的名称
  2. Kubectl  exec  pod名称 命令

 

  • 在pod容器执行一条语句
  1. 使用get 获取到pod的名称
  2. Kubectl  exec  –it  pod名称
  3. 在pod容器中执行命令

 

CP命令 pod和外部文件交换

  • 从pod中将文件拷贝出来
  1. Exec进入某个pod。Kubectl  exec  –it  pod名称
  2. 查看拷贝的文件和所在路径
  3. 退出pod。 Exit
  4. 拷贝pod文件:kubectl  cp  pod名称:文件路径/文件  目标路径/文件名称

 

  • 将文件拷贝进pod中
  1. Kubectl  cp  文件名称  pod名称:文件路径/文件

 

Attach命令 类型docker的attach命令。用于取得实时的类似于kuberctl logs 信息

  • attach获取pod的log信息

kubectl  attach  pod名称

 

cluster-info命令 查看整体的全部的信息 使用cluster-info 或者 cluster-info  dump 取出信息

  • cluster-info 查看信息

kubectl  cluster-info

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐