kubectl是用于控制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 -