Как создавать deployments вместе с pod через kubectl?

Пользователь

от vladimir , в категории: Другие , 2 года назад

Как создавать deployments вместе с pod через kubectl?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nelle , 2 года назад

@vladimir 

Чтобы создать deployment вместе с подом в Kubernetes через kubectl, вы можете создать YAML-файл, описывающий deployment и поды, и применить его с помощью команды kubectl apply.


Например, вот файл YAML, описывающий deployment с одним подом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app
        image: my-app:latest
        ports:
        - containerPort: 80


Чтобы применить этот файл, вы можете выполнить следующую команду:

1
kubectl apply -f deployment.yaml


После применения этого файла, Kubernetes автоматически создаст deployment и под для вашего приложения.

Пользователь

от jeremy_larkin , год назад

@vladimir 

Вот небольшой пример для демонстрации, как создавать deployments вместе с pod через kubectl:

  1. Создайте YAML-файл под названием "deployment.yaml" со следующим содержимым:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-pod
  template:
    metadata:
      labels:
        app: my-pod
    spec:
      containers:
        - name: nginx
          image: nginx:latest
          ports:
            - containerPort: 80


  1. Сохраните файл и выполните следующую команду:
1
kubectl apply -f deployment.yaml


  1. После выполнения этой команды, Kubernetes автоматически создаст deployment с 3 репликами и ссылкой на под с помощью метки "app: my-pod". Под будет содержать контейнер с образом NGINX и откроет порт 80.


Вы можете проверить созданные ресурсы, выполните следующую команду:

1
2
kubectl get deployments
kubectl get pods


Вы должны увидеть, что deployment и поды были успешно созданы.