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 系统一样,查看和调试应用的运行环境和状态。