4.3. 与应用程序和组件交互
Web 控制台的 Developer 视角中的 Topology 视图提供了如下可与应用程序和组件进行交互的选项:
- 点 Open URL( )查看通过公共 URL 上的路由公开的应用程序。
点击 Edit Source code 可访问您的源代码并进行修改。
注意只有使用 From Git、From Catalog 和 From Dockerfile 选项创建了应用程序时,此功能才可用。
- 光标悬停在 Pod 左下方图标上,可查看最新构建的名称及其状态。应用程序构建的状态显示为 New ( )、Pending ( )、Running ( )、Complemented ( )、Failed ( )和 Canceled( )。
pod 的状态或阶段由不同的颜色和工具提示来表示:
- Running ( ):pod 绑定到某个节点,并创建所有容器。至少一个容器仍在运行,或正在启动或重启过程中。
- Not Ready ( ):运行多个容器的 pod,不是所有容器都已就绪。
- 警告( ):pod 中的容器被终止,但终止不成功。有些容器可能是其他状态。
- 失败( ):pod 中的所有容器都终止,但至少一个容器出现故障而终止。也代表,容器以非零状态退出,或者被系统终止。
- 待定( ):Kubernetes 集群接受 pod,但一个或多个容器尚未设置并准备好运行。这包括 pod 等待调度的时间,以及通过网络下载容器镜像的时间。
- Succeeded( ):pod 中的所有容器都成功终止,且不会重启。
- 终止( ):当 pod 被删除时,一些 kubectl 命令会显示 Terminating。Terminating 状态不是 pod 的一个阶段。一个 pod 会被赋予一个安全终止期,默认为 30 秒。
- unknown( ):无法获取 pod 的状态。此阶段通常是由于与 pod 应该运行的节点通信时出错造成的。
创建应用程序并部署镜像后,其状态会显示为 Pending。构建应用程序后,它会显示为 Running。
图 4.1. 应用程序拓扑
应用程序资源名称附有代表不同类型资源对象的指示符,如下所示:
-
CJ:
CronJob
-
D :
Deployment
-
DC :
DeploymentConfig
-
DS :
DaemonSet
-
J:
作业
-
P:
Pod
-
SS :
StatefulSet
(Knative):无服务器应用程序
注意无服务器应用程序需要一些时间才能加载并显示在 Graph 视图中。部署无服务器应用程序时,首先会创建一个服务资源,然后创建一个修订。之后,它会被部署并显示在 Graph 视图中。如果它是唯一的工作负载,可能会重定向到 Add 页面。部署修订后,无服务器应用程序会显示在 Graph 视图中。
-
CJ:
您还可以使用上下文菜单,点拓扑 Graph view 将服务(如 Import from Git, Container Image, Database, From Catalog, Operator Backed, Helm Charts, Samples, 或 Upload JAR file)添加到您的项目。
图 4.2. 用于添加服务的上下文菜单