跳转到主内容

2 篇带有“工具”标签的帖子

查看所有标签

使用 Podman Desktop 进行容器和 Kubernetes 开发

·阅读时间 6 分钟
Matt Demyttenaere
产品经理

在现代软件开发领域,容器和 Kubernetes 不再是可选项;它们是必不可少的。Podman Desktop 应运而生,它是您轻松自信地构建、管理和部署容器和 Kubernetes 集群的终极工具。在这篇博客文章中,我们将介绍一个典型的开发工作流程:创建和构建一个容器,然后在一个本地 Kubernetes 集群中对其进行测试。让我们深入了解。

使用 Podman Desktop 构建容器化应用程序

首先,让我们从使用 Podman Desktop 在容器中构建一个应用程序开始。我们需要我们的应用程序代码和一个 Containerfile。对于一个简单的应用程序,你的 Containerfile 可能看起来像这样:

FROM docker.io/nginxinc/nginx-unprivileged

COPY <<EOF /usr/share/nginx/html/index.html
<!DOCTYPE html>
<html>
<head>
<title>Simple NGINX Container</title>
</head>
<body>
<h1>Hello from my Podman NGINX Container!</h1>
<p>This content is being served by NGINX running in a Podman container.</p>
</body>
</html>
EOF

为了增强安全性,我们使用 `nginx-unprivileged` 镜像。这有助于避免根访问,在某些 Kubernetes 发行版(如 OpenShift)中默认强制执行。默认的 NGINX 镜像使用端口 80,这在无根模式下是禁止的。

一旦您的应用程序和 Containerfile 准备就绪,Podman Desktop 会让构建过程变得简单:构建镜像

  1. 导航到“镜像”部分
  2. 选择您的 Containerfile
  3. 为您的镜像提供一个名称(例如 webserver)
  4. 点击“构建”

构建镜像后,您可以立即单击运行它,您的容器将出现在“容器”列表中。

Start container

  1. 在“镜像”列表中找到您的容器
  2. 点击“运行镜像 ▶️”按钮
  3. 给您的容器起个名字,我们称之为:“webserver”

容器管理和日志分析

现在我们的 Web 服务器容器正在运行,我们可以在 UI 中检查它 查看容器详细信息

我们可以点击“打开浏览器”按钮在浏览器中查看 Web 服务器:Web 服务器在浏览器中打开

监控容器日志对于调试和理解应用程序行为至关重要。让我们使用 Podman Desktop 查看新创建容器的日志。

  1. 从“容器”列表中选择您正在运行的容器
  2. 点击“日志”选项卡查看容器的日志
  3. 在最新版本的 Podman Desktop 中,您还可以在日志中进行搜索!

View container logs

有了这些,我们就可以继续开发过程。当我们更新代码后,我们可以重新构建容器。除此之外,我们可以与团队共享我们的 Containerfile,他们将能够重现与我们完全相同的环境来构建和测试他们的代码。

使用 Kubernetes 和 OpenShift

现在我们已经建立了一个开发环境并使其运行起来,是时候为生产环境做准备了。在当今世界,自然而然地,我们将转向 Kubernetes。拥有一个本地运行的集群,我们可以快速迭代,同时仍然拥有一个尽可能接近生产的环境。这有助于将来更顺利地迁移。Podman Desktop 将帮助您测试和执行此迁移。

有了 kindminikube,我们可以在几分钟内拥有一个本地运行的 Kubernetes 集群。这将使我们能够在 Kubernetes 环境中测试我们的应用程序。Kind 与 Podman Desktop 一起安装,因此您可以立即开始使用。

  1. 首先导航到“Kubernetes”页面
  2. 点击“创建新的 Kind 集群”按钮

Create kind cluster

  1. 点击“创建”
  2. 等待 kind 集群创建完成
  3. 集群创建后,Podman Desktop 会自动将您的 Kubernetes 上下文切换到新的 kind 集群。如果您想更改集群,可以在状态栏中切换上下文。

我们现在有一个本地运行的 Kubernetes 集群,我们可以在 Kubernetes 仪表板上进行探索。

Kubernetes dashboard

这个仪表板不仅为您提供了集群的概览,还提供了对集群中存在的不同 Kubernetes 对象的快速访问。

在本地 Kubernetes 集群上创建 Pod

有了一个正在运行的 Kubernetes 集群,我们现在可以在 Kubernetes 集群中创建我们的 Pod。使用 Podman Desktop,我们可以将之前创建的容器转换为我们 kind 集群中的一个 Pod。

首先,我们必须将我们的镜像推送到我们的 kind 集群。 推送镜像到 kind

现在镜像已可用,我们可以使用 Podman Desktop UI 将容器部署到 Pod 中 部署到 Kubernetes

  1. 导航到“容器”部分
  2. 在 webserver 容器上,点击“部署到 Kubernetes”按钮
  3. 选择您的 kind 集群

从容器到 Kubernetes manifest 的转换特别有价值,它消除了为简单部署手动编写 YAML 文件的需要。Podman Desktop 会在生成的 Kubernetes YAML 中添加 `imagePullPolicy: IfNotPresent`。这确保我们使用的是刚刚推送到集群的镜像。请务必将其添加到您的 Kubernetes YAML 中,或对您的镜像使用特定的标签,以避免 默认拉取策略 (`Always`)。

监控 Kubernetes 事件和资源

了解 Kubernetes 集群中发生的事情对于有效开发至关重要。在最新版本的 Podman Desktop 中,您现在可以在 UI 中检查 Kubernetes Pod 的事件。

让我们检查一下我们的 Pod 是否已成功创建并正在运行。

  1. 导航到左侧导航栏中的“Kubernetes”
  2. 点击“Pods”子导航
  3. 点击您刚刚创建的 Pods
  4. 滚动到底部并检查“事件”
  5. 我们可以看到我们的 Pod 已经启动并正在运行

View pod events

我们还可以查看“日志”选项卡以查看正在运行的 Pod 的日志。 查看 pod 日志

视频演示

结论

Podman Desktop 通过提供以下功能,显著简化了容器和 Kubernetes 的开发体验:

  • 一个用于构建和管理容器的统一界面
  • 与 Kubernetes 和 OpenShift 的无缝集成
  • 强大的日志记录和调试工具
  • 连接本地开发和生产 Kubernetes 环境的桥梁

无论您是刚刚开始使用容器还是管理复杂的 Kubernetes 部署,Podman Desktop 都提供了简化工作流程并提高生产力的工具。作为 CNCF 项目,它将继续随着云原生社区的需求而发展,使其成为任何开发人员工具包中越来越有价值的工具。

立即试用 Podman Desktop,体验它如何改变您的容器、Kubernetes 和 OpenShift 工作流!

使用 Podman 和 Podman Desktop 增强您在 VS Code 中的容器开发

·5 分钟阅读
Matt Demyttenaere
产品经理

开发容器化应用程序有时会感觉很复杂,但有了合适的工具,它可以成为一个流畅高效的过程。在这篇博文中,我们将探讨如何利用 Visual Studio Code (VS Code) 的强大功能,结合 Podman 和 Podman Desktop 来简化您的容器开发工作流程。我们将介绍如何设置和使用两个与 Podman 集成的 VS Code 扩展。

VS Code:您的容器开发 IDE

VS Code 是一款流行且功能多样的代码编辑器,可以通过扩展来增强其功能。对于容器开发,有几个优秀的扩展可以与 Podman 无缝集成。

先决条件

在我们开始之前,请确保您已安装以下软件:

  • Podman:请遵循官方网站上的安装说明。
  • Podman Desktop:官方网站下载并安装 Podman Desktop。
  • Visual Studio Code:官方网站下载并安装 VS Code。

VS Code 扩展

为了将 VS Code 与 Podman 集成,我们有两种扩展可供选择:

  1. Microsoft 的容器工具扩展“容器工具”扩展为容器相关任务提供了出色的支持,包括构建镜像、管理容器以及处理 Containerfile 和 Dockerfile。微软最近宣布他们将把 Docker 扩展发展为容器工具扩展,以支持 Podman 等其他工具!
  2. Pod Manager:这个扩展是由我们社区的一位成员创建的,并且完全开源。它旨在帮助您直接从 VS Code 界面管理 Podman 容器、镜像、卷和网络。

虽然您不太可能同时使用这两个扩展,但比较它们将帮助您了解各自的优缺点,最终更容易选择最适合您需求的扩展。因此,在本博客文章中,我们将逐个安装它们。

选项 1:微软的容器工具扩展

要安装此扩展:

  1. 打开 VS Code。
  2. 点击活动栏中的扩展图标(或按 Ctrl+Shift+XCmd+Shift+X)。
  3. 搜索“Container Tools”并安装微软发布的扩展。

为 Podman 配置 VS Code

容器工具扩展通常在 Docker 未运行时通过查看 `DOCKER_HOST` 环境变量自动检测 Podman。在 Podman Desktop 中,导航到“设置”>“Docker 兼容性”>“第三方工具兼容性”,并确保该选项已启用。了解更多关于我们文档中 Docker 兼容性 的信息。

enabling docker compatibility in the settings

选项 2:Pod Manager

要安装此扩展:

  1. 打开 VS Code。
  2. 点击活动栏中的扩展图标(或按 Ctrl+Shift+XCmd+Shift+X)。
  3. 搜索“Pod Manager”并安装由 dreamcatcher45 发布的扩展。

使用 VS Code 扩展

既然我们已经安装并配置了扩展,让我们看看如何使用它们。

使用 Containerfiles 和 Dockerfiles

这两个扩展都为 Containerfile 和 Dockerfile 提供语法高亮、代码补全和语法检查功能。在 VS Code 中打开一个 Containerfile,您将立即从这些功能中受益。

您也可以直接从 VS Code 构建镜像:

  1. 在资源管理器视图中右键单击 Containerfile。
  2. 选择“构建镜像”。
  3. VS Code 将提示您输入镜像名称和标签。
  4. 然后,扩展将使用 Podman 构建镜像。
  5. 之后,您将在侧边栏中看到构建好的镜像。

如果您使用命令行来构建镜像,您也会在这里看到它们。

building a Containerfile in vs code using the microsoft extension

管理容器

这些扩展还允许您直接从 VS Code 管理容器。您可以启动、停止、重启和移除容器,以及查看它们的日志和检查它们的配置。

要查看容器日志:

  1. 点击活动栏中的容器图标。
  2. 您将看到您的容器、镜像和网络列表。
  3. 右键单击一个容器以执行操作。

using Container Tools extension to view the logs of the container

同样,使用 Pod Manager 扩展,我们可以直观地检查容器、镜像和卷。

  1. 点击活动栏中的 Pod Manager 图标。
  2. 您将看到您的容器、镜像和网络列表。

using podmanager to view all the running containers, images and volumes

并管理容器的生命周期。

using podmanager to manage the lifecycle of the container

当然,还可以通过可视化界面来解决问题。

using podmanager to enter the container

结论

相比之下,这两个扩展提供了几乎相同的功能集,因此选择哪个 UI 完全取决于您的偏好。就我个人而言,我将坚持使用 Pod Manager,因为它的标志是一个海豹 🦭。请记住,如果您在使用这些工具或 Podman Desktop 时遇到任何问题,请通过 发起讨论创建问题 告知我们。

通过结合 VS Code、Podman 和 Podman Desktop 的强大功能,您可以创建一个流线化且高效的容器开发工作流程。VS Code 扩展提供了与 Podman 的出色集成,允许您直接从代码编辑器管理容器、构建镜像和使用 Containerfiles。我们很高兴看到 Microsoft 正在拥抱 Podman 并将其支持集成到他们的生态系统中。Podman Desktop 通过可视化界面来管理您的容器环境,并帮助您从开发环境迁移到生产 Kubernetes 环境。拥抱这些工具,提升您的容器开发体验!