名称

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 证书文件数据,并且 generate kube 会自动获取这些数据(如果它在 kubeconfig 中可用)。如果 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=命名空间

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

--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)编写