Контроллеры
Deployment - используется для управления Подами и для поддержания их в требуемом количестве.
apiVersion: apps/v1
kind: Deployment
metadata:
name: goapp-deployment
namespace: web-app-stage
labels:
app: goapp
spec:
replicas: 3
selector:
matchLabels:
app: goapp
template:
metadata:
labels:
app: goapp
spec:
containers:
- name: web
image: ksxack/lesson1:v0.2 ## Используйте свой Образ
ports:
- containerPort: 8080
kubectl apply -f deployment.yaml
kubectl -n web-app-stage get pods
NAME READY STATUS RESTARTS AGE
goapp-deployment-58cdf45f9d-n2cgj 1/1 Running 0 10s
goapp-deployment-58cdf45f9d-wqwj4 1/1 Running 0 10s
goapp-deployment-58cdf45f9d-vh82m 1/1 Running 0 10s
Создалось три реплики, если удалить одну, новая создастся автоматически.
Удалить все поды в неймспейсе
for s in $(kubectl -n web-app-stage get pods | awk {'print $1'}); do kubectl -n web-app-stage delete po/$s
В реальном времени наблюдать за подами
kubectl -n web-app-stage get pods --watch
ReplicaSet
Job
DaemonSet
CronJob