目 录CONTENT

文章目录

k8s相关命令

Administrator
2025-07-28 / 0 评论 / 2 点赞 / 11 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

k8s相关命令

常用命令

# 一键删除所有关键字的pod
kubectl get pods --all-namespaces | grep -E 'Complete|CrashLoopBackOff|Evicted|Error|ImagePullBackOff|Terminating' |awk '{print $1,$2}' | xargs -n2 kubectl delete pods --grace-period=0 --force -n 

cluster

# 查看集群信息
kubectl cluster-info
# 显示集群状态
kubectl cluster-info dump
# 打印加入集群命令
kubeadm token create --print-join-command

node

# 查看所有Node资源,并显示详细信息(包括节点、IP等)
kubectl get nodes -o wide
# 删除node-0 Node
kubectl delete node node-0
# 查看node-0 Node的详细信息
kubectl describe node node-0

namespace

# 创建一个名为test的Namespace
kubectl create namespace test
# 查看所有Namespace资源,并显示详细信息(包括节点、IP等)
kubectl get namespaces -o wide
# 删除test Namespace
kubectl delete namespace test
# 查看test Namespace的详细信息
kubectl describe namespace test
# 查看test Namespace的详细信息
kubectl get namespace test -o wide
# 查看test Namespace的详细信息
kubectl get namespace test -o yaml
# 查看test Namespace的详细信息
kubectl get namespace test -o json

Pod

# 创建一个名为nginx的Pod,使用nginx:1.7.9镜像
kubectl run nginx --image=nginx:1.7.9

# 查看所有Pod资源,并显示详细信息(包括节点、IP等)
kubectl get pods -o wide

# 删除nginx Pod
kubectl delete pod nginx
# 查看nginx Pod的详细信息
kubectl describe pod nginx
# 查看nginx Pod的详细信息
kubectl get pod nginx -o wide
# 查看nginx Pod的详细信息
kubectl get pod nginx -o yaml
# 查看nginx Pod的详细信息
# 查看nginx Pod的详细信息
kubectl get pod nginx -o json
# 查看nginx Pod的详细信息
kubectl get pod nginx -o jsonpath='{.spec.containers[0].image}'

ingress

# 创建一个名为nginx的Ingress
kubectl create ingress nginx --rule="/=nginx:1.7.9"
# 查看所有Ingress资源,并显示详细信息(包括节点、IP等)
kubectl get ingress -o wide
# 删除nginx Ingress
kubectl delete ingress nginx
# 查看nginx Ingress的详细信息
kubectl describe ingress nginx
# 查看nginx Ingress的详细信息
kubectl get ingress nginx -o wide
# 查看nginx Ingress的详细信息
kubectl get ingress nginx -o yaml
# 查看nginx Ingress的详细信息
kubectl get ingress nginx -o json
# 查看nginx Ingress的详细信息
kubectl get ingress nginx -o jsonpath='{.spec.rules[0].host}'

Deployment

# 创建一个名为nginx的Deployment,使用nginx:1.7.9镜像
kubectl create deployment nginx --image=nginx:1.7.9

# 查看所有Deployment资源
kubectl get deployments

# 查看所有ReplicaSet资源
kubectl get rs

# 查看所有Pod资源,并显示详细信息(包括节点、IP等)
kubectl get pods -o wide

# 将nginx Deployment的副本数扩展到5
kubectl scale deployment nginx --replicas=5

# 删除nginx Deployment
kubectl delete deployment nginx

# 查看nginx Deployment的滚动更新历史
kubectl rollout history deployment nginx

# 回滚nginx Deployment到上一个版本
kubectl rollout undo deployment nginx

# 查看nginx Deployment的滚动更新状态
kubectl rollout status deployment nginx

# 暂停nginx Deployment的滚动更新
kubectl rollout pause deployment nginx

# 恢复nginx Deployment的滚动更新
kubectl rollout resume deployment nginx

# 回滚nginx Deployment到指定版本(例如第2个版本)
kubectl rollout undo deployment nginx --to-revision=2

# 为nginx Deployment设置自动扩缩容,最小副本数10,最大副本数20,当CPU使用率超过80%时扩容
kubectl autoscale deployment nginx --min=10 --max=20 --cpu-percent=80

# 编辑nginx Deployment的配置
kubectl edit deployment nginx

# 更新nginx Deployment中nginx容器的镜像为nginx:1.9
kubectl set image deployment nginx nginx=nginx:1.9

# 更新所有Deployment中nginx容器的镜像为nginx:1.9(需要小心使用)
kubectl set image deployment nginx --all

# 更新nginx Deployment中nginx容器的镜像为nginx:1.9,并记录此次变更
kubectl set image deployment/nginx nginx=nginx:1.9 --record

# 查看nginx Deployment的详细信息
kubectl describe deployment nginx

# 查看与nginx Deployment相关的ReplicaSet的详细信息
kubectl describe rs

# 查看所有Pod的详细信息
kubectl describe pods

# 实时查看nginx Pod的日志
kubectl logs -f nginx-756d94c8b7-2qj6z

# 进入nginx Pod的bash终端进行交互
kubectl exec -it nginx-756d94c8b7-2qj6z -- /bin/bash

# 将nginx Pod的80端口转发到本地机器的8080端口
kubectl port-forward nginx-756d94c8b7-2qj6z 8080:80

# 进入nginx Pod的bash终端,并执行cat命令查看/etc/resolv.conf文件
kubectl exec -it nginx-756d94c8b7-2qj6z -- cat /etc/resolv.conf

# 进入nginx Pod的bash终端,并执行cat命令查看/etc/hosts文件
kubectl exec -it nginx-756d94c8b7-2qj6z -- cat /etc/hosts

# 在nginx Pod中执行nslookup命令查询kubernetes域名的解析结果
kubectl exec -it nginx-756d94c8b7-2qj6z -- nslookup kubernetes

StatefulSet

# 创建一个名为web的StatefulSet,使用nginx:1.7.9镜像
kubectl create statefulset web --image=nginx:1.7.9 --replicas=3

# 查看所有StatefulSet资源
kubectl get statefulsets
# 查看所有Pod资源,并显示详细信息(包括节点、IP等)
kubectl get pods -o wide
# 删除web StatefulSet
kubectl delete statefulset web
# 查看web StatefulSet的详细信息
kubectl describe statefulsets web
# 查看web StatefulSet的详细信息
kubectl describe pods web-0
# 进入web-0 Pod的bash终端进行交互
kubectl exec -it web-0 -- /bin/bash
# 进入web-0 Pod的bash终端,并执行cat命令查看/etc/resolv.conf文件
kubectl exec -it web-0 -- cat /etc/resolv.conf
kubectl exec -it web-2 -- cat /etc/resolv.conf
# 进入web-0 Pod的bash终端,并执行cat命令查看/etc/hosts文件
kubectl exec -it web-0 -- cat /etc/hosts
# 在web-0 Pod中执行nslookup命令查询kubernetes域名的解析结果
kubectl exec -it web-0 -- nslookup kubernetes
# 更新web StatefulSet中nginx容器的镜像为nginx:1.9
kubectl set image statefulset web nginx=nginx:1.9
# 更新所有StatefulSet中nginx容器的镜像为nginx:1.9(需要小心使用)
kubectl set image statefulset web --all
# 更新web StatefulSet中nginx容器的镜像为nginx:1.9,并记录此次变更
kubectl set image statefulset/web nginx=nginx:1.9 --record
# 查看web StatefulSet的详细信息
kubectl describe statefulsets web
# 查看web-0 Pod的详细信息
kubectl describe pods web-0
# 查看web-1 Pod的详细信息
kubectl describe pods web-1
# 查看web-2 Pod的详细信息
kubectl describe pods web-2
# 进入web-0 Pod的bash终端,并执行cat命令查看/etc/resolv.conf文件
kubectl exec -it web-0 -- cat /etc/resolv.conf
2
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区