K8s-->common命令,掌握这些基础的/常用到的,每天进步一丢丢

一、创建资源

1.一般创建资源会有两种方式:通过文件或者命令创建
通过文件创建一个Deployment
kubectl create -f /path/to/deployment.yaml
cat /path/to/deployment.yaml | kubectl create -f -
另一种方式
kubectl apply -f /path/to/deployment.yaml
2.通过kubectl命令直接创建
kubectl run nginx_app --image=nginx:1.9.1 --replicas=3 
3.更新资源的命令

kubectl edit:相当于先用get去获取资源,然后进行更新,最后对更新后的资源进行apply

kubectl edit deployment/nginx_app

kubectl patch:使用补丁修改、更新某个资源的字段,比如更新某个node

kubectl patch node/node-0 -p '{"spec":{"unschedulable":true}}'
kubectl patch -f node-0.json -p '{"spec": {"unschedulable": "true"}}'

kubectl replace:使用配置文件来替换资源

kubectl replace -f /path/to/new_nginx_app.yaml

二、查看资源

一般命令的格式
kubectl get <resource_type>
获取K8s集群下pod的信息
kubectl get pod
更加详细的信息
kubectl get pod -o wide
指定资源的信息格式【kubectl get 】
kubectl get deployment/nginx_app -o wide
对指定的资源进行格式化输出【json、yaml等】
kubectl get deployment/nginx_app -o json

三、部署命令

部署命令包括资源的运行管理命令、扩容和缩容命令和自动扩缩容命令
1.rollout命令
  • 查看部署状态
--->更新
kubectl set image deployment/nginx_app nginx=nginx:1.9.1
--->查看
kubectl rollout status deployment/nginx_app
  • 暂停/恢复
--->暂停
kubectl rollout pause deployment/nginx_app
--->完成所有的更新操作命令后进行恢复
kubectl rollout resume deployment/nginx_app
  • 回滚
--->查看历史版本信息
kubectl rollout history deployment/nginx_app
--->回滚
kubectl rollout undo deployment/nginx_app
--->指定版本号回滚至指定版本
kubectl rollout undo deployment/nginx_app --to-revision=<version_index>
2.scale命令
  • 扩容
kubectl scale deployment/nginx_app --replicas=5
  • 缩容【小于5(即当前副本数)】
kubectl scale deployment/nginx_app --replicas=3
  • 条件直接限制
kubectl scale --current-replicas=5 --replicas=3 deployment/nginx_app
3.autoscale命令
  • 基于CPU的使用率创建3-10个pod
kubectl autoscale deployment/nginx_app --min=3 --max=10 --cpu_percent=80

四、集群管理命令

1.cordon & uncordon命令
  • 不可调度
kubectl cordon node-0
  • 节点维护使用,驱逐所有pods
kubectl drain node-0
  • 维护完成后,可再设置该节点为可调度
kubectl uncordon node-0
2.taint命令

【仅能作用于节点资源,通常会结合pod的tolerations字段结合使用】

  • 设置taint
kubecl taint nodes node-0 key1=value1:NoSchedule
  • 移除taint
kubecl taint nodes node-0 key1:NoSchedule-

五、其他补充

  • 简单进行故障定位
kubectl describe deployment/nginx_app
kubectl logs nginx_pods
kubectl exec nginx_pod -c nginx-app <command>
  • 查看K8s支持的完整资源列表
kubectl api-resources
  • 查看K8s支持的api版本
kubectl api-versions
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值