Lar*_*Cai 18 kubernetes minikube
我想以简单的方式调试pod,因此我想在没有部署的情况下启动pod.
但它会自动创建部署
$ kubectl run nginx --image=nginx --port=80
deployment "nginx" created
Run Code Online (Sandbox Code Playgroud)
所以我必须创建该nginx.yaml
文件
--- apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80
并创建如下的pod,然后它只创建pod
kubectl create -f nginx.yaml
pod "nginx" created
Run Code Online (Sandbox Code Playgroud)
如何在命令行中指定kind:Pod
要避免deployment
?
//我在Windows 7下运行minikue 0.20.0和kubernetes 1.7.0
Jan*_*art 31
kubectl run nginx --image=nginx --port=80 --restart=Never
Run Code Online (Sandbox Code Playgroud)
--restart=Always
:此Pod的重新启动策略.合法值[Always
,OnFailure
,Never
].如果设置Always
为创建部署,则设置OnFailure
为创建作业时,如果设置为Never
,则创建常规窗格.对于后两者--replicas
必须1
.默认Always
[...]
参见官方文件https://kubernetes.io/docs/user-guide/kubectl-conventions/#generators
小智 6
现在有两种方法可以通过命令行创建 pod。
kubectl run nginx --image=nginx --restart=Never
或者
kubectl run --generator=run-pod/v1 nginx1 --image=nginx
查看官方文档。 https://kubernetes.io/docs/reference/kubectl/conventions/#generators
为此使用生成器,默认 kubectl 运行将创建一个部署对象。如果您想覆盖此行为,请使用“run-pod/v1”生成器。
kubectl run --generator=run-pod/v1 nginx1 --image=nginx
Run Code Online (Sandbox Code Playgroud)
您可以参考下面的链接以获得更好的理解。
https://kubernetes.io/docs/reference/kubectl/conventions/#generators
我对 kubernetes 比较陌生,但自从提出这个问题以来,它似乎已经发展了很多。从其最新版本(我正在运行 v1.16)开始,生成器已被弃用,并且在 v1.18 中被完全删除。\n请参阅相应的票证和发行说明。\n发行说明明确指出:
\n\n\n\n\n从 kubectl run 中删除所有生成器。现在它只会创建\n Pod。
\n
我已经kubectl run
使用各种--restart
标志进行了测试,但从未创建任何部署。我们现在拥有的称为“裸”Pod。虽然您可能想使用它,但它违背了 k8s最佳实践:
\n\n如果可以避免,请不要使用裸 Pod(即未绑定到 ReplicaSet 或部署的 Pod)。如果节点发生故障,裸 Pod 不会被重新调度。
\n
归档时间: |
|
查看次数: |
11775 次 |
最近记录: |