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