重庆给商家企业做网站,网页平面设计培训班,网站备案后台,百度竞价广告代理一、基础命令
1.1 get
查询集群所有资源的详细信息#xff0c;resource包括集群节点、运行的Pod、Deployment、Service等。 1.1.1 查询Pod kubectl get po -o wid 1.1.2 查询所有NameSpace kubectl get namespace 1.1.3 查询NameSpace下Pod kubectl get po --all-namespaces…一、基础命令
1.1 get
查询集群所有资源的详细信息resource包括集群节点、运行的Pod、Deployment、Service等。 1.1.1 查询Pod kubectl get po -o wid 1.1.2 查询所有NameSpace kubectl get namespace 1.1.3 查询NameSpace下Pod kubectl get po --all-namespaces 1.1.4 查询NameSpace下所有Pod标签 kubectl get po --show-labels 1.1.5 以yaml输出pod/json信息 kubectl get po podname -o yaml kubectl get po podname -o json 1.2 create
直接kubectl create -f filename即可创建文件内定义的resource。 kubectl create -f filename 1.3 expose 将资源如: Pod、Service、Deployment等公开为一个新的Service。 kubectl expose deployment deployname --port81 --typeNodePort --target-port80 --nameservice-name 1.4 run 在集群中运行一个特定的镜像。 kubectl run deployname --imagenginx:latest 在创建时指定运行的命令 kubectl run deployname -imagebusybox --command -- ping baidu.com 1.5 set 在对象上设置特定功能
将一个deployname的image改为镜像为1.0的image kubectl set image deploy deployname containernamecontainername:1.0 1.6 edit
edit提供了另一种更新resource源的操作。 kubectl edit po po-nginx-btv4j 1.7 explain 查看文档或参考资料。 kubectl explain pod 1.8 delete 根据 resource名或label删除resource。 kubectl delete po podname --now kubectl delete -f nginx.yaml kubectl delete deployment deployname 二、部署命令
2.1 *rolling-update* 滚动更新启动一个新的Pod启动成功后删除旧的Pod直到升级完毕。 kubectl rolling-update poname -f newfilename kubectl rolling-update poname -imageimage:v2 升级回滚 kubectl rolling-update poname -rollback 2.2 rollout 管理资源的发布
查看指定资源的部署状态 kubectl rollout status deployment/deployname 查看指定资源的发布历史 kubectl rollout history deployment/deployname 回滚指定资源默认回滚至上一个版本 kubectl rollout undo deployment/test-nginx 2.3 scale 副本扩容或缩容 kubectl scale deployment deployname --replicasnewnumber 2.4 autoscale
自动扩缩容设置 kubectl autoscale deployment deployname --minminnumber --maxmaxnumber 三、集群管理命令
3.1 cordon 标记Node不可调度 kubectl cordon nodename 3.2 drain 将Node上的Pod迁移 kubectl drain nodename --ignore-daemonsets --ignore-emptydir 3.3 uncordon* 解除Node不可调度 kubectl uncordon nodename 3.4 cluster-info 查看在集群中运行的插件 kubectl cluster-info 查看详细信息 kubectl cluster-info dump 四、故障诊断和调试命令
4.1 describe
descirbe与get类似但不支持-oget查询的是配置信息describe查询的是集群信息(包括状态)。 4.2 logs
输出Pod内日志如果要获得tail -f的方式需使用-f选项。 kubectl logs -f podname 4.3 exec
与docker的exec指令类似。如果一个Pod中多个容器需要-c指令指定容器。 kubectl exec -it podname bash kubectl exec -it podname -c containername bash 4.4 *port-forward*
转发一个或多个本地端口至一个pod。示例本地端口5000映射Pod端口 kubectl port-forward podname 5000:6000 4.5 *proxy*
运行一个proxy到Kubernetes api server。示例控制节点开启HTTP Rest接口 kubectl proxy -accept-hosts’.*’ -port8001 -address’0.0.0.0’ 4.6 cp 拷贝文件或目录到容器 cp filename newfilename 4.7 auth
检查授权
4.8 *attach* 查看Pod内容器运行日志类似-logs 指令多个容器需要指定容器名称。 kubectl attach podname -c containername 五、高级指令
5.1 replace
对资源进行更新如更新替换pod。 kubectl replace -f filename 5.2 apply 使用yaml中变更的配置增量资源。apply不会删除原有resource然后创建新的。apply直接在原有resource的基础上进行更新。同时kubectl apply还会在resource中添加一条注释标记当前的apply类似于git操作。 kubectl apply -f 5.3 patch
对容器属性修改但是不删除容器直接对容器修改。 kubectl patch pod podname -p {metadata:{labels:{app:nginx2}}} 六、设置命令
6.1 label 更新资源上的标签 kubectl label pods my-pod new-labelnewlabel 6.2 annotate 更新资源上的注释 kubectl annotate pods my-pod icon-urlhttp://…… 6.3 completion 用于实现kubectl工具自动补全