0%
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命令助记
1 2
| kubectl patch deployment <deployment-name> \ -p '{"spec":{"template":{"spec":{"containers":[{"name":"<container-name>","env":[{"name":"RESTART_","value":"'$(date +%s)'"}]}]}}}}'
|
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.yaml
Pod亲和性下面的字段拼写忘记了
kubectl explain pod.spec.affinity.podAffini
