k8S 命令

kubectl describe pod java-spice-cloud-member-1-69975bd859-jhqvj -n dev

kubectl get pods -n dev

kubectl top pod java-spice-cloud-member-1-69975bd859-jhqvj -n dev

kubectl exec -it java-spice-cloud-member-1-69975bd859-jhqvj -n dev -- /bin/sh

在 Kubernetes (k8s) 中进入 Pod 之后,你可以查看很多内容,具体取决于你的需求和 Pod 的用途。以下是一些常见的可以查看的内容:

1. **容器内部的文件系统**

  • **查看文件和目录结构**:进入 Pod 后,你可以像在普通 Linux 系统中一样,使用 `ls`、`cd`、`cat` 等命令查看文件和目录。

  • **配置文件**:许多应用的配置文件会存储在 Pod 的文件系统中,例如 `/etc/` 目录下的配置文件。

  • **日志文件**:应用的日志文件通常存储在 `/var/log/` 或应用指定的日志目录中。

2. **环境变量**

  • 使用 `env` 命令可以查看 Pod 中的环境变量。这些环境变量可能是 Kubernetes 注入的,也可能是应用自身设置的。

  • 例如,Kubernetes 会注入一些与服务发现相关的环境变量,如 `SERVICE_NAME_SERVICE_HOST` 和 `SERVICE_NAME_SERVICE_PORT`。

3. **运行中的进程**

  • 使用 `ps` 或 `top` 命令可以查看 Pod 内运行的进程。这有助于确认应用是否正常运行,以及是否有其他意外的进程在运行。

4. **网络配置**

  • **IP 地址**:使用 `ip addr` 或 `ifconfig` 命令查看 Pod 的网络接口和 IP 地址。

  • **端口监听情况**:使用 `netstat -tuln` 或 `ss -tuln` 查看 Pod 监听的端口,确认应用是否正确绑定了端口。

  • **网络连通性**:使用 `ping` 或 `curl` 命令测试 Pod 是否能够访问其他服务或外部网络。

5. **应用日志**

  • 如果应用将日志输出到标准输出或标准错误,你可以通过 `kubectl logs` 命令在 Pod 外部查看日志。但在 Pod 内部,你也可以查看日志文件(如果应用将日志写入文件)。

  • 例如,对于一个 Web 应用,你可能会查看 `/var/log/nginx/access.log` 或 `/var/log/apache2/error.log`。

6. **应用状态和健康检查**

  • 如果应用有内置的健康检查接口(如 HTTP 端点),你可以使用 `curl` 命令在 Pod 内部访问这些接口,检查应用的健康状态。

  • 例如,`curl http://localhost:8080/healthz\`。

7. **存储卷内容**

  • 如果 Pod 挂载了存储卷(如 PersistentVolumeClaim 或 ConfigMap),你可以查看挂载点的内容。例如,挂载点可能在 `/data` 或 `/etc/config` 等目录。

8. **资源使用情况**

  • 使用 `df -h` 查看磁盘使用情况。

  • 使用 `free -m` 查看内存使用情况。

  • 使用 `top` 或 `htop` 查看 CPU 和内存的实时使用情况。

9. **服务发现信息**

  • Kubernetes 会为每个服务创建 DNS 条目。在 Pod 内部,你可以使用 `nslookup` 或 `dig` 命令查询服务的 DNS 解析情况。

  • 例如,`nslookup my-service` 可以查看服务的 IP 地址。

10. **应用配置和参数**

  • 查看应用启动时的参数,例如通过 `ps` 命令查看进程的启动命令行参数。

  • 查看应用的配置文件,确认配置是否正确。

示例:进入 Pod 并查看内容

```bash

进入 Pod

kubectl exec -it <pod-name> -- /bin/sh

查看文件系统

ls /

cat /etc/hosts

查看环境变量

env

查看运行中的进程

ps aux

查看网络配置

ip addr

netstat -tuln

查看日志文件

cat /var/log/app.log

查看存储卷内容

ls /data

```

总之,进入 Pod 后,你可以像操作普通 Linux 系统一样,查看和调试应用的运行环境和状态。

相关推荐
M78佐菲1 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
益达丫3 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
九皇叔叔4 小时前
Kubernetes 资源管理方式详解:命令式与声明式管理
docker·容器·k8s
chicheese5 小时前
Linux 面试速查表:从初级到高级,附高频场景答题模板
linux·运维
Linux-lucky6 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
vortex56 小时前
常用终端模拟器全面对比:Kitty、WezTerm、Ghostty 与 Konsole
linux
INGNIGHT8 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
zly35008 小时前
VMware Converter Standalone 物理机转化为虚拟机后源1硬盘变成了2个硬盘(2个硬盘文件)虚拟机无法启动。
linux·运维·服务器
GeW9 小时前
从内核到数据:Linux与工业数据库如何支撑高端制造
linux
程序猿小郑10 小时前
Docker Compose 构建完整服务实战指南:从入门到最佳实践
docker·容器