Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
6c78aad
Update README.md
scorpelord Mar 18, 2025
4838b0a
Add files via upload
scorpelord Mar 18, 2025
93442cf
Add files via upload
scorpelord Mar 18, 2025
899215b
Add files via upload
scorpelord Mar 18, 2025
8384fcc
Add files via upload
scorpelord Mar 18, 2025
9286e36
Update README.md
scorpelord Mar 18, 2025
92c83cc
Update README.md
scorpelord Mar 18, 2025
278644f
Update README.md
scorpelord Mar 18, 2025
f4b981c
Update README.md
scorpelord Mar 18, 2025
7cffcd2
Update README.md
scorpelord Mar 18, 2025
ac242cb
Update README.md
scorpelord Mar 18, 2025
f93048e
Update README.md
scorpelord Mar 18, 2025
a079fc6
Update README.md
scorpelord Mar 19, 2025
e794bcd
Update README.md
scorpelord Mar 19, 2025
5621ce2
Update README.md
scorpelord Mar 23, 2025
26b4a79
Update README.md
scorpelord Mar 23, 2025
19fb7ee
Update README.md
scorpelord Mar 23, 2025
3a784a4
Система мониторинга Zabbix. Часть 2
scorpelord Mar 23, 2025
74b1c6d
Delete Система мониторинга Zabbix. Часть 2
scorpelord Mar 23, 2025
a072ec0
Update README.md
scorpelord Jan 21, 2026
bc523da
Create frontend.yaml
scorpelord Jan 21, 2026
b745e82
Create backend.yaml
scorpelord Jan 21, 2026
0c3cda5
Create cache.yaml
scorpelord Jan 21, 2026
64c9a2d
Create default-deny.yaml
scorpelord Jan 21, 2026
a7d3ab3
Create frontend-to-backend.yaml
scorpelord Jan 21, 2026
0244250
Create backend-to-cache.yaml
scorpelord Jan 21, 2026
925537f
Create allow-dns.yaml
scorpelord Jan 21, 2026
aed008f
Create frontend-egress.yaml
scorpelord Jan 21, 2026
8036b39
Create backend-egress.yaml
scorpelord Jan 21, 2026
2f0a701
Update README.md
scorpelord Jan 21, 2026
08fa683
Update README.md
scorpelord Jan 21, 2026
16defc6
Update README.md
scorpelord Jan 21, 2026
0dd328f
Update README.md
scorpelord Jan 21, 2026
e067b70
Update README.md
scorpelord Jan 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 37 additions & 104 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,117 +1,50 @@
# Домашнее задание к занятию "`Название занятия`" - `Фамилия и имя студента`
# Домашнее задание к занятию "Как работает сеть в K8s" - `Молоствов Андрей`


### Инструкция по выполнению домашнего задания

1. Сделайте `fork` данного репозитория к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/git-hw или https://github.com/имя-вашего-репозитория/7-1-ansible-hw).
2. Выполните клонирование данного репозитория к себе на ПК с помощью команды `git clone`.
3. Выполните домашнее задание и заполните у себя локально этот файл README.md:
- впишите вверху название занятия и вашу фамилию и имя
- в каждом задании добавьте решение в требуемом виде (текст/код/скриншоты/ссылка)
- для корректного добавления скриншотов воспользуйтесь [инструкцией "Как вставить скриншот в шаблон с решением](https://github.com/netology-code/sys-pattern-homework/blob/main/screen-instruction.md)
- при оформлении используйте возможности языка разметки md (коротко об этом можно посмотреть в [инструкции по MarkDown](https://github.com/netology-code/sys-pattern-homework/blob/main/md-instruction.md))
4. После завершения работы над домашним заданием сделайте коммит (`git commit -m "comment"`) и отправьте его на Github (`git push origin`);
5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github.
6. Любые вопросы по выполнению заданий спрашивайте в чате учебной группы и/или в разделе “Вопросы по заданию” в личном кабинете.

Желаем успехов в выполнении домашнего задания!

### Дополнительные материалы, которые могут быть полезны для выполнения задания

1. [Руководство по оформлению Markdown файлов](https://gist.github.com/Jekins/2bf2d0638163f1294637#Code)

---

### Задание 1

`Приведите ответ в свободной форме........`

1. `Заполните здесь этапы выполнения, если требуется ....`
2. `Заполните здесь этапы выполнения, если требуется ....`
3. `Заполните здесь этапы выполнения, если требуется ....`
4. `Заполните здесь этапы выполнения, если требуется ....`
5. `Заполните здесь этапы выполнения, если требуется ....`
6.

```
Поле для вставки кода...
....
....
....
....
```

`При необходимости прикрепитe сюда скриншоты
![Название скриншота 1](ссылка на скриншот 1)`


---

### Задание 2

`Приведите ответ в свободной форме........`

1. `Заполните здесь этапы выполнения, если требуется ....`
2. `Заполните здесь этапы выполнения, если требуется ....`
3. `Заполните здесь этапы выполнения, если требуется ....`
4. `Заполните здесь этапы выполнения, если требуется ....`
5. `Заполните здесь этапы выполнения, если требуется ....`
6.
### Задание

```
Поле для вставки кода...
....
....
....
....
kubectl create namespace app
nano frontend.yaml
nano backend.yaml
nano cache.yaml
kubectl apply -f frontend.yaml
kubectl apply -f backend.yaml
kubectl apply -f cache.yaml
kubectl expose deployment frontend -n app --port=80 --target-port=80
kubectl expose deployment backend -n app --port=80 --target-port=80
kubectl expose deployment cache -n app --port=80 --target-port=80
nano default-deny.yaml
nano frontend-to-backend.yaml
nano backend-to-cache.yaml
nano allow-dns.yaml
kubectl apply -f default-deny.yaml
kubectl apply -f frontend-to-backend.yaml
kubectl apply -f backend-to-cache.yaml
kubectl apply -f allow-dns.yaml
FRONTEND_POD=$(kubectl get pods -n app -l app=frontend -o jsonpath='{.items[0].metadata.name}')
BACKEND_POD=$(kubectl get pods -n app -l app=backend -o jsonpath='{.items[0].metadata.name}')
CACHE_POD=$(kubectl get pods -n app -l app=cache -o jsonpath='{.items[0].metadata.name}')
nano frontend-egress.yaml
nano backend-egress.yaml
kubectl apply -f frontend-egress.yaml
kubectl apply -f backend-egress.yaml
kubectl exec -n app $FRONTEND_POD -- curl -v http://backend.app.svc.cluster.local
kubectl exec -n app $BACKEND_POD -- curl -v http://cache.app.svc.cluster.local
kubectl exec -n app $BACKEND_POD -- timeout 3 curl -v http://frontend.app.svc.cluster.local
kubectl exec -n app $FRONTEND_POD -- timeout 3 curl -v http://cache.app.svc.cluster.local
```

`При необходимости прикрепитe сюда скриншоты
![Название скриншота 2](ссылка на скриншот 2)`


---

### Задание 3
### Тестируем разрешенные соединения
<img width="1160" height="550" alt="image" src="https://github.com/user-attachments/assets/edfabcb0-d0ec-488a-846b-dda3e0a2724d" />

`Приведите ответ в свободной форме........`
<img width="1143" height="498" alt="image" src="https://github.com/user-attachments/assets/8ff8fcd2-5453-4499-9d82-fd4bdcc164b0" />

1. `Заполните здесь этапы выполнения, если требуется ....`
2. `Заполните здесь этапы выполнения, если требуется ....`
3. `Заполните здесь этапы выполнения, если требуется ....`
4. `Заполните здесь этапы выполнения, если требуется ....`
5. `Заполните здесь этапы выполнения, если требуется ....`
6.

```
Поле для вставки кода...
....
....
....
....
```

`При необходимости прикрепитe сюда скриншоты
![Название скриншота](ссылка на скриншот)`
### Тестируем запрещенные соединения

### Задание 4
<img width="1183" height="160" alt="image" src="https://github.com/user-attachments/assets/b9fd68fa-156b-4cb1-9504-dc7fcec0abfe" />

`Приведите ответ в свободной форме........`
<img width="1169" height="154" alt="image" src="https://github.com/user-attachments/assets/dd945c90-e645-412f-b5ee-f3e1607c75c5" />

1. `Заполните здесь этапы выполнения, если требуется ....`
2. `Заполните здесь этапы выполнения, если требуется ....`
3. `Заполните здесь этапы выполнения, если требуется ....`
4. `Заполните здесь этапы выполнения, если требуется ....`
5. `Заполните здесь этапы выполнения, если требуется ....`
6.

```
Поле для вставки кода...
....
....
....
....
```

`При необходимости прикрепитe сюда скриншоты
![Название скриншота](ссылка на скриншот)`
17 changes: 17 additions & 0 deletions allow-dns.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-dns
namespace: app
spec:
podSelector: {}
egress:
- to:
- namespaceSelector: {}
ports:
- protocol: UDP
port: 53
- protocol: TCP
port: 53
policyTypes:
- Egress
19 changes: 19 additions & 0 deletions backend-egress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: backend-egress
namespace: app
spec:
podSelector:
matchLabels:
app: backend
policyTypes:
- Egress
egress:
- to:
- podSelector:
matchLabels:
app: cache
ports:
- protocol: TCP
port: 80
19 changes: 19 additions & 0 deletions backend-to-cache.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: backend-to-cache
namespace: app
spec:
podSelector:
matchLabels:
app: cache
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
app: backend
ports:
- protocol: TCP
port: 80
19 changes: 19 additions & 0 deletions backend.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend
namespace: app
spec:
replicas: 2
selector:
matchLabels:
app: backend
template:
metadata:
labels:
app: backend
spec:
containers:
- name: multitool
image: wbitt/network-multitool
command: ["sleep", "infinity"]
19 changes: 19 additions & 0 deletions cache.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: cache
namespace: app
spec:
replicas: 2
selector:
matchLabels:
app: cache
template:
metadata:
labels:
app: cache
spec:
containers:
- name: multitool
image: wbitt/network-multitool
command: ["sleep", "infinity"]
10 changes: 10 additions & 0 deletions default-deny.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-all
namespace: app
spec:
podSelector: {}
policyTypes:
- Ingress
- Egress
19 changes: 19 additions & 0 deletions frontend-egress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: frontend-egress
namespace: app
spec:
podSelector:
matchLabels:
app: frontend
policyTypes:
- Egress
egress:
- to:
- podSelector:
matchLabels:
app: backend
ports:
- protocol: TCP
port: 80
19 changes: 19 additions & 0 deletions frontend-to-backend.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: frontend-to-backend
namespace: app
spec:
podSelector:
matchLabels:
app: backend
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
ports:
- protocol: TCP
port: 80
19 changes: 19 additions & 0 deletions frontend.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
namespace: app
spec:
replicas: 2
selector:
matchLabels:
app: frontend
template:
metadata:
labels:
app: frontend
spec:
containers:
- name: multitool
image: wbitt/network-multitool
command: ["sleep", "infinity"]
Binary file added img/1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/4.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.