名称¶
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)编写