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