web-dev-qa-db-ja.com

Kubernetesで展開せずにコマンドラインでポッドを起動する方法は?

ポッドを簡単な方法でデバッグしたいので、展開せずにポッドを起動します。

しかし、それは自動的に展開を作成します

$ kubectl run nginx --image=nginx --port=80
deployment "nginx" created

nginx.yamlファイルを作成する必要があります

 --- 
 apiVersion:v1 
 kind:Pod 
 metadata:
 name:nginx 
 spec:
 containers:
-name:nginx 
 image:nginx 
 ports:
-containerPort:80 

そして、以下のようなポッドを作成してから、ポッドのみを作成します

kubectl create -f nginx.yaml
pod "nginx" created

deploymentを避けるためにコマンドラインでkind:Podを指定するにはどうすればよいですか?

// Windows 7でminikue 0.20.0およびkubernetes 1.7.0で実行します

16
Larry Cai
kubectl run nginx --image=nginx --port=80 --restart=Never

--restart=Always:このポッドの再起動ポリシー。有効な値は[AlwaysOnFailureNever]です。 Alwaysに設定すると展開が作成され、OnFailureに設定するとジョブが作成され、Neverに設定すると通常のポッドが作成されます。後者の2つの--replicas でなければなりません 1。デフォルトAlways [...]

公式ドキュメントを参照してください https://kubernetes.io/docs/user-guide/kubectl-conventions/#generators

28
Janos Lenart

コマンドラインからポッドを作成する方法は2つあります。

kubectl run nginx --image=nginx --restart=Never

OR

kubectl run --generator=run-pod/v1 nginx1 --image=nginx

公式ドキュメントを参照してください。 https://kubernetes.io/docs/reference/kubectl/conventions/#generators

3
Vikash Singh

「サービスを公開する」という意味ですか?このコマンドラインはあなたがそれを行うのに役立つと思います。

 kubectl expose pod nginx  --type=LoadBalancer --port=80
0
Quoc Lap

このためにジェネレーターを使用します。デフォルトのkubectlの実行により展開オブジェクトが作成されます。この動作をオーバーライドする場合は、 "run-pod/v1"ジェネレーターを使用します。

kubectl run --generator=run-pod/v1 nginx1 --image=nginx

理解を深めるために、以下のリンクを参照できます。

https://kubernetes.io/docs/reference/kubectl/conventions/#generators

0
Vaibhav Jain