mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 23:32:37 +03:00
homework 13.3: complete all tasks
This commit is contained in:
@@ -80,7 +80,54 @@ news=# \d
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
```
|
```
|
||||||
|
|
||||||
// todo frontend and backend
|
Следующим шагом нужно пробросить порт `9000` непосредственно до пода `backend`. Для этого через команду `kubectl get pods`
|
||||||
|
необходимо найти название пода (оно уникальное, так как развёртывание было произведено при помощи объекта `Deployment`),
|
||||||
|
а затем выполнить непосредственно проброс порта:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl port-forward pods/prod-app-backend-7fd6f4f558-7qvc4 9000:9000
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
Forwarding from 127.0.0.1:9000 -> 9000
|
||||||
|
Forwarding from [::1]:9000 -> 9000
|
||||||
|
```
|
||||||
|
|
||||||
|
Для проверки необходимо выполнить curl-запрос к localhost в отдельной консольной сессии:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
curl http://localhost:9000
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
{"detail":"Not Found"}
|
||||||
|
```
|
||||||
|
|
||||||
|
Для обращения к frontend будет использован метод `exec` и выведено содержимое корневой директории со собранной статикой:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl exec prod-app-frontend-69bcf947f8-xvdzc -- sh -c "ls -la /app/"
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
total 420
|
||||||
|
drwxr-xr-x 1 root root 4096 Nov 30 03:33 .
|
||||||
|
drwxr-xr-x 1 root root 4096 Dec 14 03:22 ..
|
||||||
|
-rw-r--r-- 1 root root 38 Nov 30 03:33 .env
|
||||||
|
-rw-r--r-- 1 root root 30 Nov 29 03:49 .env.example
|
||||||
|
-rw-r--r-- 1 root root 390 Nov 30 02:59 Dockerfile
|
||||||
|
drwxr-xr-x 2 root root 4096 Nov 30 02:57 build
|
||||||
|
-rw-r--r-- 1 root root 344 Nov 29 03:49 demo.conf
|
||||||
|
-rw-r--r-- 1 root root 448 Nov 29 03:49 index.html
|
||||||
|
-rw-r--r-- 1 root root 344 Nov 29 03:49 item.html
|
||||||
|
drwxr-xr-x 2 root root 4096 Nov 30 02:57 js
|
||||||
|
-rw-r--r-- 1 root root 80 Nov 29 03:49 list.json
|
||||||
|
-rw-r--r-- 1 root root 364679 Nov 29 03:49 package-lock.json
|
||||||
|
-rw-r--r-- 1 root root 1107 Nov 29 03:49 package.json
|
||||||
|
drwxr-xr-x 2 root root 4096 Nov 30 02:57 static
|
||||||
|
drwxr-xr-x 3 root root 4096 Nov 30 02:57 styles
|
||||||
|
-rw-r--r-- 1 root root 2781 Nov 29 03:49 webpack.config.js
|
||||||
|
```
|
||||||
|
|
||||||
### Задание 2
|
### Задание 2
|
||||||
|
|
||||||
@@ -88,6 +135,125 @@ news=# \d
|
|||||||
>
|
>
|
||||||
> При работе с приложением иногда может потребоваться вручную добавить пару копий.
|
> При работе с приложением иногда может потребоваться вручную добавить пару копий.
|
||||||
> Используя команду kubectl scale, попробуйте увеличить количество бекенда и фронта до 3.
|
> Используя команду kubectl scale, попробуйте увеличить количество бекенда и фронта до 3.
|
||||||
> Проверьте, на каких нодах оказались копии после каждого действия (kubectl describe, kubectl get pods -o wide). После уменьшите количество копий до 1.
|
> Проверьте, на каких нодах оказались копии после каждого действия (kubectl describe, kubectl get pods -o wide).
|
||||||
|
> После уменьшите количество копий до 1.
|
||||||
|
|
||||||
// todo
|
Команды изменения количества реплик до 3-х:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl scale --replicas=3 deployment/prod-app-backend
|
||||||
|
kubectl scale --replicas=3 deployment/prod-app-frontend
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверка после выполнения:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl describe deployments.apps prod-app-backend
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
Name: prod-app-backend
|
||||||
|
Namespace: default
|
||||||
|
CreationTimestamp: Wed, 14 Dec 2022 10:14:32 +0700
|
||||||
|
Labels: app=prod-app
|
||||||
|
service=backend
|
||||||
|
Annotations: deployment.kubernetes.io/revision: 1
|
||||||
|
Selector: app=prod-app,service=backend
|
||||||
|
Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable
|
||||||
|
StrategyType: RollingUpdate
|
||||||
|
MinReadySeconds: 0
|
||||||
|
RollingUpdateStrategy: 25% max unavailable, 25% max surge
|
||||||
|
Pod Template:
|
||||||
|
Labels: app=prod-app
|
||||||
|
service=backend
|
||||||
|
Containers:
|
||||||
|
netology-backend:
|
||||||
|
Image: dannecron/netology-devops-k8s-app:backend-latest
|
||||||
|
Port: 9000/TCP
|
||||||
|
Host Port: 0/TCP
|
||||||
|
Environment:
|
||||||
|
DATABASE_URL: postgresql://db_user:db_passwd@postgres:5432/news
|
||||||
|
Mounts: <none>
|
||||||
|
Volumes: <none>
|
||||||
|
Conditions:
|
||||||
|
Type Status Reason
|
||||||
|
---- ------ ------
|
||||||
|
Progressing True NewReplicaSetAvailable
|
||||||
|
Available True MinimumReplicasAvailable
|
||||||
|
OldReplicaSets: <none>
|
||||||
|
NewReplicaSet: prod-app-backend-7fd6f4f558 (3/3 replicas created)
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl describe deployments.apps prod-app-frontend
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
Name: prod-app-frontend
|
||||||
|
Namespace: default
|
||||||
|
CreationTimestamp: Wed, 14 Dec 2022 10:22:09 +0700
|
||||||
|
Labels: app=prod-app
|
||||||
|
service=frontend
|
||||||
|
Annotations: deployment.kubernetes.io/revision: 1
|
||||||
|
Selector: app=prod-app,service=frontend
|
||||||
|
Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable
|
||||||
|
StrategyType: RollingUpdate
|
||||||
|
MinReadySeconds: 0
|
||||||
|
RollingUpdateStrategy: 25% max unavailable, 25% max surge
|
||||||
|
Pod Template:
|
||||||
|
Labels: app=prod-app
|
||||||
|
service=frontend
|
||||||
|
Containers:
|
||||||
|
netology-frontend:
|
||||||
|
Image: dannecron/netology-devops-k8s-app:frontend-latest
|
||||||
|
Port: 80/TCP
|
||||||
|
Host Port: 0/TCP
|
||||||
|
Environment:
|
||||||
|
BASE_URL: http://prod-backend:9000
|
||||||
|
Mounts: <none>
|
||||||
|
Volumes: <none>
|
||||||
|
Conditions:
|
||||||
|
Type Status Reason
|
||||||
|
---- ------ ------
|
||||||
|
Progressing True NewReplicaSetAvailable
|
||||||
|
Available True MinimumReplicasAvailable
|
||||||
|
OldReplicaSets: <none>
|
||||||
|
NewReplicaSet: prod-app-frontend-69bcf947f8 (3/3 replicas created)
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl get pods -o wide
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
|
||||||
|
prod-app-backend-7fd6f4f558-7p64m 1/1 Running 0 3m12s 10.233.102.133 node1 <none> <none>
|
||||||
|
prod-app-backend-7fd6f4f558-7qvc4 1/1 Running 0 13m 10.233.102.131 node1 <none> <none>
|
||||||
|
prod-app-backend-7fd6f4f558-ctdwg 1/1 Running 0 3m12s 10.233.102.134 node1 <none> <none>
|
||||||
|
prod-app-frontend-69bcf947f8-mzdf6 1/1 Running 0 2m45s 10.233.102.136 node1 <none> <none>
|
||||||
|
prod-app-frontend-69bcf947f8-pzjk2 1/1 Running 0 2m45s 10.233.102.135 node1 <none> <none>
|
||||||
|
prod-app-frontend-69bcf947f8-xvdzc 1/1 Running 0 6m9s 10.233.102.132 node1 <none> <none>
|
||||||
|
prod-db-0 1/1 Running 0 14m 10.233.102.130 node1 <none> <none>
|
||||||
|
```
|
||||||
|
|
||||||
|
Все поды оказались на одной машине, так как сам кластер состоит только из одной рабочей ноды.
|
||||||
|
|
||||||
|
Команды изменения количества реплик до 1-й:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl scale --replicas=1 deployment/prod-app-backend
|
||||||
|
kubectl scale --replicas=1 deployment/prod-app-frontend
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверка, что все изменения применились:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl get pods -o wide
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
|
||||||
|
prod-app-backend-7fd6f4f558-7qvc4 1/1 Running 0 16m 10.233.102.131 node1 <none> <none>
|
||||||
|
prod-app-frontend-69bcf947f8-xvdzc 1/1 Running 0 8m27s 10.233.102.132 node1 <none> <none>
|
||||||
|
prod-db-0 1/1 Running 0 16m 10.233.102.130 node1 <none> <none>
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user