跳至主要内容

使用 Podman Desktop 构建您的 Kubernetes 应用程序

·阅读时长 5 分钟
Shipra Singh
技术作家

Podman Desktop 与 Kubernetes 的集成可以帮助您在 Kubernetes 集群(如 Kind 或 Minikube)上运行应用程序。

本博客涵盖以下方面

  • 从注册表镜像构建容器化应用程序
  • 创建 Pod
  • 设置本地 Kubernetes 集群
  • 将应用程序部署到 Kubernetes
  • 验证正在运行的服务

构建容器化应用程序

通过本博客,您将构建一个容器化应用程序,该应用程序使用

  • 一个后端 Redis 服务器容器
  • 一个前端 Python 应用程序容器

为此,您可以从 quay.io 注册表中拉取相关的镜像。

  1. 转到 **镜像** 组件页面。

  2. 点击 **拉取**。 从注册表拉取

  3. 启动第一个容器

    1. 输入要从注册表拉取的镜像名称。例如,quay.io/podman-desktop-demo/podify-demo-backend输入镜像名称
    2. 点击 **拉取镜像**。将打开一个下载完成通知。
    3. 点击 **完成**。
    4. 点击对应于新添加镜像的 **运行镜像** 图标。 运行镜像
    5. 输入容器名称 redis-server
    6. 点击 **启动容器**。 启动后端容器
    7. 点击 **日志** 选项卡以查看 Redis 服务器是否在独立模式下运行。 查看日志选项卡
  4. 启动第二个容器

    1. 输入要从注册表拉取的镜像名称。例如,quay.io/podman-desktop-demo/podify-demo-frontend

    2. 点击 **拉取镜像**,然后点击 **完成**。

    3. 点击对应于新添加镜像的 运行镜像 图标。

    4. 输入容器名称 python-app输入镜像名称

      注意

      如果默认端口已被使用,则可以在 端口映射 字段中指定不同的端口。

    5. 选择 **网络** 选项卡,并将主机名输入为 redis-server,IP 地址输入为 10.88.0.2,以启用与 Redis 服务器的通信。

      注意

      您可以在 redis-server 容器详细信息页面的 **检查** 选项卡中找到 IP 地址。

    6. 点击 **启动容器**。 启动前端容器

    7. 点击 **日志** 选项卡以查看应用程序是否在端口 5000 上运行。 前端应用程序正在运行

    8. 点击页面右侧的 **打开浏览器** 图标。

    9. 查看正在运行的前端应用程序。 正在运行的前端应用程序

创建 Pod

您可以使用这两个容器来创建 Pod。这样,前端和后端容器应用程序都可以共享资源,例如存储和网络。

使用现有容器创建 Pod

  1. 转到 **容器** 页面。
  2. 选择前端和后端容器。
  3. 点击 **创建 Pod** 按钮。 从容器创建 Pod
  4. 点击 **创建 Pod**。 将容器复制到 Pod
  5. 在 Pod 页面上查看新创建的 Pod。
  6. 点击 Pod 的名称,然后点击 **摘要** 选项卡以查看其摘要。 查看 Pod 详细信息

替代方案:使用 Kubernetes YAML 创建 Pod

您可以为任何现有的 Pod 或容器生成 Kubernetes 清单,并使用它来创建本地 Kubernetes YAML 文件。然后,您可以自定义该文件并从中创建 Pod。

在创建 Pod 时,您可以选择一个运行时来指示您是否要在 Podman 引擎或 Kubernetes 集群上运行该 Pod。根据您的选择,您将在 Pod 组件页面上看到在新环境中运行的新创建的 Pod。

以下过程将创建一个在 Podman 引擎上运行的 Pod。

  1. 转到 **Pod** 页面。
  2. 点击对应于 Pod 的溢出菜单图标。 溢出菜单图标
  3. 从下拉列表中选择 **生成 Kube** 选项。
  4. 在 **Kube** 选项卡中查看 Kubernetes YAML 配置。 kube 清单
  5. 复制配置并将其粘贴到您机器上的 YAML 文件中。
  6. 编辑 YAML 配置并保存。
  7. 转到 **Pod** 组件页面。
  8. 点击 **播放 Kubernetes YAML**。 播放 kubernetes yaml
  9. 从您的机器中选择 YAML 文件。
  10. 检查 **运行时** 字段是否设置为 Podman 容器引擎
  11. 点击 **播放**,然后点击 **完成**。
  12. 在同一页面上查看新创建的 Pod。

创建 Pod 后,设置一个本地 Kubernetes 集群以部署该 Pod。

设置本地 Kubernetes 集群

您可以设置一个本地 Kubernetes 集群。连接并运行集群后,您就可以在其上部署应用程序。

根据您的偏好,使用 Kind 或 Minikube 扩展

  1. 安装扩展,方法是从扩展目录中进行安装。
  2. 创建 Kubernetes 集群。请参见 Kind 集群创建Minikube 集群创建

创建 Kubernetes 集群后,您可以在 Kubernetes 组件页面上查看正在运行的控制平面节点和正在运行的 Kubernetes 服务。该页面还显示该集群已连接。

将应用程序部署到 Kubernetes

您可以将应用程序 Pod 部署到具有活动连接的 Kubernetes 集群,并通过服务访问它。此外,任何作为 Pod 一部分的容器都可以部署到 Kubernetes 集群。

  1. 选择您的 Kubernetes 上下文

  2. 转到 **Pod** 组件页面。

  3. 点击对应于 Pod 的溢出菜单图标。 溢出菜单图标

  4. 从下拉列表中选择 **部署到 Kubernetes** 选项。

  5. 选中复选框以使用 Ingress 控制器在本地公开服务。 在本地公开服务

    注意

    当您在运行镜像时配置自定义端口映射时,您可以在下拉列表中选择一个入口主机端口。 ingress-host-port 否则,您将看不到此选项。

  6. 点击 **部署** 然后 **完成**。

验证正在运行的服务

  1. 前往 **Kubernetes** 组件页面。

  2. 执行以下步骤

    1. 点击 **服务** 选项查看新创建的服务,my-pod-5000service created
    2. 点击 **入口和路由** 选项查看新创建的入口,my-podingress created
    注意

    使用 **应用 YAML** 按钮直接应用 Kubernetes YAML 文件来创建资源。