Как запустить модуль в командной строке без развертывания в кубернетах?

Я хочу отлаживать модуль простым способом, поэтому я хочу запустить модуль без развертывания.

Но он автоматически создаст развертывание

$ 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

И создайте pod, как показано ниже, затем он создает только pod

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

Как я могу в командной строке указать kind:Pod, чтобы избежать deployment?

//Я запускаю под minikue 0.20.0 и kubernetes 1.7.0 под Windows 7

Ответ 1

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

--restart=Always: политика перезапуска для этого модуля. OnFailure значения [ Always, При OnFailure, Never ]. Если задано значение Always создается развертывание, при OnFailure создается задание, если задано значение Never, создается обычный модуль. Для последних двух --replicas должно быть 1. Always умолчанию [...]

см. официальный документ https://kubernetes.io/docs/user-guide/kubectl-conventions/#generators

Ответ 2

Теперь есть два способа создать модуль через командную строку.

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

ИЛИ ЖЕ

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

Смотрите официальную документацию. https://kubernetes.io/docs/reference/kubectl/conventions/#generators

Ответ 3

Вы имеете в виду "выставить услугу"? Я думаю, что эта командная строка поможет вам сделать это.

 kubectl expose pod nginx  --type=LoadBalancer --port=80

Ответ 4

Для этого используйте генераторы, при запуске kubectl по умолчанию будет создан объект развертывания. Если вы хотите переопределить это поведение, используйте генератор run-pod/v1.

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

Вы можете обратиться по ссылке ниже для лучшего понимания.

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