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

相关推荐
鼠鼠我捏,要死了捏5 分钟前
多租户Kubernetes集群架构设计实践——隔离、安全与弹性扩缩容
kubernetes·architecture·multi-tenancy
守望时空3311 分钟前
RustDesk搭建指南
linux
C++ 老炮儿的技术栈15 分钟前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
白鹭1 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
ldj20201 小时前
docker 自定义网桥作用
docker·容器
java叶新东老师1 小时前
k8s常用命令
云原生·容器·kubernetes
java叶新东老师1 小时前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN2 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛2 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
未来之窗软件服务2 小时前
跨平台 WebSocket 服务器的设计与实现 —— 基于.NET 8 的跨操作系统解决方案linux,macos,windows——开发工具
linux·服务器·websocket·仙盟创梦ide·东方仙盟