kubectl是用于控制Kubernetes集群的命令行工具

Kubernetes管理命令和Pod详解_Kubernetes

-1)   集群信息管理命令

help

用于查看命令及子命令的帮助信息

cluster-info

显示集群的相关配置信息

api-resources

查看当前服务器上所有的资源对象

api-versions

查看当前服务器上所有资源对象的版本

config

管理当前节点上的认证信息

# kubectl help version
# kubectl cluster-info 
# kubectl api-resources 
# kubectl config get-contexts    查看当前认证使用的用户及证书
# kubectl config view            查看详细配置

-2)   Pod管理命令1

子命令

说明

备注

run

创建 Pod 资源对象

创建即运行,没有停止概念

get

查看资源对象的状态信息

常用参数: -o 显示格式

create

创建资源对象

不能创建 Pod

describe

查询资源对象的属性信息

 

logs

查看容器的报错信息

常用参数: -c 容器名称

# kubectl get pods
# kubectl get pods -o name  查看资源对资源对象名称
# kubectl get pods -o wide  查看资源对象运行节点的信息
# kubectl get pod myweb -o yaml 查看某资源对象的详细信息
# kubectl get namespaces     查看名称空间
# kubectl -n kube-system get pods 查看名称空间内的Pod信息
----------------------------------
# kubectl create namespace work   创建名称空间
# kubectl -n work run myhttp --image=myos:httpd  在名称空间创建Pod
常用于排错
# kubectl -n work describe pod myhttp   # 查看资源对象的配置信息
kubectl -n work logs myhttp             # 查看容器日志

-3)   Pod管理命令2

子命令

说明

备注

exec

在某一个容器内执行特定的命令

可选参数: -c 容器名称

cp

在容器和宿主机之间拷贝文件或目录

可选参数: -c 容器名称

delete

删除资源对象

可选参数: -l 标签

# kubectl exec -it myweb -- ls        # 在容器内执行命令
# kubectl exec -it myweb -- bash        # 进入容器命令行

# kubectl cp myweb:/etc/yum.repos.d /root/aaa   # 与容器进行文件或目录传输
# kubectl delete pods myweb 
# kubectl delete namespaces work 
# kubectl -n work delete pods --all

-4)   资源清单文件

[root@master ~]# vim myweb.yaml
---
kind: Pod
apiVersion: v1
metadata:
  name: myweb
spec:
  containers:
  - name: nginx
    image: myos:nginx
status: {}
管理命令

子命令

说明

备注

create

创建文件中定义的资源

支持指令式和资源清单文件配置

apply

创建(更新)文件中定义的资源

只支持资源清单文件(声明式)

delete

删除文件中定义的资源

支持指令式和资源清单文件配置

replace

更改/替换资源对象

强制重建 --force

# kubectl create -f myweb.yaml     # 创建资源对象
# kubectl delete -f myweb.yaml
# kubectl apply -f myweb.yaml      #创建+更新
# kubectl replace --force -f myweb.yaml  # 强制重建资源对象

# 拓展提高
# 与 kubectl apply -f myweb.yaml 功能相同
# cat/sed myweb.yaml |kubectl apply -f -