【Web三十一】K8S的常用命令

发布于:2025-04-16 ⋅ 阅读:(30) ⋅ 点赞:(0)

01 基础资源操作​​

查看资源​​

# 查看 kube-system 命名空间下的 Pod 列表
kubectl get pods -n kube-system

# 查看节点详细信息(IP、状态等)
kubectl get nodes -o wide

# 按标签筛选 Pod(例如筛选标签 app=nginx 的 Pod)
kubectl get pods -l app=nginx

创建资源​​

# 通过 YAML 文件创建资源(如部署应用)
kubectl create -f nginx.yaml

# 创建命名空间(例如创建 dev 命名空间)
kubectl create namespace dev

​​删除资源​​

# 删除指定 Pod(例如删除名为 nginx-123 的 Pod)
kubectl delete pod nginx-123

# 强制删除 Pod(跳过优雅终止,适用于紧急情况)
kubectl delete pod nginx-123 --grace-period=0 --force

02 部署更新​​

查看部署历史​​

# 查看 Deployment 的版本历史(例如 nginx 的部署历史)
kubectl rollout history deployment/nginx

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

手动扩缩容​​

# 手动调整副本数(例如将副本数扩至 5)
kubectl scale deployment nginx --replicas=5

自动扩缩容​​

# 设置自动水平扩展(例如设置最小 2、最大 10 副本,CPU 利用率阈值 80%)
kubectl autoscale deployment nginx --min=2 --max=10 --cpu-percent=80

03 问题定位​​

查看详细信息​​

# 查看 Pod 的详细信息(例如检查 nginx-123 的状态和事件)
kubectl describe pod nginx-123 -n default

​​日志追踪​​

# 实时追踪 Pod 日志(例如追踪 nginx-123 的日志,并显示最后 100 行)
kubectl logs -f nginx-123 --tail=100

# 查看多容器 Pod 中特定容器的日志(例如查看 php-container 的日志)
kubectl logs nginx-123 -c php-container

交互式调试​​

# 进入容器终端(例如进入 nginx-123 的 Bash 终端)
kubectl exec -it nginx-123 -- /bin/bash

04 节点管理​​

标签与污点​​

# 为节点添加标签(例如标记 node01 的磁盘类型为 SSD)
kubectl label node node01 disk=ssd

# 设置节点污点(例如限制 node02 不可调度新 Pod)
kubectl taint node node02 key=value:NoSchedule

网络与存储​​

# 创建 Service 暴露应用(例如通过端口 80 暴露 nginx)
kubectl expose deployment nginx --port=80 --target-port=80

# 查看 PVC/PV 存储资源(例如查看 prod 命名空间下的 PVC)
kubectl get pvc -n prod

​​05 配置管理​​

​​动态修改配置​​

# 在线编辑资源配置(例如修改 nginx Service 的配置)
kubectl edit svc/nginx

配置文件导出​​

# 导出资源配置为 YAML(例如备份 nginx Deployment)
kubectl get deployment nginx -o yaml > backup.yaml

安全与权限​​

# 查看集群角色绑定
kubectl get clusterrolebindings

# 创建 ServiceAccount(例如创建名为 admin 的账户)
kubectl create serviceaccount admin

网站公告

今日签到

点亮在社区的每一天
去签到