Kubernetes 常用命令总结

获取所有命名空间上的pod
kubectl get pod -o wide --all-namespaces

查看pod IP时使用
kubectl get services

查看dsecp-sso-server-w5tx2 日志
kubectl describe --namespace=default po dsecp-sso-server-w5tx2

通过yaml文件创建:
kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete)
kubectl apply -f xxx.yaml(创建+更新,可以重复使用)

通过yaml文件删除:
kubectl delete -f xxx.yaml

查看kube-system namespace下面的pod/svc/deployment 等等(-o wide 选项可以查看存在哪个对应的节点)
kubectl get pod/svc/deployment -n kube-system

查看所有namespace下面的pod/svc/deployment等等
kubectl get pod/svc/deployment --all-namcpaces

重启pod(无法删除对应的应用,因为存在deployment/rc之类的副本控制器,删除pod也会重新拉起来)
kubectl get pod -n kube-system

查看pod描述:
kubectl describe pod XXX -n kube-system

查看pod 日志 (如果pod有多个容器需要加-c 容器名)
kubectl logs xxx -n kube-system

删除应用(先确定是由说明创建的,再删除对应的kind):
kubectl delete deployment xxx -n kube-system

根据label删除:
kubectl delete pod -l app=flannel -n kube-system

扩容
kubectl scale deployment spark-worker-deployment --replicas=8

导出proxy
kubectl get ds -n kube-system -l k8s-app=kube-proxy -o yaml>kube-proxy-ds.yaml


重启kubelet服务
systemctl daemon-reload
systemctl restart kubelet

修改启动参数
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

查看集群信息
kubectl cluster-info

查看各组件信息
kubectl get componentstatuses

查看kubelet进程启动参数
ps -ef | grep kubelet

查看日志:
journalctl -u kubelet -f

设为不可调度状态:
kubectl cordon node1

将pod赶到其他节点:
kubectl drain node1

解除不可调度状态
kubectl uncordon node1

master运行pod
kubectl taint nodes master.k8s node-role.kubernetes.io/master-

master不运行pod
kubectl taint nodes master.k8s node-role.kubernetes.io/master=:NoSchedule




k8s中的pod有几种状态?
答:Pending、Running、Succeeded、Failed、Unknown、evicted、PodScheduled、initialized、ready、Unschedulable、Terminating。

Pending:创建pod的请求已经被k8s接受,但是容器并没有启动成功,可能处于:写数据到etcd,调度、pull镜像,启动容器这四个阶段中的任何一个阶段,pending伴随的事件通常会有:ADDED、Modified这两个事件。

Running:pod已经绑定到node节点,并且所有的容器已经启动成功,或者至少有一个容器在运行,或者在重启中。

succeeded:pod中的所有的容器已经正常的自动退出,并且k8s永远不会自动启动这些容器,一般会是在部署job的时候会出现。

failed:pod中的所有容器已经终止,并且至少有一个容器已经终止失败(状态码非0退出或被系统停止)。

Unknown:由于某种原因,API无法获取pod的状态,通常是由于与pod的主机通信错误。

eviction:驱赶的意思,当节点出现异常,k8s会有对应的驱逐机制驱逐该节点上的pod,多见于资源不足时导致的驱赶。

PodScheduled:pod正处于调度中,刚开始调度的时候,host IP还没绑定上,持续调度后,有合适的节点就会绑定hostip,然后更新etcd数据。

initialized:pod中的所有初始化容器已经启动完毕。

Ready:pod中的容器可以提供服务了。

Unschedulable:pod不能被调度,没有合适的节点。

Terminating:pod被删除,处于优雅退出阶段。

最常见的11种kubectl资源类型
pods (po)
nodes(no)
deployments (deploy)
replicasets(rs)
daemonsets(ds)
statefulsets(sts)
jobs
cronjobs(cj)
services(svc)
persistentvolumes(pv)
persistentvolumeclaim (pvc)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值