本文最后更新于:2023年12月5日 晚上
kubectl 是 kube-apiserver 的命令行客户端,就像 redis-cli 是 redis 的命令行客户端
安装 kubectl
https://kubernetes.io/zh/docs/tasks/tools/install-kubectl/
https://developer.aliyun.com/mirror/kubernetes?spm=a2c6h.13651102.0.0.3e221b11Qo8aZk
kubectl 详解
https://kubernetes.io/zh/docs/reference/kubectl/overview/
https://kubernetes.io/docs/reference/kubectl/overview/
command:指定要对一个或多个资源执行的操作,例如 create
、get
、describe
、delete
TYPE:指定资源类型。不区分大小写, 可以指定单数、复数或缩写形式。例如,以下命令输出相同的结果:
NAME:指定资源的名称。名称区分大小写。 如果省略名称,则显示所有资源的详细信息
flags:指定可选的参数。例如,可以使用 -s 或 -server 指定 Kubernetes API 服务器的地址和端口
从命令行指定的参数优先级最高
基本命令
get
create
expose
set ★★★
edit
run
explain
使用 kubectl explain
查看配置清单怎么写,例如:使用 kubectl explain deployment
查看创建 deployment 资源的配置清单怎么写,使用 kubectl explain namespace
查看创建 namespace 资源的配置清单怎么写,等等
delete
部署命令
参考:回滚 Deployment
rollout ★★★
scale
autoscale
集群管理命令
cordon
uncordon
故障处理和调试命令
describe ★★★
经常用此命令查看 pod 的日志
pod 没有启动的原因排错:
- kubectl get
- kubectl describe
- kubectl logs
- 到 pod 所在的宿主机去看宿主机的系统日志
logs
exec
注意:进入容器只是查看信息,不要修改配置,如果需要修改配置,只能重新打镜像
高级命令
diff
apply ★★★
patch
修改、更新资源字段,支持 JSON 和 YAML 格式
replace
使用配置文件或 stdin 来替换当前资源
create
、apply
、replace
的区别:
create
:指定一个动作,新建资源
replace
:指定一个动作,替换资源
apply
:指定目标状态,不关心实现的过程
相当于:
wait
kustomize
设置命令
其他命令
输出选项
Sorting list objects
示例:常用操作
示例:创建和使用插件
资源