k8s基础命令集合

1、集群信息

bash 复制代码
# 显示k8s客户端和服务器版本
kubectl version

# 显示当前上下文信息
kubectl config current-context

# 切换上下文
kubectl config use-context <context-name>

# 列出所有上下文
kubectl config get-contexts

# 获取集群信息
kubectl cluster-info

2、节点管理

bash 复制代码
# 列出所有节点
kubectl get nodes

# 查看节点详细信息
kubectl describe node <node-name>

3、命名空间管理

bash 复制代码
# 列出所有命名空间
kubectl get namespaces

# 创建命名空间
kubectl create namespace <namespace-name>

# 删除命名空间
kubectl delete namespace <namespace-name>

4、pod管理

bash 复制代码
# 列出所有Pod(默认命名空间)
kubectl get pods

# 列出指定命名空间的Pod
kubectl get pods -n <namespace-name>

# 查看Pod详细信息
kubectl describe pod <pod-name>

# 创建Pod(使用YAML文件)
kubectl apply -f <pod.yaml>

# 删除Pod
kubectl delete pod <pod-name>

# 日志输出Pod
kubectl logs <pod-name>

# 进入Pod容器(类似于SSH)
kubectl exec -it <pod-name> -- /bin/bash

#查看pod的详细信息,包括失败原因
kubectl describe pod kube-flannel-ds-b2wpw -n kube-flannel

#删除失败pod
kubectl delete pod kube-flannel-ds-b2wpw -n kube-flannel

# Kubernetes 的网络插件通常以 DaemonSet 的形式运行在 kube-system 命名空间中。你可以列出所有 Pod 并筛选出网络插件相关的 Pod。
kubectl get pods -n kube-system

#查看这些 Pod 属于哪个 Deployment 或 ReplicaSet
kubectl get pods -n kube-system -o wide

#强制删除pod
kubectl delete pod coredns-66f779496c-wxf7c -n kube-system --force --grace-period=0

5、部署(Deployment)管理

bash 复制代码
# 列出所有部署
kubectl get deployments

# 创建部署(使用YAML文件)
kubectl apply -f <deployment.yaml>

# 更新部署
kubectl apply -f <deployment.yaml>

# 删除部署
kubectl delete deployment <deployment-name>

# 查看部署详细信息
kubectl describe deployment <deployment-name>

# 扩展/缩减部署的Pod数量
kubectl scale deployment <deployment-name> --replicas=<number>

6、服务(Service)管理

bash 复制代码
# 列出所有服务
kubectl get services

# 创建服务(使用YAML文件)
kubectl apply -f <service.yaml>

# 删除服务
kubectl delete service <service-name>

# 查看服务详细信息
kubectl describe service <service-name>

7、配置和秘密(ConfigMap & Secret)

bash 复制代码
# 列出所有ConfigMap
kubectl get configmaps

# 创建ConfigMap(使用YAML文件)
kubectl apply -f <configmap.yaml>

# 删除ConfigMap
kubectl delete configmap <configmap-name>

# 列出所有Secret
kubectl get secrets

# 创建Secret(使用YAML文件)
kubectl apply -f <secret.yaml>

# 删除Secret
kubectl delete secret <secret-name>

8、其他资源管理

bash 复制代码
# 列出所有ReplicaSet
kubectl get replicasets

# 列出所有DaemonSet
kubectl get daemonsets

# 列出所有StatefulSet
kubectl get statefulsets

# 列出所有CronJob
kubectl get cronjobs

# 创建资源(使用YAML文件)
kubectl apply -f <resource.yaml>

# 删除资源
kubectl delete -f <resource.yaml>

9、查看资源使用情况

bash 复制代码
# 查看当前命名空间中所有资源的使用情况
kubectl top pods

# 查看所有节点的资源使用情况
kubectl top nodes

10、管理YAML文件

bash 复制代码
# 通过YAML文件创建资源
kubectl create -f <resource.yaml>

# 通过YAML文件更新资源
kubectl apply -f <resource.yaml>

# 通过YAML文件删除资源
kubectl delete -f <resource.yaml>

这些命令是Kubernetes管理中最常用的一些基本操作,熟练掌握这些命令能够帮助你高效地管理Kubernetes集群和应用。

相关推荐
九皇叔叔11 小时前
Kubernetes 核心概念:集群架构、核心组件与资源对象
docker·容器·kubernetes·k8s
weixin_4202841419 小时前
Kubernetes 开发自定义CRD资源
云原生·kubernetes·kubelet
极小狐19 小时前
CI 算力饥渴症:Runner 弹性伸缩的架构权衡与落地
ci/cd·kubernetes·devops·弹性伸缩
Thneonl1 天前
SLO 燃烧率公式漏了个 1-,告警要全停才触发
安全·kubernetes
羑悻的小杀马特1 天前
从写 YAML 到集群自愈:KES-Operator 把 KES 集群接进 Kubernetes 原生体系
运维·数据库·容器·kubernetes
三8441 天前
云安全 · 05 · etcd 安全:未授权访问与数据泄露
云原生·k8s·etcd安全
Thneonl2 天前
照着 CKS 教材做实验,把 apiserver 干瘫了 7 分钟
安全·kubernetes
名字还没想好☜2 天前
Kubernetes 用 kubectl port-forward 和 proxy 调试集群内服务:两者区别、断连自动重连与为什么别用在生产
运维·docker·kubernetes
武汉唯众智创2 天前
云计算实训室建设指南(2026版):从技能大赛赛项标准反推架构、课程与落地路径
云原生·kubernetes·云计算·云计算实训室·云计算教学平台·职业技能大赛
名字还没想好☜3 天前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes