10-虚拟化与系统
ESXi 与 Kubernetes 常用命令
一、ESXi 常用命令
1. 虚拟机管理
| 命令 | 说明 |
|---|---|
vim-cmd vmsvc/getallvms | 列出所有虚拟机及对应的 vmid |
vim-cmd vmsvc/power.on <vmid> | 启动指定虚拟机 |
vim-cmd vmsvc/power.off <vmid> | 强制关闭虚拟机 |
vim-cmd vmsvc/power.shutdown <vmid> | 正常关机(需安装 VMware Tools) |
vim-cmd vmsvc/get.summary <vmid> | 查看虚拟机摘要信息 |
2. 存储与网络
| 命令 | 说明 |
|---|---|
esxcli storage vmfs extent list | 查看 VMFS 存储卷信息 |
esxcli storage core device list | 列出所有存储设备 |
esxcli network nic list | 查看物理网卡信息 |
esxcli network ip interface list | 查看虚拟网卡(vmk)信息 |
esxcli network ip route ipv4 list | 查看 IPv4 路由表 |
3. 系统与服务
| 命令 | 说明 |
|---|---|
esxcli system version get | 查看 ESXi 版本信息 |
esxcli system hostname get | 查看主机名 |
esxcli system maintenanceMode set --enable true/false | 开启/关闭维护模式 |
services.sh restart | 重启所有管理服务 |
dcui | 进入 DCUI(直接控制台用户界面) |
4. 日志查看
| 命令 | 说明 |
|---|---|
tail -f /var/log/vmkernel.log | 实时查看内核日志 |
tail -f /var/log/hostd.log | 实时查看 hostd 服务日志 |
二、Kubernetes 常用命令
1. 集群与节点管理
| 命令 | 说明 |
|---|---|
kubectl version | 查看客户端和服务端版本 |
kubectl get nodes | 查看集群节点列表 |
kubectl describe node <node-name> | 查看节点详细信息(资源、状态、Pod 分布) |
kubectl cordon <node-name> | 标记节点为不可调度(排空前操作) |
kubectl drain <node-name> | 驱逐节点上的 Pod,进入维护模式 |
kubectl uncordon <node-name> | 恢复节点为可调度 |
2. Pod 管理
| 命令 | 说明 |
|---|---|
kubectl get pods | 查看当前命名空间的 Pod 列表 |
kubectl get pods -A | 查看所有命名空间的 Pod |
kubectl describe pod <pod-name> | 查看 Pod 详细信息和事件 |
kubectl logs <pod-name> | 查看 Pod 日志 |
kubectl logs <pod-name> -c <container-name> | 查看多容器 Pod 中指定容器的日志 |
kubectl exec -it <pod-name> -- /bin/bash | 进入 Pod 的容器终端 |
3. 资源管理
| 命令 | 说明 |
|---|---|
kubectl get all | 查看当前命名空间的主要资源(Pod、Service、Deployment 等) |
kubectl get deploy,svc,cm,secret | 常见资源的简写查看 |
kubectl apply -f <yaml-file> | 通过 YAML 文件创建/更新资源 |
kubectl delete -f <yaml-file> | 通过 YAML 文件删除资源 |
kubectl delete <resource-type> <name> | 删除指定资源 |
4. 描述与调试
| 命令 | 说明 |
|---|---|
kubectl get events --sort-by='.lastTimestamp' | 查看事件并按时间排序 |
kubectl top nodes | 查看节点资源使用情况(需 Metrics Server) |
kubectl top pods | 查看 Pod 资源使用情况 |
kubectl explain <resource> | 查看资源字段说明,如 kubectl explain pod.spec |
5. 命名空间与上下文
| 命令 | 说明 |
|---|---|
kubectl get ns | 查看所有命名空间 |
kubectl config get-contexts | 查看当前 kubeconfig 中的上下文 |
kubectl config use-context <context-name> | 切换上下文 |
kubectl config set-context --current --namespace=<ns> | 切换当前上下文的默认命名空间 |
三、对比总结
| 维度 | ESXi | Kubernetes |
|---|---|---|
| 管理对象 | 虚拟机 | 容器化应用 |
| 入口命令 | esxcli, vim-cmd | kubectl |
| 日志位置 | /var/log/* | kubectl logs |
| 维护模式 | maintenanceMode | cordon + drain |
| 资源查看 | vim-cmd vmsvc/ | kubectl get/describe |
ESXi 密码修改
修改 PAM 配置(设置最小密码长度为 5 个 0):
vi /etc/pam.d/passwd在相应位置添加或修改为:
password requisite pam_cracklib.so minlen=5执行密码修改命令:
passwd