构建镜像并在 Kind 中测试
使用 Podman Desktop,您可以使用您的容器引擎构建镜像,并在本地 Kind 驱动的 Kubernetes 集群中测试它。
先决条件
- 您已加入容器引擎.
- 您已加入 Kind 集群.
- 您已将 Kubernetes 上下文设置为本地 Kind 驱动的 Kubernetes 集群.
- 容器定义文件:
Containerfile
或Dockerfile
。
步骤
-
构建镜像
- 打开 镜像 > 构建镜像。
- Containerfile 路径:选择您的
Containerfile
或Dockerfile
。 - 构建上下文目录:可选,选择一个与包含您的
Containerfile
或Dockerfile
的目录不同的目录。 - 镜像名称:输入您的镜像名称
my-custom-image
。 - 点击 构建。
- 等待镜像构建完成。
- 点击 完成 返回镜像列表。
-
将您的镜像推送到 Kind 集群
- 搜索镜像:输入您的镜像名称
my-custom-image
找到镜像。 - 点击 > 将镜像推送到 Kind 集群。
- 搜索镜像:输入您的镜像名称
-
通过创建容器来测试您的镜像
- 点击 打开 从镜像创建容器 对话框。
- 容器名称:输入
my-custom-image-container
。 - 查看 Podman Desktop 从您的镜像定义中检测到的参数。
- 点击 启动容器 在您的容器引擎中启动容器。
-
在您的 Kind 集群上测试您的镜像和容器
- 搜索容器:输入
my-custom-image-container
找到正在运行的容器。 - 点击 > 部署到 Kubernetes 打开 将生成的 Pod 部署到 Kubernetes 屏幕。
- Pod 名称:保留建议值
my-custom-image-container-pod
。 - 使用 Kubernetes 服务:选择 用服务替换容器上的
hostPort
暴露。这是暴露端口的推荐方式,因为集群策略可能会阻止使用hostPort
。 - 使用 Kubernetes Ingress 在本地暴露服务:如果您的容器在某个端口上暴露,请选择 创建一个 Kubernetes Ingress 以访问此 Pod 暴露的端口,位于默认 Ingress 控制器位置。例如:在使用 Podman Desktop 创建的默认 Kind 集群上:
https://127.0.0.1:9090
。要求:您的集群有 Ingress 控制器`。 - 可选,如果您的容器暴露了多个端口,请选择要暴露的端口。
- Kubernetes 命名空间:选择
default
。 - 点击 部署。
- 等待 Pod 达到状态:Phase: Running。
- 点击 完成。
- 搜索容器:输入
验证
- Pods 屏幕列出了正在运行的
my-image-container-pod
pod。 - 点击 pod 名称查看详细信息和日志。
- 可选地,如果您的容器正在公开端口,请访问
https://127.0.0.1:9090
:您的应用程序正在运行。