kubernetes常用操作命令

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: kubernetes 命令记录操作基本命令:通过yaml文件创建:kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete)kubectl apply -f xxx.

kubernetes 命令记录

操作基本命令:

通过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
  导出kube-dns
  kubectl get deployment -n kube-system -l k8s-app=kube-dns -o yaml >kube-dns-dp.yaml
  kubectl get services -n kube-system -l k8s-app=kube-dns -o yaml >kube-dns-services.yaml
  导出所有 configmap
  kubectl get configmap -n kube-system -o wide -o yaml > configmap.yaml

复杂操作命令:

  删除kube-system 下Evicted状态的所有pod:

  kubectl get pods -n kube-system |grep Evicted| awk '{print $1}'|xargs kubectl delete pod -n kube-system

以下为维护环境相关命令:

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

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

查看集群信息

kubectl cluster-info
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

查看各组件信息

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

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
7月前
|
运维 Kubernetes 监控
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
2136 0
|
7月前
|
Kubernetes 应用服务中间件 API
Kubernetes(K8S)命令指南
Kubernetes(K8S)命令指南
250 0
|
Kubernetes 调度 数据中心
K8S常用命令
K8S常用命令
178 0
|
7月前
|
运维 Kubernetes 容器
K8S运维命令必备kubectl命令总结
K8S运维命令必备kubectl命令总结
102 3
|
7月前
|
iOS开发 MacOS Windows
|
2月前
|
缓存 Kubernetes 应用服务中间件
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
|
4月前
|
Kubernetes Shell Docker
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
在K8S中,如果容器没有bash命令,如何进⼊容器排查问题?
|
4月前
|
Kubernetes Docker 容器
Kubernetes(K8S) 常用命令
Kubernetes(K8S) 常用命令
54 0
|
4月前
|
Kubernetes 监控 Shell
掌握Kubernetes故障排除技巧:kubectl命令的基本指南
以上是使用 `kubectl` 进行故障排除的一些基本指南。熟悉这些命令能够帮助您快速定位和解决在Kubernetes集群中遇到的问题。在实际使用中,您可能还需要结合其他工具和资源,如官方文档、社区论坛以及第三方监控和日志服务来进行更深入的故障诊断和排除。
101 0
|
6月前
|
Shell Docker 容器
深入探索Docker容器管理:常用命令一览(1)
深入探索Docker容器管理:常用命令一览(1)
108 2