跳转到主内容

7 篇标有“extensions”的帖子

查看所有标签

Podman Desktop BootC 扩展 1.6 发布

·4 分钟阅读
Charlie Drage
软件工程师

BootC 扩展 1.6 发布!🎉

banner

BootC (Bootable Container) 是 Podman Desktop 的一个扩展,用于构建可启动的*容器*磁盘镜像。它可以将标准容器镜像转换为可完全通过 U盘 启动的操作系统!

您可以通过 Podman Desktop 扩展目录 更新或安装该扩展。

此版本引入了令人兴奋的新功能和改进。

  • 详细的示例页面: 每个示例现在都有一个专门的页面,提供详细的使用说明。
  • 交互式构建配置创建器: 直接在图形界面中通过填写表单轻松创建您的构建配置。
  • 实验性 Linux 虚拟机支持: 增加了在生成的镜像上运行 Linux 虚拟机的支持。

发布详情

示例现在有了详情页面

每个示例现在都包含一个专门的详情页面!点击示例部分中的更多详情,查看每个示例的逐步说明。

example details

交互式构建配置创建器

无需手动创建自定义构建配置。使用我们交互式的构建配置创建器,通过用户友好的表单轻松生成您自己的构建配置。

build config interactive

实验性 Linux 虚拟机支持

现在已支持在生成的镜像上运行虚拟机!请在磁盘镜像页面查找新的虚拟机(实验性)选项卡或专门的虚拟机启动按钮。

linux support


详细发布变更日志

功能 💡

  • 功能:由 @cdrage 在 #1017 中添加示例详情页面
  • 功能:由 @cdrage 在 #1026 中添加构建配置器
  • 功能:由 @cdrage 在 #1102 中添加 Linux 虚拟机实验性支持

杂项 🛠️

  • 杂务:由 @deboer-tim 在 #969 中移除 yarn 引用
  • 杂务:由 @deboer-tim 在 #971 中更新到最新的 UI 库
  • 杂务:由 @deboer-tim 在 #970 中添加发布流程
  • 杂务:由 @benoitf 在 #1001 中删除 `packages/backend/yarn.lock`
  • 杂务:由 @benoitf 在 #999 中重命名 CODEOWNERS 中的团队
  • 杂务:由 @benoitf 在 #1003 中刷新依赖项以更新到最新版本
  • 杂务:由 @cdrage 在 #1098 中为示例添加遥测
  • 杂务:由 @cdrage 在 #1078 中更新 `bootc-image-builder` 镜像
  • 杂务:由 @cdrage 在 #1089 中从 AMD64 虚拟机命令中移除 HVF 加速
  • 杂务:由 @cdrage 在 #1014 中为每个示例添加 README
  • 杂务:由 @cdrage 在 #1015 中重命名章节
  • 杂务:由 @cdrage 在 #1116 中恢复到 Vite 5 并更新 Vitest

修复 🔨

  • 修复:由 @dgolovin 在 #1085 中修复 E2E 测试工作流安装 PNPM 失败的问题
  • 修复:由 @dgolovin 在 #1103 中修复 E2E 主工作流的节点设置步骤
  • 修复:由 @cbr7 在 #1052 中修复到 webview 的导航
  • 修复:由 @cbr7 在 #998 中修复 bootc E2E 测试

文档 📚

  • 文档:由 @cdrage 在 #1115 中更新发布文档

将 CNCF 项目与 Podman Desktop 结合使用

·4 分钟阅读
Charlie Drage
软件工程师

plane

Podman Desktop 是一款强大的工具,用于管理和可视化云原生应用程序,并能与一系列 CNCF (Cloud Native Computing Foundation) 项目无缝交互。

对于处理单容器应用、使用 Compose 文件的多容器配置以及 Kubernetes 集群上的复杂分布式应用的开发人员来说,它是一个易于上手的平台。

Podman Desktop 对 CNCF 项目的关键特性

Podman Desktop 汇集了三大强大功能,用于管理从小到大各种规模的项目:

  • 容器管理:支持创建、运行和监控容器。
  • Compose 支持:允许您部署在 Compose 文件中定义的应用程序。这对于管理需要多个服务的应用程序特别有用,例如 Web 服务器、数据库和缓存。
  • Kubernetes 集成:提供管理多节点 Kubernetes 集群的工具,使其成为处理需要跨多个 Pod 和服务进行编排的更复杂分布式应用程序的理想选择。您可以使用 Podman Desktop 通过我们的 MinikubeKind 扩展设置您自己的开发集群。

Minikube

Minikube 是一个本地 Kubernetes 开发集群,它提供了一种学习和开发 Kubernetes 的简单方法。

Minikube 可以与 Podman Desktop 无缝集成,从而在 Podman 环境中实现 Kubernetes 开发工作流。这通过安装 Minikube 扩展实现,该扩展允许直接从 Podman Desktop 创建、管理和部署集群。

以下视频提供了从安装到创建集群的完整指南。

Backstage

Backstage 是一个由 Spotify 设计的开源平台,用于构建开发者门户。它使工程团队能够创建定制的、集中的中心,用于管理和文档化他们的服务、应用程序和基础设施。Backstage 的可扩展架构包括用于编目软件组件、组织文档、管理云资源和跟踪工作流的功能。

部署 Backstage 的一种流行方法是通过 Helm chart。部署后,您可以在 Kubernetes Dashboard 中查看 Backstage 的服务,以监控组件并确保正确配置。

backstage services

您还可以使用 Podman Desktop 的端口转发功能访问您已部署的 Backstage 实例。此功能允许您安全地将本地端口转发到在 Kubernetes 集群上运行的 Backstage 服务,从而可以轻松地从本地浏览器访问该实例。

backstage port forward

Dapr

Dapr (Distributed Application Runtime) 是一个开源的事件驱动运行时,旨在帮助开发者构建可在云或边缘环境中无缝运行的弹性、无状态和有状态应用程序。

Dapr 抽象了分布式系统的复杂性,为服务调用、状态管理、发布/订阅消息传递和资源绑定提供了构建块,从而简化了微服务和云原生应用程序的开发。

通过遵循 Dapr 的自托管 Podman 设置指南,您可以使用 Podman 在本地环境中部署 Dapr。

在安装 Dapr CLI 后,要使用 Podman 初始化 Dapr,请执行以下命令:

$ dapr init --container-runtime podman

初始化后,您可以在 Podman Desktop 中直接管理 Dapr 并与之交互。

dapr

此外,Podman Desktop 还提供了一个“启动浏览器”按钮,可以快速方便地访问 Dapr UI 以进行监控和管理。

dapr browser

结论

无论您是管理 Kubernetes 集群、利用 Backstage 的强大功能构建开发者门户,还是使用 Dapr 部署微服务,Podman Desktop 都提供了一个统一的环境来简化您的工作流程。

查看 毕业和孵化中项目的列表,发现更多使用 Podman Desktop 的可能性。

使用 Podman Desktop 创建 MicroShift 可启动镜像

·8 分钟阅读
Charlie Drage
软件工程师

banner

如果您不熟悉 BootC,它提供了一种令人印象深刻的方法,可以直接从单个 Containerfile 或预先存在的支持 bootc 的镜像将应用程序部署到裸机。

一个“可启动”镜像,也称为 BootC 容器镜像,允许您使用一个简单的容器镜像来创建一个完整的可启动操作系统,无论是 raw 格式的虚拟机镜像还是用于 USB 安装的 iso

此功能非常适合各种用途,从简单的 HTTP 服务器到为全栈应用程序提供支持的操作系统。

在本教程中,我们将部署一个 OpenShift 的衍生版本,称为 MicroShift,它是 OpenShift 的边缘优化版本,专为资源受限配置上的单节点设置而设计。可以将其视为 OpenShift 的紧凑版本!

整个过程都通过一个单独的 Containerfile(或 Dockerfile)来完成。

要求

开始本教程前,请确保您已具备:

构建 BootC 容器镜像

首先,我们将构建初始的 BootC 容器镜像,稍后我们将用它来创建一个可启动的操作系统。

登录 Red Hat 镜像仓库

在继续之前,请从目录中下载 Red Hat Authentication 扩展,以启用对 Red Hat 镜像仓库的访问。

red hat login

然后登录您的帐户。

red hat login sign in

下载您的 OpenShift 混合云拉取密钥

下载您的拉取凭证

它会以 pull-secret.txt 的形式下载。请将其存放在安全的位置。

创建 Containerfile(或 Dockerfile)

Containerfile 对于创建可启动镜像至关重要。

需要注意的是,在构建过程中,我们将提供*一个*参数,即 PASSWORD,以便通过 redhat 用户名登录虚拟机。

我们将使用 MicroShift 镜像模式 GitHub 文档中的 Containerfile。

将上述链接中的 Containerfile 复制到一个新文件中,我们将使用 Podman Desktop 来构建它。

$ curl https://raw.githubusercontent.com/openshift/microshift/main/docs/config/Containerfile.bootc-rhel9 -o Containerfile

使用 Podman Desktop 构建

选择 Containerfile 并在 Podman Desktop 中构建它。

您需要提供:

  • 在 Containerfile 中创建的 redhat 用户的密码。

在构建页面的参数中以 USER_PASSWD 的形式传递该参数。

build

使用 BootC Podman Desktop 扩展构建可启动镜像

安装

从扩展目录安装 BootC Podman Desktop 扩展。

install

构建镜像

现在,从我们的容器镜像创建可启动镜像!

点击导航栏上新的 BootC 图标,然后转到构建页面。

build_button

构建完成后,您会在仪表盘上看到一条确认信息。

接下来,选择我们构建的镜像,并为测试可启动镜像选择一个合适的输出格式。对于使用 QEMU 和其他虚拟机软件(如 libvirt)进行本地测试,RAW 是一个常见的选择。

测试镜像

探索各种测试镜像的方法,可以使用本地软件或云平台。以下是使用 RAW 输出的可启动镜像的一些常见步骤。

运行虚拟机

本指南不涵盖所有运行虚拟机的方法,但以下是最常见的几种:

当使用 Hyper-V 时,用 BootC 创建一个 .vhd 镜像。

  1. 构建时,选择 .vhd 选项。
  2. 安装 Hyper-V
  3. 导入虚拟机

配置和验证 MicroShift

启动虚拟机后,您现在可以配置 MicroShift 并验证连接。

复制 OpenShift 拉取凭证

在继续验证 OpenShift 之前,必须先将 OpenShift 拉取凭证复制过去,以便 MicroShift 可以下载需要 Red Hat 镜像仓库认证的容器镜像。

下面我们将把您之前下载的 OpenShift 凭证复制到虚拟机中。

  1. 下载您的 OpenShift 拉取凭证,它会以 pull-secret.txt 的形式下载。

  2. 使用 scp 复制到虚拟机

$ scp -P 2222 pull-secret.txt redhat@localhost:~/
  1. 通过 SSH 登录到虚拟机
$ ssh redhat@localhost -p 2222
  1. 将凭证移动到 /etc/crio/openshift-pull-secret
$ sudo mv pull-secret.txt /etc/crio/openshift-pull-secret
  1. 重启 microshift 服务
$ sudo systemctl restart microshift

列出 Pod

下面我们将通过 SSH 登录到虚拟机,并确认 MicroShift 正在正确部署 Pod。

  1. 通过 SSH 登录到虚拟机
$ ssh redhat@localhost -p 2222
  1. 将生成的 kubeconfig 文件复制到 ~/.kube/config
$ mkdir -p ~/.kube
$ sudo cp /var/lib/microshift/resources/kubeadmin/kubeconfig ~/.kube/config
$ sudo chown redhat ~/.kube/config
  1. 使用 ockubectl 验证 Pod 是否正在运行
$ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system csi-snapshot-controller-856bb8b9bc-9n7lj 1/1 Running 1 3d23h
kube-system csi-snapshot-webhook-7c64d4d4d7-98v6l 1/1 Running 1 3d23h
openshift-dns dns-default-n2td4 2/2 Running 2 3d23h
openshift-dns node-resolver-7cslg 1/1 Running 1 3d23h
openshift-ingress router-default-7cbc67954b-nqqc6 1/1 Running 1 3d23h
openshift-ovn-kubernetes ovnkube-master-zcqw5 4/4 Running 5 3d23h
openshift-ovn-kubernetes ovnkube-node-crnn9 1/1 Running 2 3d23h
openshift-service-ca service-ca-6799f567-k7lsc 1/1 Running 1 3d23h

使用 Podman Desktop 验证 MicroShift

或者,您可以将 MicroShift 配置文件复制到本地计算机,并在 Podman Desktop 上进行远程测试。

  1. 在您的本地计算机上,如果 .kube 目录不存在,请创建它。
$ mkdir ~/.kube
  1. 将远程 kubeconfig 文件复制到本地配置文件

在 MicroShift 中,一个 kubeconfig 文件会自动创建在 /var/lib/microshift/resources/kubeadmin/kubeconfig

将该文件复制到您的本地系统

scp -P 2222 redhat@localhost:/var/lib/microshift/resources/kubeadmin/kubeconfig ~/config

如果您已经有一个 ~/.kube/config 文件,请将 config 的内容复制到 ~/.kube/config 文件中。

  1. 使用 Podman Desktop 验证 MicroShift 集群

Podman Desktop 将自动检测您的 .kube/config 文件。

注意:您可能需要修改您的 .kube/config 文件,以反映您集群的正确域名或 IP 地址。

cluster

存储配置

默认情况下,存储配置需要一个 LVM 分区,并且不会部署 LVMS 存储管理器。这是由于构建 RAW 镜像时的限制。要将 OpenShift 工件与存储功能一起使用,需要一个替代的非本地存储解决方案。添加 LVM 支持的功能正在此拉取请求中跟踪。

结论

本教程提供了使用 Podman Desktop 和 BootC 扩展部署可启动 MicroShift 镜像的分步指南。通过利用 BootC 和 Podman 等工具,我们简化了创建轻量级但功能齐全的 OpenShift 环境的过程,该环境适用于单节点边缘计算场景。

感谢您的跟随,祝您部署愉快!

Podman Desktop 1.8 发布

·12 分钟阅读
Tim deBoer
架构师

Podman Desktop 1.8 发布! 🎉

Podman-desktop-1-8-hero

我们发布了一个充满海豹魅力的版本!此版本引入了:

  • Podman 4.9.3Podman 4.9.3 现在已包含在 Windows 和 Mac 安装程序中。
  • Kubernetes 浏览器:用于处理 Kubernetes 集群的高级 UI 和新工具。
  • 全局入门引导:通过一系列引导式工作流程,轻松配置和设置您的环境。
  • 学习中心:为开发者发现新的用例和功能。
  • 扩展 API 改进:对扩展 API 的又一次重大更新,为 🦭 Podman Desktop 的扩展带来更多好处。
  • 增强的构建、Pod 列表和故障排除页面:支持为不同平台构建,升级了 Pod 视图等。

Podman Desktop 1.8 现已发布。点击此处下载


发布详情

Podman 4.9.3

🦭 Podman 4.9.3 包含针对我们用户报告的稳定性和可靠性问题的关键修复——特别是如果您正在使用 Apple Silicon 架构。如果您一直遇到困难,我们强烈建议您更新!

Kubernetes 浏览器

在过去的版本中作为实验性功能逐步引入,我们已准备好扩展我们的能力,以帮助开发者从容器过渡到 Kubernetes。在此版本中,我们引入了一组新功能,使开发者能够使用更多的 Kubernetes 资源,从而对您的应用程序提供更精细和交互式的控制。

现在,Podman Desktop 中提供了一个新的 Kubernetes 资源管理器,除了对 Pod 的现有支持外,还能够处理 Deployment、Service、Ingress 和 Route。对于这些资源中的每一个,Podman Desktop 都提供有关集群上资源状态的实时信息。在此概览页面的右上角,您还可以单击“应用 YAML”以在集群上创建或更新资源,类似于“kubectl apply -f”,并查看当前的连接状态。

Deployments Overview

就像处理本地容器或镜像一样,您可以点击查看摘要、检查和 Kube (YAML) 页面上的更多详情。

Deployment Summary

发现问题?您可以直接从 Kube 选项卡编辑并应用更改。

Deployment Kube YAML

🦭 Podman Desktop 持续弥合差距和差异,使使用容器的开发者能够通过高效的工作流程从本地工作站定位 Kubernetes。这一切都建立在一些已有的出色功能之上:

  • Podman 的原生 Kubernetes 支持
  • Podify - 将容器转换为 Pod
  • 使用 Minikube 和 Kind 扩展设置本地 Kubernetes 环境
  • 部署到 Kubernetes 并将本地镜像从 Podman 推送到 Kubernetes 环境
  • 管理 Kubernetes 上下文
  • 连接到远程 Kubernetes 集群

全局入门引导

通过引入新的基于向导的引导流程,配置和设置本地环境变得更加容易。在此流程中,开发者可以选择他们需要的不同工具,Podman Desktop 将引导他们完成每个工具的配置和设置。

全局引导流程允许开发者配置 Podman、Compose 和 kubectl(用于使用 Kind 和 Minikube 或远程 Kubernetes 环境)。这使得过渡到 Podman Desktop 变得更简单,因为任何必要的依赖项都会自动配置。

Global Onboarding

学习中心

在此版本中,我们在仪表板上添加了一个学习中心,使开发者能够发现、学习和扩展他们在容器化相关主题方面的知识。这些指南方便易用,涵盖了从学习如何容器化现有应用程序到发现 Podman Desktop 的最新功能以及如何最佳使用它们等主题。

Learning Center

扩展 API 改进

我们继续投入大量时间添加新的扩展 API,以便为即将推出的扩展提供更多功能和与 🦭 Podman Desktop 更好的集成。

  • 拆分 getMatchingPodmanEngine #6160
  • 创建容器时添加 HealthCheck 参数 #5981
  • 向扩展暴露 listPods #5864
  • createPod 的标签 #5862
  • 允许在 Pod 内创建容器 #5848
  • OpenPod 应重定向到 Pod 的视图 #5846
  • 通过缺失的参数增强 createContainer API #6011
  • 允许扩展使用 openDialog/saveDialog #6009
  • 允许在贡献的操作中使用自定义图标 #5995
  • 添加缺失的类型 #6213
  • 允许从扩展导航到特定的 webview #5899
  • 向扩展暴露 stopPod 和 removePod #5898
  • 使用新的开放/保存对话框 API #6051, #6050, #6049
  • 扩展 Podman Desktop API 构建镜像参数 #5882
  • 允许扩展统计容器 #6211

其他值得注意的增强功能

此版本我们添加了超过 40 个功能,以下是一些其他亮点:

  • 改进 Podman Desktop 更新提醒 #6068
  • 在故障排除中添加收集和下载日志按钮 #5119
  • 为 Linux 启用 podman machine #5902
  • 多重删除动画 #5717
  • 镜像删除动画 #5709
  • 卷删除动画 #5707
  • 打开 OpenShift 路由 #5560
  • 添加打开已创建 Pod 详情的功能 #4499
  • 部署到 kubernetes 集群时使用 https #5824
  • 仪表盘页面的入门轮播 #5142
  • 删除对象时添加确认对话框 #5445

我们还在实现浅色模式方面取得了重大进展:

  • 为反转内容使用主题颜色 #6029
  • 为次要导航使用主题颜色 #6028
  • 为全局导航应用主题颜色 #6027
  • 为标题栏应用主题颜色 #6025
  • 一致的关闭按钮 #6060
  • 在快速选择中使用组件 #6057
  • 为 webview 提供 CSS 颜色 #5963
  • 将颜色发布到应用程序的样式中 #5962
  • 允许扩展通过颜色集贡献主题 #5961
  • 颜色存储 #5960
  • 包含颜色注册表 #5958
  • 添加实用方法以获取主题值 #5947
  • 当操作系统更改颜色时发送事件 #5946
  • 清理 dark: 前缀颜色 #5944
  • 将调色板提取到其自己的文件中 #5931
  • 输入组件 #5904
  • 输入错误,在运行镜像时使用输入组件 #5988
  • 在构建镜像时使用输入 #5986
  • 为代理设置使用输入 #5943
  • 为注册中心使用输入 #5939
  • 从容器创建 Pod 时使用输入 #5935
  • 在扩展页面中使用输入组件 #5934
  • 在创建卷时使用输入 #5933
  • 在重命名镜像时使用输入 #5964
  • 在部署到 Kube 时使用复选框组件 #6030

值得注意的错误修复

我们在此版本中修复了大量错误,包括以下内容:

  • 在将容器复制到 Pod 时复制挂载的卷 #5640
  • 更改“卷”和“容器”列表上“创建”按钮的顺序 #6092
  • 在上下文值更新时刷新引导项 (#4597) #6173
  • 在 informer 连接错误时提供更好的日志 #6158
  • 网站:替换损坏的链接 #6111
  • 居中空屏幕 #6077
  • 打开本地文件夹/文件时不再请求确认 #5743
  • 强制面包屑垂直对齐 #5741
  • 认证页面中的长用户名 #5737
  • 用于更新任务名称的 message 属性 #5731
  • 导航项 UI 修复 #5886
  • 重新显示注册中心图标 #5843
  • 检查路由 TLS 以使用 http 或 https #5825
  • 白色工具提示 #5887
  • 限制注册中心用户名字段宽度 #5718
  • 在 Linux 上移除 Docker 兼容性警告和按钮 #5903
  • 容器的镜像使用情况 #5663
  • 删除当前上下文时应更改/更新 #5819
  • 不要折叠侧边栏中的类别 #5727
  • 使 localhost 成为 env.openExternal 调用的有效域 #5716

文档

除了新版本的 🦭 Podman Desktop,文档也进行了以下改进:

  • containerEngine API 中与容器和镜像相关的方法 #5891
  • 移除了使用 OpenShift Local 安装 Podman 的说明 #6070
  • 记录镜像检查器提供程序 API #5813
  • 添加 withProgress API 文档 #5736
  • 添加了指向故障排除页面的链接 #5734
  • 在 macOS M1/M2/M3 上的安装故障排除 #5708
  • 删除卷 #5707
  • 添加了 从另一个 WSL 实例访问 Podman (配置, 验证) #5706
  • 使用 typedoc 生成 API 文档 #5705

社区致谢

🎉 我们要衷心感谢所有帮助 🦭 Podman Desktop 变得更好的人。在此版本中,我们收到了以下人员的拉取请求:


最后说明

已修复的问题

本次发布中修复的完整问题列表可在此处查看。

下载地址

从网站的下载部分获取最新版本,并使用 Podman Desktop 提升您的开发之旅。此外,访问 GitHub 仓库,查看您如何帮助我们改进 Podman Desktop。

Podman Desktop 1.7 发布

·8 分钟阅读
Tim deBoer
架构师

Podman Desktop 1.7 发布!🎉

Podman-desktop-1-7-hero

我们发布了一个充满海豹魅力的版本!此版本引入了:

  • Podman 4.9.0: Windows 和 Mac 安装程序现已包含 Podman 4.9.0
  • 扩展 API 改进:对扩展 API 的重大更新,为 🦭 Podman Desktop 的扩展带来了更多可能性。
  • 实验性 Kubernetes UI:抢先体验更高级的 Kubernetes 集群操作 UI。
  • 增强的构建、Pod 列表和故障排除页面:支持为不同平台构建,升级了 Pod 视图等。

Podman Desktop 1.7 现已发布。点击此处下载


发布详情

Podman 4.9

🦭 Podman 4.9 包含了针对用户报告的稳定性和可靠性问题的关键修复。如果您之前遇到了问题,我们强烈建议您更新!

如果您使用的是 Mac M3,我们知道 Podman 存在一个严重问题,并预计很快会更新以解决此问题:#21353 - 更新到新的 QEMU(基于 #1990 - M3 上的 QEMU 问题)。如果您遇到此问题,此处和此处有解决方法。

扩展 API 改进

在此版本中,我们花费了大量时间添加新的扩展 API,以使即将到来的扩展具有更强大的功能,并更好地集成到 Podman Desktop 中。我们增加了对全页 Webview、图像徽章、图标、导航 API 以及对容器引擎更多功能的 API 访问的支持。

  • UI 中的 Webview #5594
  • 为扩展添加 webview API #5592
  • 允许扩展列出 webview #5628
  • 创建容器但不启动 #5643
  • 公开 create/start Pod 和 replicatePodmanContainer #5648
  • 为扩展公开创建/列出/删除卷的功能 #5598
  • 向 API 添加 getImageInspect #5596
  • 为镜像图标新增贡献点 #5543
  • 添加 BuildOption #5533
  • 向镜像构建方法添加平台参数 #5501
  • 公开构建镜像方法 #5500
  • 导航 API #5558
  • 通过扩展为镜像列表/详情注册徽章 #5557
  • 从私有注册中心安装扩展 #5473

实验性 Kubernetes UI

过去几个月我们一直在努力扩展对 Kubernetes 的支持。这项支持尚未完全成熟,但如果您正在使用 Kubernetes 集群,我们很乐意开始收集您对发展方向的反馈!

要“尝鲜”并试用,请前往“设置 > 首选项 > Kubernetes”,并启用实验性选项。

Kubernetes Preference

这将在主导航栏中添加三个新项目,允许您查看部署、服务以及 Ingress 和路由。

Kubernetes Deployments Kubernetes Services Kubernetes Ingresses & Routes

在此版本中,您可以点击部署和服务来查看更多详情(如摘要、检查和 YAML 标签页),但目前尚不支持 Ingress 或路由。

我们希望您能顺利使用,但也请通过提交 Github issue 让我们知道您还希望看到哪些功能。

增强的构建、Pod 列表和故障排除页面

构建镜像时,您现在可以选择为哪个平台构建镜像。

Build platform

我们已将 Pods 视图升级为与镜像和卷相同的表格组件。这允许排序和更好的列缩放。

Pods table

遇到问题想重新开始?故障排除页面已切换到标签页,并提供了一个选项来清除您现有的安装。

Troubleshooting Purge


其他值得注意的增强功能

本次发布我们增加了超过 40 个功能,以下是一些其他亮点

  • 按 Esc 退出引导流程 #5612
  • 快速选择不区分大小写的过滤 #5582
  • 添加 UI 徽章组件 #5522
  • 扩展构建镜像中的连接输入类型 #5499
  • 导航栏区域 #5449
  • 改进认证提供者页面 #5424
  • 添加 groupContributions 逻辑 #5415
  • 添加在开发模式下选择如何打开开发者工具的选项 #5274
  • 表单进度 #5253
  • 改进的提供者卡片 #5013

值得注意的错误修复

我们在本次发布中修复了超过 25 个错误,包括以下内容

  • 在将容器复制到 Pod 时复制挂载的卷 #5640
  • 添加缺失的 `Labels` 属性 #5632
  • 修复仅创建容器时 UI 不刷新的问题 #5619
  • 快速选择过滤器会移除所选内容 #5613
  • 为 createContainer API 添加缺失的类型 #5504
  • 使用 window.showMessageBox 而不是自定义模态框 #5421
  • 添加 cleanupSupport 属性 #5309
  • 空屏幕默认重置过滤器 #5307
  • 不获取 compose 的预发布版本 #5296
  • providerinfo 徽章 #5268
  • 镜像存在时长更新时不要刷新镜像列表 #5267
  • 重命名 kubectl 扩展 #5255
  • 首先尝试在用户路径中搜索 kubectl #5248
  • 注销扩展时处理 wsl2 命令 #5246
  • 从归档加载镜像时处理事件 #5240
  • 编辑 Podman machine 仅支持 macOS #5239
  • 改进默认贡献操作图标 #5236
  • 主/次按钮颜色应为白色 #5232
  • 更新 Podman 时禁用通知 (#5228) #5229
  • 允许表格列指定溢出 #5222
  • ProgressImpl 正确地中间件任务以设置正确的结果状态 #4342

文档

除了新版本的 🦭 Podman Desktop,文档也进行了以下改进:

  • 更新 compose 博客文章链接 #5547
  • 因存在另一个实例而应用终止时的消息 #5348
  • 记录引导 ID 规则 #5211
  • 多平台扩展 #5205
  • 关于 Compose guestbook 应用程序的博客文章 #5033
  • 重构了设置容器注册中心 #4965

社区致谢

🎉 我们要向所有帮助 🦭 Podman Desktop 变得更好的贡献者(没错,就是你,Anders!)表示衷心的感谢。在这次发布中,我们收到了以下人员的拉取请求


最后说明

已修复的问题

本次发布中修复的完整问题列表可在此处查看。

下载地址

从网站的下载部分获取最新版本,并使用 Podman Desktop 提升您的开发之旅。此外,访问 GitHub 仓库,查看您如何帮助我们改进 Podman Desktop。

Podman Desktop 1.6 发布

·15 分钟阅读
Stevan Le Meur
产品经理

Podman Desktop 1.6 版本发布!🎉

Podman-desktop-1-6-hero

此版本引入了

  • Minikube 特色扩展:Minikube 扩展,用于在容器中创建本地 Kubernetes 集群。
  • Podman 4.8.2:Windows 和 Mac 安装程序现已包含 Podman 4.8.2
  • 命令行工具设置页面:管理和更新您的 CLI 工具。
  • Kubernetes 上下文管理器:浏览您所有的 Kubernetes 上下文,设置默认上下文并移除未使用的上下文。
  • 可编辑的 Podman Machine (适用于 MacOS):轻松调整和重新配置 Podman 运行时环境。
  • 容器和 Pod 列表的过滤器:专注于您正在使用的容器和 Pod。
  • 卷和镜像列表的排序功能:根据您的首选标准对卷或镜像进行排序。
  • 容器和 Pod 列表中的环境列:轻松捕获容器或 Pod 正在运行的环境。
  • 扩展 API 改进:对扩展 API 的另一组改进,为 🦭 Podman Desktop 的扩展带来了更多可能性。

Podman Desktop 1.6 现已可用。点击此处下载


发布详情

对于需要在本地运行 Kubernetes 并为开发和实验目的重现接近生产环境的开发者,Podman Desktop 允许用户在本地机器上轻松设置该环境。有两个扩展提供了在本地配置开源 Kubernetes 集群的功能,您可以选择 KindMinikube

Minikube 扩展允许您在工作站上安装 Minikube,并在容器中设置一个本地运行的 Kubernetes 集群!是的,您没看错——在容器中,类似于 Kind 的工作方式。优点是它更轻巧、启动更快。使用 Minikube 的一个优点是,您可以使用 Podman 在本地构建镜像,并自动将其在本地 Kubernetes 集群中可用——这将在您测试应用程序时加快周转时间。如果您想了解更多信息,请阅读以下博客文章

Minikube-feature-extension

命令行工具配置:Compose 和 Kubectl

通过在“设置”中添加一个新部分来管理命令行工具,配置和管理您的设置变得更加容易。在 Podman Desktop 中,扩展可以列出对用户有用或使用已安装扩展所需的命令行工具。

Podman Desktop 中有两个命令行工具,可以让您查看它们是否已安装或需要更新:

  • 用于运行 'podman compose' 命令的 Compose 二进制文件。
  • 用于与 Kubernetes 集群交互的 kubectl。

cli-tools

在设置中,您可以看到已安装的命令行工具及其版本——当有新版本可用时,您会收到一个小通知,让您轻松更新到该版本。

Compose-Update

Kubernetes 上下文管理器

我们正在从“设置”中引入一个新屏幕,允许您轻松管理 Kubernetes 上下文。Podman Desktop 已经提供了状态栏中方便的上下文切换器,但是当您处理多个 Kubernetes 环境时,最终会得到一个又大又长的 Kubernetes 上下文列表是很常见的。

新的 Kubernetes 上下文界面让您可以轻松查看所有已注册的 Kubernetes 上下文。您可以使用该界面清理已注册的上下文,或设置当前(默认)上下文。

Kubernetes Contexts List

可编辑的 Podman Machine

Podman 机器是专门为在 Mac 和 Windows 上运行 Podman 容器而设计的虚拟环境。它允许用户在隔离和受控的环境中管理和操作容器化应用程序。创建 Podman 机器时,您可以配置其设置:内存、CPU 和磁盘大小。

我们收到了关于即时重新配置 Podman 机器的功能的反馈。现在 macOS 用户可以实现这一点,这在您开始使用一个环境并需要根据新需求和希望在 Podman 环境中运行的容器进行扩展时特别有用。

Editable podman machine

您会注意到我们改进了用于配置 Podman machine 选项的滑块——并且还引入了直接输入数值的方式。

容器和 Pod 的选项卡/过滤器

当您迭代应用程序的开发时,能够快速识别您正在使用的容器和 Pod 至关重要。因此,我们在容器和 Pod 列表的顶部添加了过滤器,让您可以轻松查看所有容器/Pod、仅运行的容器/Pod 或仅停止的容器/Pod。

Filters for containers and pods

卷和镜像列表的排序功能

卷和镜像列表得到了改进,现在可以根据您选择的标准进行排序。例如,您可以按镜像大小进行筛选——这在您想要清理环境时可能很方便。

Sorting for Volumes and Images

容器和 Pod 列表上的环境列

Podman Desktop 能够与多个提供商一起工作:它可以与多个容器引擎和多个 Kubernetes 环境一起工作。为了更容易识别容器和 Pod,并根据它们运行的环境进行区分,我们正在容器和 Pod 列表中引入一个新的环境列,以显示徽章。

Environment Column

更好地查看 Pod 中运行的容器

Pod 列表已进行了改进,以提供更清晰的可见性和对其中运行的容器的访问。现在每个容器都有一个点,您可以将鼠标悬停在每个点上以显示容器的信息——如果您单击它,您将能够访问容器的详细信息。

Visibility for containers in Pods

扩展 API 改进

🦭 Podman Desktop 扩展 API 获得了许多改进,包括:

  • 解释如何为扩展创建入门工作流的文档 #4837
  • 记录了扩展如何挂钩到 UI #4633
  • 记录了如何实现 API 客户端 #4636
  • 镜像检查器扩展 API #4662
  • 添加了用于注册 CLI 更新器的 API #5064

其他值得注意的增强功能

  • 显示容器连接类型和端点 #5098
  • 为 Pods/容器添加环境列 #4583
  • 在扩展列表中显示扩展图标 #5101
  • 引入了 UI 图标图像组件 #5117
  • 将图标添加到 extensionInfo #5089
  • 在 RunOptions 上添加了编码选项 #4942
  • 引入了外观属性,但目前仅支持深色模式 #4887
  • 默认表格排序 #4860
  • 在任务管理器中显示已完成入门流程的通知 #4811
  • 当仪表板有新内容时添加紫色圆点 #4782
  • Argos CI:引入 Argos CI 以跟踪和检测网站上的视觉回归
  • 添加了命令面板:添加启用属性 #4630
  • 添加了遥测和使用数据的文档 #4618
  • 引入了表格组件 #4545
  • 添加了中止构建镜像的功能 #4538
  • 在命令面板中添加了对类别的支持 #4531
  • 将 flatpak 升级到 org.freedesktop.Platform 版本 23.08 #3968
  • 将打开暴露的 URL 添加到 Pod 详情 #3762

值得注意的错误修复

  • 修复:如果断开连接,则重新连接到 /events #4809
  • 修复:重启机器后重置 loggerhandlerKey #5168
  • 修复:修复:用错误的标志创建了 podman machine #5178
  • 修复:如果配置无效,避免崩溃 #5182
  • 修复:扩展安装检查架构和操作系统 #5191
  • 修复:使用 URL 进行代理规范并添加验证 #4825
  • 修复:不更改 markdown 按钮的颜色和下划线 #5138
  • 修复:当连接被移除时不要重新连接 #5131
  • 修复:表头不应允许文本选择 #5118
  • 修复:为链接添加样式 #5108
  • 修复:launch.json 引用了错误的脚本 #5094
  • 修复:不链接到 k8s 集群服务器 5087
  • 修复:将完整的 imageInfo 传递给检查函数 #5069
  • 修复:容器选项卡应与 Pods 匹配 #5057
  • 修复:恢复禁用按钮的样式 #5056
  • 修复:响应式地更新当前上下文 #5055
  • 修复:使 ProviderResultPage 不更改输入值 #5030
  • 修复:为表格添加 rowgroup #5005
  • 修复:为路由对象添加 path 属性 #4981
  • 修复:移除错误的哈希标记 #4971
  • 修复:检查扩展文件夹是否包含 package.json #4964
  • 修复:重构列表 UI 组件 #4953
  • 修复:Compose 入门流程的 succeeded/completed 状态 #4947
  • 修复:从 markdown 按钮渲染中移除 flex 类 #4934
  • 修复:在 Windows 上使用中文作为系统语言时无法读取 wsl 版本 #4918
  • 修复:保留自动启动设置 #4879
  • 修复:使用 vi.waitUntil 代替带等待 promise 的循环 #4861
  • 修复:在 Windows 上执行 compose 命令时的 docker 主机 #4855
  • 修复:在 UI 中合并了 compose 部署到 kube 的页面 #4827
  • 修复:使用 URL 进行代理规范并添加验证 #4825
  • 修复:如果断开连接,则重新连接到 /events #4809
  • 修复:移除 PatternFly 后,移除固定高度 #4804
  • 修复移除 PatternFly 后的背景颜色 #4803
  • 修复:报告已停止机器的指标 #4787
  • 杂项:更新到 docusaurus v3.0.0 #4764
  • 杂项:移除 patternfly #4762
  • 修复:避免发送遥测使用情况,因为此方法每 5 秒调用一次 #4692
  • 修复:开发模式下 roots.exe 的位置 #4654
  • 修复:如果任何端口被占用,则禁用创建/启动容器 #4637
  • 修复:修复构建镜像测试中的设置 #4625
  • 修复:查找一个空闲端口 #4616
  • 修复:减小仪表板上提供商卡片的大小 #4615
  • 修复:缩短文档导航部分的标题 #4613
  • 修复:如果容器引擎操作在详情页失败,则报告错误 #4556
  • 修复:移除上一个/下一个栏 #4548
  • 修复:缩减网站页脚 #4546
  • 修复:处理不再是 JSON 数组对象的 compose format json #4540
  • 修复:如果正在推送,则禁用推送到 kind 菜单项 #4530
  • 修复:检查自签名证书消息,并在编辑注册表密码时使用不安全参数 #4523
  • 修复:为摘要页面添加自动滚动 #4504
  • 修复:分析扩展时报告错误 #4380
  • 修复:允许编辑构建容器文件 #4471
  • 重构:更新了 compose 入门安装流程 #4479
  • 重构:从状态栏移除 compose #4492

文档

伴随 🦭 Podman Desktop 新版本,文档也得到了以下改进:

  • 按提供商重新组织文档导航 #4558
  • 为 Windows 开发添加了 vsc 运行时依赖 #5091
  • 显示 lima podman socket 的位置 #5090
  • 修复了 releases 的 URI 中的拼写错误 #4909
  • 解释如何为扩展创建入门工作流 #4837
  • 使 lima 能够同时提供两者 #4789
  • 关于 minikube/共享镜像的博文 #4735
  • 从 windows 故障排除中移除重复文本 #4652
  • 添加实现 api 客户端的步骤 #4636
  • 修复了 limactl 的主要 lima 命令 #4623
  • 实施改进后对 Lima 提供商进行清理 #4622
  • 更新关于自动合并的文档 #4519
  • 为注册表文档使用标准操作系统选项卡 #4497
  • 修复了 mahine -> machine #4495
  • 为注册表部分添加了截图并修复了格式 #4472

社区致谢

🎉 我们想对所有帮助使 🦭 Podman Desktop 变得更好的人表示衷心的感谢。在此版本中,我们收到了以下人员的拉取请求:


最后说明

已修复的问题

此版本中修复的完整问题列表可在此处查看。

下载地址

从网站的下载部分获取最新版本,并使用 Podman Desktop 提升您的开发之旅。此外,访问 GitHub 仓库,查看您如何帮助我们改进 Podman Desktop。

Podman Desktop 1.5 发布

·12 分钟阅读
Máirín Duffy
用户体验设计师

Podman Desktop 1.5 版本发布!🎉

在 Podman Desktop 的这个版本中,我们引入了**一个新的上手引导功能**,希望它能赢得您的 🦭 认可!但是等等……还有更多精彩内容!

  • 上手引导:对 PodmanCompose 的引导式设置与配置
  • Podman 4.7.2:Windows 和 Mac 安装程序现已包含 Podman 4.7.2
  • 命令面板:通过一个新的键盘驱动的命令面板,轻松访问各种命令
  • 扩展了 Kubernetes Pod 的“摘要”选项卡:在 Pod 的“摘要”选项卡中深入了解 Kubernetes Pod 的扩展详细信息
  • 支持环境文件:为新容器规划环境变量,以便在创建时访问
  • 设置区域增强:通过改进的 Docker 兼容模式控件,让您更好地进行配置
  • 改进状态变化的用户体验:通过改进的状态可视化指示,不再需要猜测容器状态
  • 扩展 API 改进:对扩展 API 进行了大量改进,使 🦭 Podman Desktop 的扩展能提供更多功能

Podman Desktop 1.5 现已可用。点击此处下载

Podman-desktop-1-5-hero


发布详情

上手引导

我们引入了一项新功能,为特定的 🦭 Podman Desktop 扩展的初始设置提供引导流程。1.5 版本包含了两个新的上手引导流程:Podman 和 Compose。

要开始 Podman 引导流程,您可以从仪表板通知中点击“设置”按钮:podman-onboarding-start podman-onboarding

访问 设置 > 资源 屏幕,然后单击 Compose “设置...”按钮以开始 Compose 引导:compose-onboarding-start compose-onboarding

命令面板

现在提供了一个新的、搜索驱动的命令面板,可用于快速访问 Podman Desktop 中可用的各种命令。您可以按下 F1 键尝试此新工具。#4081#3979

Kubernetes Pod 的“摘要”选项卡已扩展

Kubernetes Pod 现在在“摘要”选项卡下提供更全面的信息,包括网络、卷、环境变量和其他关键元数据。

支持环境文件

现在,从镜像列表创建容器时,有一个选项可以提供一个环境文件来为新容器设置环境变量。#4026#4025

设置区域增强

通过在设置 > 首选项屏幕中添加了新条目,其中包括上下文指导,从而改进了启用或禁用 Docker 兼容性的用户体验。#4093

改进状态变化的用户体验

用户界面中容器、Pod 和其他对象的状态更改的用户体验得到了改进,具有清晰的状态消息和改进的动画状态更改视觉指示。#4056

扩展 API 改进

🦭 Podman Desktop 扩展 API 获得了许多改进,包括:

  • 除了从扩展推送和列出镜像外,现在还可以从 🦭 Podman Desktop 扩展拉取镜像。#4155

  • Podman Desktop 扩展 API 已经增强,增加了列出镜像和网络以及创建容器和网络的功能。#4172

  • 🦭 Podman Desktop 扩展现在有了一致的方式来运行管理任务。#4049

  • 扩展现在能够注册自定义的 Kubernetes 配置生成器。#3970

  • 扩展向 UI 菜单添加命令的功能已扩展;以前,对于操作菜单,它只在镜像列表屏幕中可用。现在,扩展也可以向容器列表屏幕上列出的项目的操作菜单添加命令。#3947#3963

  • 扩展获得了根据特定条件在 UI 中贡献菜单项的能力。#3959

  • 现在提供了一种增强的逻辑,用于显示或隐藏设置 > 首选项屏幕下列出的属性。#4159


其他值得注意的增强功能

  • 将镜像加载到 Kind 的进度现在作为任务在任务管理器中可见。#4061

kind-progress-task

  • 现在可以在创建后立即启动一个新的 Podman 机器,或者您可以创建它并等待以后再启动。由您决定!#4046

podman-start-now-or-later

  • Podman 机器和 Kubernetes 供应商创建表单的界面外观已更新,与其他用户界面中的表单一致,并修复了一些小错误。#4317

Updated provider creation forms

  • 当搜索过滤器没有匹配项时显示的空屏幕消息现在提供了特定于过滤器匹配的消息,包括特定的过滤术语和明确的清除过滤器按钮。以前,屏幕显示的是关于如何创建屏幕上显示类型的新对象的通用消息,这导致对系统状态产生一些困惑。#3988
  • 现在支持为图标添加旋转动画。#4188

  • 任务管理器现在提供了一种新的不确定进度条类型;这旨在为 API 不提供详细状态信息的动作提供有限的状态。#4016

  • 为了以管理员身份进行身份验证以执行管理任务,🦭 Podman Desktop 现在为 macOS 提供了 Touch ID 支持。#4050

touchID-support

  • 增加了通过 tty 连接到容器交互式终端的支持。#3900

  • 现在更清楚哪些容器/pod 供应商会在 Podman Desktop 启动时自动启动。以前,自动启动既有全局设置,也有每个供应商的设置。通过删除全局设置,它得到了简化。#3840

  • 文档的“使用容器”部分已重新编写和改进。#3951


值得注意的错误修复

  • 禁用注册表的命令没有阻止后续从已禁用注册表拉取镜像。此问题已得到纠正。#4183

  • 一些在网络代理后的用户无法完成涉及下载在线资源的工作流程。获取这些资源的机制已修复为兼容代理,以解决此问题。#3994

  • 正在进行删除过程的 Kubernetes 中运行的 Pod 的状态现在可以在 🦭 Podman Desktop UI 中准确反映。#3877

  • 镜像详情页面总是将镜像列为“未使用”,即使它正在被使用。此问题已得到纠正。#3985

  • 以前,删除特定镜像标签会导致删除具有相同镜像 ID 的所有标签。此问题已修复,现在只会删除选定的镜像标签。#3837

  • 由于编码错误,无法查看某些远程 Kubernetes 集群 Pod 的详细信息。#4371

  • 错误日志以前与它们所应用的动作分开跟踪。此问题已针对 kind 集群创建失败 #4427 和 Compose 安装失败 #4407 得到解决。

  • 对于 Linux 用户,Podman Desktop 以前通过 Flatpak 安装时不会出现在“开发”菜单下;它出现在“实用工具”下。Podman Desktop 现在出现在“开发”菜单下。#3911

  • Podman Machine 名称不再以“Podman Machine”字符串为前缀。#3878

touchID-support

  • Pod 和容器的初始操作状态无论实际状态如何都显示为“正在启动”;此问题已得到纠正。#3889

  • 调整应用程序窗口大小不再使容器终端的最后几行不可见。#3993

  • 解决了附加到容器的终端中长行响应不正确的终端行为问题。#3955

  • 运行镜像表单上的一个间距问题已得到纠正。#4089

  • 在 1.4 版本中,容器列表上的“podify”图标和按钮异常大。此回归问题已在此版本中得到纠正。#4122

  • Windows 用户从 Docker 迁移的说明中的一个错误已得到纠正。#4157


社区致谢

🎉 我们想对所有帮助使 🦭 Podman Desktop 变得更好的人表示衷心的感谢。在此版本中,我们收到了以下人员的拉取请求:


最后说明

已知问题

我们有一个讨论区主题,其中发布了此版本的已知问题。如果您遇到问题,请在提交错误之前查看此列表——如果我们已经有针对该问题的未决问题,它可以为您节省提交的时间和麻烦,并且可能在该问题中发布了解决方法。

已知问题:Podman Desktop 1.5.2

已修复的问题

此版本中修复问题的完整列表可在此处找到。

下载地址

从网站的下载部分获取最新版本,并使用 Podman Desktop 提升您的开发之旅。此外,访问 GitHub 仓库,查看您如何帮助我们改进 Podman Desktop。