Kubernetes Kubectl常用命令
Basic Commands
| 命令 | 描述 |
|---|---|
| create/apply | 从文件或stdin创建资源 |
| expose | 为deployment、pod创建service |
| run | 在集群中运行指定的镜像 |
| set | 在对象上设置一个specific |
| get | 最基本的查询命令 可以get一切资源信息 |
| explain | 查看资源定义,如 kubectl explain replicaset |
| edit | 使用系统编辑器编辑资源 kubectl edit deploy/foo |
| delete | 删除指定资源,支持文件名、资源名、label selector。kubectl delete po -l foo=bar |
Deploy Commands
| 命令 | 描述 |
|---|---|
| rollout | Deployment、DaemonSet的升级过程管理 查看状态、操作历史、暂停升级、恢复升级、回滚 |
| rolling-update | 客户端滚动升级,仅限ReplicationController |
| scale | 修改Deployment、ReplicaSet、ReplicationController,Job的实例数 |
| autoscale | 为Deployment、ReplicaSet、ReplicationController配置自动伸缩规则,依赖heapster和hpa |
Cluster Management Commands
| 命令 | 描述 |
|---|---|
| certificate | 修改证书资源 |
| cluster-info | 查看集群信息 |
| top | 查看资源占用率 依赖heapster |
| cordon | 封锁。标记节点为unschedulable |
| uncordon | 解封。标记节点为schedulable |
| drain | 驱逐节点上的应用,准备下线维护 |
| taint | 污染。修改节点taint标记 |
Troubleshooting and Debugging Commands
| 命令 | 描述 |
|---|---|
| describe | 查看资源详情 |
| logs | 查看pod内的容器日志 |
| attach | attach到pod内的一个容器 |
| exec | 在指定的容器内执行命令 |
| port-forward | 为pod创建本地端口映射 |
| proxy | 为kubernetes API server创建代理 |
| cp | 容器内外、容器间文件拷贝 |
Advanced Commands
| 命令 | 描述 |
|---|---|
| apply | 从文件或者stdin创建、更新资源 |
| patch | 使用Strategic merge patch语法更新对象的某些字段 |
| replace | 从文件或者stdin更新资源 |
| convert | 在不同API版本之间转换对象定义 |
Settings Commands
| 命令 | 描述 |
|---|---|
| label | 给资源设置label |
| annotate | 给资源设置annotation |
| completion | 获取shell自动补全脚本 支持bash和zsh |
Others Commands
| 命令 | 描述 |
|---|---|
| api-versions | 打印服务器上支持的API版本 |
| config | 修改kubectl配置 kubeconfig文件 |
| help | 帮助文档 |
| version | 查看客户端和server端的k8s版本 |
Kubectl实用技巧
Kubectl命令助记
查看资源缩写
kubectl api-resourceskubectl describe配置kubectl自动完成
source <(kubectl completion bash)重启Deployment
1 | kubectl patch deployment <deployment-name> \ |
Kubectl生成yaml
用run命令生成
kubectl run --image=nginx my-deploy -o yaml --dry-run > my-deploy.yaml用get命令生成
kubectl get statefulset/foo -o=yaml --export > new.yamlPod亲和性下面的字段拼写忘记了
kubectl explain pod.spec.affinity.podAffini
