使用 Podman Desktop 构建您的 Kubernetes 应用程序
Podman Desktop 与 Kubernetes 的集成可以帮助您在 Kubernetes 集群(如 Kind 或 Minikube)上运行应用程序。
本博客涵盖以下方面
- 从注册表镜像构建容器化应用程序
- 创建 Pod
- 设置本地 Kubernetes 集群
- 将应用程序部署到 Kubernetes
- 验证正在运行的服务
构建容器化应用程序
通过本博客,您将构建一个容器化应用程序,该应用程序使用
- 一个后端 Redis 服务器容器
- 一个前端 Python 应用程序容器
为此,您可以从 quay.io
注册表中拉取相关的镜像。
-
转到 **镜像** 组件页面。
-
点击 **拉取**。
-
启动第一个容器
- 输入要从注册表拉取的镜像名称。例如,
quay.io/podman-desktop-demo/podify-demo-backend
。 - 点击 **拉取镜像**。将打开一个下载完成通知。
- 点击 **完成**。
- 点击对应于新添加镜像的 **运行镜像** 图标。
- 输入容器名称
redis-server
。 - 点击 **启动容器**。
- 点击 **日志** 选项卡以查看 Redis 服务器是否在独立模式下运行。
- 输入要从注册表拉取的镜像名称。例如,
-
启动第二个容器
-
输入要从注册表拉取的镜像名称。例如,
quay.io/podman-desktop-demo/podify-demo-frontend
。 -
点击 **拉取镜像**,然后点击 **完成**。
-
点击对应于新添加镜像的
运行镜像
图标。 -
输入容器名称
python-app
。注意如果默认端口已被使用,则可以在
端口映射
字段中指定不同的端口。 -
选择 **网络** 选项卡,并将主机名输入为
redis-server
,IP 地址输入为10.88.0.2
,以启用与 Redis 服务器的通信。注意您可以在
redis-server
容器详细信息页面的 **检查** 选项卡中找到 IP 地址。 -
点击 **启动容器**。
-
点击 **日志** 选项卡以查看应用程序是否在端口
5000
上运行。 -
点击页面右侧的 **打开浏览器** 图标。
-
查看正在运行的前端应用程序。
-
创建 Pod
您可以使用这两个容器来创建 Pod。这样,前端和后端容器应用程序都可以共享资源,例如存储和网络。
使用现有容器创建 Pod
- 转到 **容器** 页面。
- 选择前端和后端容器。
- 点击 **创建 Pod** 按钮。
- 点击 **创建 Pod**。
- 在 Pod 页面上查看新创建的 Pod。
- 点击 Pod 的名称,然后点击 **摘要** 选项卡以查看其摘要。
替代方案:使用 Kubernetes YAML 创建 Pod
您可以为任何现有的 Pod 或容器生成 Kubernetes 清单,并使用它来创建本地 Kubernetes YAML 文件。然后,您可以自定义该文件并从中创建 Pod。
在创建 Pod 时,您可以选择一个运行时来指示您是否要在 Podman 引擎或 Kubernetes 集群上运行该 Pod。根据您的选择,您将在 Pod 组件页面上看到在新环境中运行的新创建的 Pod。
以下过程将创建一个在 Podman 引擎上运行的 Pod。
- 转到 **Pod** 页面。
- 点击对应于 Pod 的溢出菜单图标。
- 从下拉列表中选择 **生成 Kube** 选项。
- 在 **Kube** 选项卡中查看 Kubernetes YAML 配置。
- 复制配置并将其粘贴到您机器上的 YAML 文件中。
- 编辑 YAML 配置并保存。
- 转到 **Pod** 组件页面。
- 点击 **播放 Kubernetes YAML**。
- 从您的机器中选择 YAML 文件。
- 检查 **运行时** 字段是否设置为
Podman 容器引擎
。 - 点击 **播放**,然后点击 **完成**。
- 在同一页面上查看新创建的 Pod。
创建 Pod 后,设置一个本地 Kubernetes 集群以部署该 Pod。
设置本地 Kubernetes 集群
您可以设置一个本地 Kubernetes 集群。连接并运行集群后,您就可以在其上部署应用程序。
根据您的偏好,使用 Kind 或 Minikube 扩展
- 安装扩展,方法是从扩展目录中进行安装。
- 创建 Kubernetes 集群。请参见 Kind 集群创建 或 Minikube 集群创建。
创建 Kubernetes 集群后,您可以在 Kubernetes 组件页面上查看正在运行的控制平面节点和正在运行的 Kubernetes 服务。该页面还显示该集群已连接。
将应用程序部署到 Kubernetes
您可以将应用程序 Pod 部署到具有活动连接的 Kubernetes 集群,并通过服务访问它。此外,任何作为 Pod 一部分的容器都可以部署到 Kubernetes 集群。
-
选择您的 Kubernetes 上下文。
-
转到 **Pod** 组件页面。
-
点击对应于 Pod 的溢出菜单图标。
-
从下拉列表中选择 **部署到 Kubernetes** 选项。
-
选中复选框以使用 Ingress 控制器在本地公开服务。
注意当您在运行镜像时配置自定义端口映射时,您可以在下拉列表中选择一个入口主机端口。 否则,您将看不到此选项。
-
点击 **部署** 然后 **完成**。
验证正在运行的服务
-
前往 **Kubernetes** 组件页面。
-
执行以下步骤
- 点击 **服务** 选项查看新创建的服务,
my-pod-5000
。 - 点击 **入口和路由** 选项查看新创建的入口,
my-pod
。
注意使用 **应用 YAML** 按钮直接应用 Kubernetes YAML 文件来创建资源。
- 点击 **服务** 选项查看新创建的服务,