k8s 命令

1、get

kubectl get nodes

kubectl get rc,namespace

kubectl get pods,svc              #service 简写 svc

[(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...]

kubectl get po mysql -o wide      #wide能够看到IP  ,po 是pods 的简写

2、describe获得的是resource集群相关的信息

kubectl describe po mysql

3、create 根据yaml 进行编排

kubectl create -f  *.yaml

4、replace命令用于对已有资源进行更新、替换

 kubectl replace -f rc-nginx.yaml

5、patch 如果一个容器已经在运行,这时需要对一些容器属性进行修改,又不想删除容器,或不方便通过replace的方式进行更新。kubernetes还提供了一种在容器运行时,直接对容器进行修改的方式,就是patch命令。

kubectl patch pod rc-nginx-2-kpiqt -p '{"metadata":{"labels":{"app":"nginx-3"}}}'

6 edit

kubectl edit po rc-nginx-btv4j     # 使用edit直接更新前面创建的pod的, 和下面一样

kubectl get po rc-nginx-btv4j -o yaml >> /tmp/nginx-tmp.yaml
vim /tmp/nginx-tmp.yaml
/*do some changes here */
kubectl replace -f /tmp/nginx-tmp.yaml

7、delete

kubectl delete -f rc-nginx.yaml

kubectl delete po rc-nginx-btv4j

kubectl delete po -lapp=nginx-2

8、apply命令提供了比patch,edit等更严格的更新resource的方式。通过apply,用户可以将resource的configuration使用source control的方式维护在版本库中。每次有更新时,将配置文件push到server,然后使用kubectl apply将更新应用到resource。kubernetes会在引用更新前将当前配置文件中的配置同已经应用的配置做比较,并只更新更改的部分,而不会主动更改任何用户未指定的部分。
apply命令的使用方式同replace相同,不同的是,apply不会删除原有resource,然后创建新的。apply直接在原有resource的基础上进行更新。同时kubectl apply还会resource中添加一条注释,标记当前的apply。类似于git操作。

9 logs命令用于显示pod运行中log ,和docker 类似

kubectl logs rc-nginx

10 rolling-update滚动更新,对于已经部署并且正在运行的业务,rolling-update提供了不中断业务的更新方式。一个pod,一个pod 的进行替换

11scale 扩缩容

kubectl scale rc rc-nginx-3 —replicas=4

12 autoscale 根据pod 负载进行自动扩缩容(指定最小和最大scale)

kubectl autoscale rc rc-nginx-3 —min=1 —max=4

13 exec命令同样类似于docker的exec命令,为在一个已经运行的容器中执行一条shell命令,如果一个pod容器中,有多个容器,需要使用-c选项指定容器。

14 run 相当于docker 的run ,直接启动一个镜像

15 cordon(标记为不可调度) drain(pod平滑迁出该节点) uncordon (解除不可调度),保证维护节点时,平滑的将被维护节点上的业务迁移到其他节点上,保证业务不受影响。

kubectl cordon node1

kubectl drian node1

kubectl uncordon node1

猜你喜欢

转载自blog.csdn.net/qq_42006894/article/details/85987089