kubeclt常用命令整理

kubeclt常用命令整理

查看类命令

kubectl version

#查看资源缩写名字

kubectl api-resources

查看集群信息:主节点,dns:ip

kubectl cluster-info

node 节点查看日志

journalctl -u kubelet -f

或者直接查看日志

cat /var/log/messages

这里有创建pod的相关日志,如果pod还没创建完成 kubectl无法获取日志,只能通过这里查看。

kubectl get <resource> [-o wide | json | yaml] [-n namespace]

描述某个资源的详细信息

kubectl describe deployment nginx-cc -n kube-public
kubectl describe pod nginx-cc-5d7d5c6b54 -n kube-public

#如果一些资源没有正常启动,是无法查看日志的!!!!!

kubectl logs nginx-65fc77987d-wh9fx

新建/删除类命令

创建命名空间 (app)

kubectl create ns app        #delete

创建deployment

kubectl create deployment nginx-wl --image=nginx -n kube-public   #delete
kubectl run nginx --image=nginx:1.14 --port=80 --replicas=3

kubectl delete deployment/nginx

#有些在摧毁的pod,卡住了,不能delete,需要强制删除

kubectl delete pod  --force --grace-period=0  mysql5738-76f755695-bqg6m

横向纵向 弹性变化

扩容缩容

kubectl scale deployment nginx-cc --replicas=2 -n kube-public  #扩容
kubectl scale deployment nginx-cc --replicas=1 -n kube-public  #缩容

升级镜像:会自动一个个回滚-------灰度发布。
#nginx第一个是deployment的名字,
#nginx-xxx为pod子容器的名字,使用"kubectl describe pod Pod名"就可查询到。容器标签下,第一行的名字就是!!!!!

kubectl set image deployment nginx nginx-xxx=nginx:1.15
kubectl set image deployment mysql5738 mysql5738=c104.cheng.com/cheng/mysql:5.7.381

###curl -I http://192.168.111.173:32238,可以升级nigix,然后看版本号确定效果。

#实时查看变化的状态

kubectl get pods -l pod=myapp -w 
kubectl get deployment deployment -w

回滚:

`kubectl rollout history deployment/nginx             #查看所有的版本,有版本号`显示
kubectl rollout undo deployment/nginx --to-revision=2
kubectl rollout undo deployment/nginx    #回滚上一个版本,再次回滚到了现在的版本,只能这两个版本切换!!!

##驱赶node上的所有pod

kubectl drain <node name>

##通知可以来这个节点:

kubectl uncordon <node name>

cordon 停止调度

kubectl cordon <node name>

影响最小,只会将node调为SchedulingDisabled
之后再发创建pod,不会被调度到该节点
旧有的pod不会受到影响,仍正常对外提供服务

--ignore-daemonsets 驱逐 pod 时忽略 daemonset
--delete-local-data 驱逐 pod 时删除 pod 的临时数据,该参数不会删除持久化数据

################################
上面也叫 陈述式管理
也有一种声明式管理:
################################

声明式管理

1.适合于对资源的修改操作
2.声明式资源管理方法依赖于资源配置清单文件对资源进行管理资源配置清单文件有两种格式: yaml (人性化,易读),json (易于api接口解析)
3.对资源的管理,是通过事先定义在统–资源配置清单内,再通过陈述式命令应用到k8s集群里
4.语法格式:

kubectl create/app1y/delete -f xxxx.yaml

资源的的管理:

#进入容器内部

kubectl exec -it mysql5.7.38-66b756db89-ss72l  bash       

#看内对应资源的所有支持标签,查到的标签 + 点+名字继续看下面的标签!

kubectl explain deployment.spec.template.spec.containers |grep \<*\>

kubectl edit pv 名字 在线编辑 参数,及删除强制删除绑定的pv
而如果要强制删除PV则需要编辑PV并删除PV中的ffinalizers属性来强制删除PV

绑定的pvc可以直接删除。但是pv就变成了Released 释放中,此时重新创建pvc也不会绑定,需要在线删除pv的claimRef参数,让其变成Available状态

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChengRuoFei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值