名称

podman-kube-apply - 基于容器、Pod 或卷,将 Kubernetes YAML 应用到 Kubernetes 集群

简介

podman kube apply [选项] [容器… | Pod… | 卷…]

描述

podman kube apply 将 podman 容器、Pod 或卷部署到 Kubernetes 集群。也可以使用 --file 选项将 Kubernetes YAML(v1 规范)部署到 Kubernetes 集群。

请注意,Kubernetes YAML 文件可以通过 podman-play-kube(1) 在 Podman 中运行部署。

选项

--ca-cert-file=ca 证书文件路径 | “不安全”

Kubernetes 集群的 CA 证书文件路径。通常 kubeconfig 包含 CA 证书文件数据,如果 kubeconfig 中可用,generate kube 会自动获取。如果没有 CA 证书文件数据可用,请将其设置为 insecure 以绕过证书验证。

--file, -f=kube yaml 文件路径

要部署到 kubernetes 集群的 kubernetes yaml 文件的路径。此文件可以使用 podman kube generate 命令生成。输入可以是 yaml 文件形式,也可以是标准输入。对于标准输入,请使用 --file=-

--kubeconfig, -k=kubeconfig 文件路径

将生成的 kube yaml 部署到 Kubernetes 集群时使用的 kubeconfig 文件路径。环境变量 KUBECONFIG 也可以用于设置 kubeconfig 文件的路径。注意:一个 kubeconfig 可以有多个集群配置,但 kube generate 总是选择给定 kubeconfig 中的第一个集群配置。

--ns=命名空间

将生成的 kube yaml 的工作负载部署到 Kubernetes 集群中的命名空间或项目。

--service, -s

用于为部署到集群的相应容器或 Pod 创建服务。特别是,如果容器或 Pod 具有端口映射绑定,则服务规范包括一个 NodePort 声明以公开服务。Podman 在部署到集群的服务规范中分配一个随机端口。

示例

将 podman 卷和容器应用到 Kubernetes 集群中的“default”命名空间。

$ podman kube apply --kubeconfig /tmp/kubeconfig myvol vol-test-1
Deploying to cluster...
Successfully deployed workloads to cluster!
$ kubectl get pods
NAME             READY   STATUS    RESTARTS   AGE
vol-test-1-pod   1/1     Running   0          9m

将 Kubernetes YAML 文件应用到 Kubernetes 集群中的“default”命名空间。

$ podman kube apply --kubeconfig /tmp/kubeconfig -f vol.yaml
Deploying to cluster...
Successfully deployed workloads to cluster!
$ kubectl get pods
NAME             READY   STATUS    RESTARTS   AGE
vol-test-2-pod   1/1     Running   0          9m

将 Kubernetes YAML 文件应用到 Kubernetes 集群中的“test1”命名空间。

$ podman kube apply --kubeconfig /tmp/kubeconfig --ns test1 vol-test-3
Deploying to cluster...
Successfully deployed workloads to cluster!
$ kubectl get pods --namespace test1
NAME             READY   STATUS    RESTARTS   AGE
vol-test-3-pod   1/1     Running   0          9m

另请参阅

podman(1), podman-container(1), podman-pod(1), podman-kube-play(1), podman-kube-generate(1)

历史

2022 年 9 月,最初由 Urvashi Mohnani (umohnani at redhat dot com) 编写