使用 Kustomize 或 kubectl 从命令行部署 1-container pod 或服务

Use Kustomize or kubectl to deploy 1-container pod or service from command line

Kubernetes 的新手。过去我使用 kubectl/Kustomize 部署 pods/services 使用相同的重复模式:

  1. 在文件系统上,在我的项目中,我将有两个 YAML 文件,例如 kustomization.ymlmy-app-service.yml,它们看起来像:

kustomization.yml

resources:
  - my-app-service.yml

my-app-service.yml

apiVersion: v1
kind: Service
metadata:
  name: my-app-service
  ... etc.
  1. 在命令行中,我将运行如下所示:
kubectl apply -k /path/to/the/kustomization.yml

如果一切顺利 -- boom -- 我的集群上有 运行ning 服务。 Neato.

我现在正在尝试解决问题,并想在我的集群上部署 google/cloud-sdk 映像的单个容器,这样我就可以通过 SSH 进入它并进行一些 network/authorization-related 测试。

想法是:

  1. 部署它
  2. SSH 登录,做我的测试
  3. 删除container/clean吧

相信 K8s 不处理容器,所以我可能需要部署一个 1-container pod 或服务(不清楚那里的区别),但是你明白了。

可以 只创建 2 个 YAML 文件和 运行 在它们上面 kubectl apply ... 就像我对其他所有内容所做的那样,但这感觉有点沉重-交了。我想知道是否有一种更简单的方法可以从命令行完成这一切,而不必每次我想进行这样的测试时都创建 YAML 文件。 有吗

您可以使用此命令使用给定图像创建一个 pod 运行 容器:

kubectl run my-debug-pod --image=google/cloud-sdk

如果你想在不编写 Yaml 的情况下创建 Deployment,你可以这样做:

kubectl create deployment my-app --image=my-container-image

您也可以只生成 Yaml 并将其保存到文件,然后使用 kubectl apply -f deployment.yaml,生成它:

kubectl create deployment my-app --image=my-container-image \ 
--dry-run=client -o yaml > deployment.yaml