Kubernetes API 是您检查和管理集群操作的途径。您可以使用Kubectl CLI、工具(例如curl)或流行编程语言的官方集成库来使用 API 。
该 API 也可供集群内的应用程序使用。Kubernetes Pod 会自动获得对 API 的访问权限,并且可以使用提供的服务帐户进行身份验证。您可以通过使用注入的环境变量和证书文件来执行交互,以从您选择的客户端建立连接。
为什么要在 Pod 内访问 Kubernetes API?
Pod 内 API 访问有多种用例。该技术允许应用程序动态检查其环境、应用 Kubernetes 更改并收集提供性能洞察的控制平面指标。
一些组织围绕 Kubernetes 开发自己的工具。他们可能会部署一个特殊的集群内应用程序,该应用程序使用 API 来公开附加功能。从集群内部进行操作比从外部脚本进行 API 调用更安全,因为您不需要打开环境或共享服务帐户和身份验证令牌。
使用 API 客户端库
从 Pod 访问 Kubernetes API 最简单且推荐的方法是使用客户端库。完全支持的选项适用于C、.NET、Go、Haskell、Java、JavaScript、Perl、Python 和 Ruby。对于大多数其他流行的编程语言,都有等效的社区维护的解决方案。
客户端库内置支持发现它们正在运行的集群环境。每个实现都提供一个您可以调用的函数,该函数将配置库以连接到正确的 API 服务器。
以下是如何在 Python 应用程序中列出集群中 Pod 的示例: