[DO-1496] add limits and network-policy (!4)

схлопнул networkpolicy limits и namespace в один файл и назвал его так же как namespace

Co-authored-by: Rustam Tagaev <rustam.tagaev@avroid.tech>
Reviewed-on: https://git.avroid.tech/K8s/k8s-configs/pulls/4
Reviewed-by: Denis Patrakeev <denis.patrakeev@avroid.team>
Co-authored-by: Rustam Tagaev <rustam.tagaev@avroid.team>
Co-committed-by: Rustam Tagaev <rustam.tagaev@avroid.team>
This commit is contained in:
Rustam Tagaev
2025-01-31 10:49:39 +03:00
committed by Denis Patrakeev
parent 7f14546f78
commit da6bf80454
17 changed files with 302 additions and 57 deletions

View File

@@ -0,0 +1,51 @@
---
# создаем namespace
apiVersion: v1
kind: Namespace
metadata:
name: example
labels:
name: example
app.kubernetes.io/managed-by: manual
annotations:
scheduler.alpha.kubernetes.io/node-selector: "nodetype=worker"
---
# выделяем лимиты на текущий namespace
apiVersion: v1
kind: ResourceQuota
metadata:
name: example
namespace: example
labels:
app.kubernetes.io/managed-by: manual
spec:
hard:
configmaps: "100"
limits.cpu: "16"
limits.memory: 32Gi
persistentvolumeclaims: "1"
pods: "100"
replicationcontrollers: "0"
requests.cpu: "8"
requests.memory: "24Gi"
requests.storage: "2Gi"
resourcequotas: "1"
secrets: "100"
services: "100"
services.loadbalancers: "0"
services.nodeports: "0"
---
# запрещаем все для текущего namespace
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all
namespace: example
spec:
podSelector: {}
policyTypes:
- Ingress
- Egress
ingress: []
egress: []

View File

@@ -0,0 +1 @@
# тут будут values для приложений которые развернуты через argo

View File

@@ -0,0 +1,52 @@
---
# разрещаем сервису принимать входящие запросы на порт 8080
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: super-service-in
namespace: example
labels:
app.kubernetes.io/managed-by: manual
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: super-service
policyTypes:
- Ingress
ingress:
- ports:
- port: 8080
protocol: TCP
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: super-service-out
namespace: example
labels:
app.kubernetes.io/managed-by: manual
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: super-service
policyTypes:
- Egress
egress:
- to:
# пример для внутренних ресурсов
# разрещаем сервису отправлять запросы на порт 8000 сервиса superman
- podSelector:
matchLabels:
app.kubernetes.io/name: superman
ports:
- port: 8000
protocol: TCP
- to:
- ipBlock:
# пример для внешних ресурсов
# тут пишем название домена например test.avroid.tech домен резолвится в 192.168.1.2
# для того что бы понимать куда смотрит ip
cidr: 192.168.1.2/32
ports:
- port: 80
protocol: TCP

View File

@@ -0,0 +1 @@
# тут будут values от helm