Как запустить модуль в командной строке без развертывания в кубернетах?
Я хочу отлаживать модуль простым способом, поэтому я хочу запустить модуль без развертывания.
Но он автоматически создаст развертывание
$ 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