kubernetes命令详解(kubectl)

kubectl是一个最常用的工具之一,是apiserver的客户端,向apiserver发起http请求来操纵这些资源(即对资源的curd)

kubectl命令大致分为8各种类

命令表格来自于《kubernetes源码剖析》
1.Basic Commands(Beginner)基础命令(初级)

kubectl create 通过yaml/json 文件或者标准输入创建一个资源对象,支持很多子命令 例如namespace pod deployment service等
kubectl expose 将json/yaml文件中定义的资源对象的端口暴露给新的service资源对象
kubectl run 创建并运行一个或多个容器镜像
kubectl set 配置资源对象设置特定功能

2.Basic Commands(Intermediate)基础命令(中级)

kubectl explain 查看资源对象的详细信息(一般用一编写yaml的时候做一个提示 kubectl explain deployment 会出现deployment下面可以写的字段以及字段属性还有 可以逐级使用)
kubectl get 获取一个或多个资源对象的信息
kubectl edit 使用默认编辑器编辑服务器上定义的资源对象
kubectl delete 通过json/yaml文件、标准舒服、资源名称或标签选择器来删除资源

3.DeployCommands 部署命令

kubectl rollout 资源管理对象的部署
kubectl rollout-update 使用rc(replication controller)来做滚动恩星
kubectl scale 扩容或者缩容deployment replicaset replication contrller等
kubectl autoscale 自动设置在k8s系统中运行的pod数量(水平自动伸缩)

4.Cluster Manager Commands 集群管理命令

kubectl cetificate 修改证书资源对象
kubectl cluster-info 查看集群信息
kubectl top 显示资源 cpu 内存 存储使用情况
kubectl cordon 标记节点为不可调度
kubectl uncordon 指定节点为可调度
kubectl drain 安全的驱逐节点的所有pod
kubectl taint 将一个或多个节点设置为污点

5.Troubleshooting adn Debugging Commands 故障排查和调试命令

kubectl describe 显示一个或多个资源对象的详细信息
kubectl logs 输出pod资源对象中一个容器的日志
kubectl attach 连接到一个运行的容器
kubectl exec 在指定容器内执行命令
kubectl port-forward 将本机指定端口映射到pod资源对象的端口
kubectl proxy 将本机指定端口映射到kube-apiserver
kubectl cp 用于pod与主机交换文件
kubectl auth 检查验证

6. Advanced Commands 高级命令

kubectl diff 对比本地json/yaml文件与kube-apiserver中运行的配置文件是否有差异
kubectl apply 通过json/yaml文件 标准输入对资源进行配置更新或者创建
kubectl patch 通过patch方式修改资源对象字段(补丁式)
kubectl replace 通过json/yaml文件或者标准输入来替换资源对象
kubectl wait 在一个或者多个资源上等待条件达成
kubectl convert 转换json/yaml文件为不同的资源版本
kubectl kustomize 定制kubernetes配置

7.Settings Commands 设置命令

kubectl label 增删改资源的标签
kubectl annotate 更新一个或者多个资源对象的注释(annotaion)信息
kubectl completion 命令自动补全

8.Other Commands 其他命令

kubectl config 管理kubeconfig配置文件
kubectl plugin 运行命令行插件功能
kubectl version 查看客户端服务端的系统版本信息
kubectl api-versions 列出当前kubernetes系统支持的资源组和资源版本表现形式为/
kubectl api-resources 列出当前kubernetes系统支持的resource资源列表
kubectl options 查看支持的参数列表

说实话命令还是非常多的尤其是还有很多子参数,记住所有的命令不现实,那么就收藏需要用的时候翻开针对某一个命令或者某一个需求google进行单工能命令详解,如果有没有写出来的可以私聊或者留言 笔者会不断补充

你可能感兴趣的:(kubernetes,#,命令行参数,kubernetes源码解析)