networkpolicy.yaml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. {{- if .Values.networkPolicy.enabled }}
  2. ---
  3. apiVersion: networking.k8s.io/v1
  4. kind: NetworkPolicy
  5. metadata:
  6. name: {{ template "promtail.name" . }}-namespace-only
  7. namespace: {{ include "promtail.namespaceName" . }}
  8. labels:
  9. {{- include "promtail.labels" . | nindent 4 }}
  10. spec:
  11. podSelector: {}
  12. policyTypes:
  13. - Ingress
  14. - Egress
  15. egress:
  16. - to:
  17. - podSelector: {}
  18. ingress:
  19. - from:
  20. - podSelector: {}
  21. ---
  22. apiVersion: networking.k8s.io/v1
  23. kind: NetworkPolicy
  24. metadata:
  25. name: {{ template "promtail.name" . }}-egress-dns
  26. namespace: {{ include "promtail.namespaceName" . }}
  27. labels:
  28. {{- include "promtail.labels" . | nindent 4 }}
  29. spec:
  30. podSelector:
  31. matchLabels:
  32. {{- include "promtail.selectorLabels" . | nindent 6 }}
  33. policyTypes:
  34. - Egress
  35. egress:
  36. - ports:
  37. - port: 53
  38. protocol: UDP
  39. to:
  40. - namespaceSelector: {}
  41. ---
  42. apiVersion: networking.k8s.io/v1
  43. kind: NetworkPolicy
  44. metadata:
  45. name: {{ template "promtail.name" . }}-egress-k8s-api
  46. namespace: {{ include "promtail.namespaceName" . }}
  47. labels:
  48. {{- include "promtail.labels" . | nindent 4 }}
  49. spec:
  50. podSelector:
  51. matchLabels:
  52. {{- include "promtail.selectorLabels" . | nindent 6 }}
  53. policyTypes:
  54. - Egress
  55. egress:
  56. - ports:
  57. - port: {{ .Values.networkPolicy.k8sApi.port }}
  58. protocol: TCP
  59. {{- if len .Values.networkPolicy.k8sApi.cidrs }}
  60. to:
  61. {{- range $cidr := .Values.networkPolicy.k8sApi.cidrs }}
  62. - ipBlock:
  63. cidr: {{ $cidr }}
  64. {{- end }}
  65. {{- end }}
  66. ---
  67. apiVersion: networking.k8s.io/v1
  68. kind: NetworkPolicy
  69. metadata:
  70. name: {{ template "promtail.name" . }}-ingress-metrics
  71. namespace: {{ include "promtail.namespaceName" . }}
  72. labels:
  73. {{- include "promtail.labels" . | nindent 4 }}
  74. spec:
  75. podSelector:
  76. matchLabels:
  77. {{- include "promtail.selectorLabels" . | nindent 6 }}
  78. policyTypes:
  79. - Ingress
  80. ingress:
  81. - ports:
  82. - port: http-metrics
  83. protocol: TCP
  84. {{- if len .Values.networkPolicy.metrics.cidrs }}
  85. from:
  86. {{- range $cidr := .Values.networkPolicy.metrics.cidrs }}
  87. - ipBlock:
  88. cidr: {{ $cidr }}
  89. {{- end }}
  90. {{- if .Values.networkPolicy.metrics.namespaceSelector }}
  91. - namespaceSelector:
  92. {{- toYaml .Values.networkPolicy.metrics.namespaceSelector | nindent 12 }}
  93. {{- if .Values.networkPolicy.metrics.podSelector }}
  94. podSelector:
  95. {{- toYaml .Values.networkPolicy.metrics.podSelector | nindent 12 }}
  96. {{- end }}
  97. {{- end }}
  98. {{- end }}
  99. {{- if .Values.extraPorts }}
  100. ---
  101. apiVersion: networking.k8s.io/v1
  102. kind: NetworkPolicy
  103. metadata:
  104. name: {{ template "promtail.name" . }}-egress-extra-ports
  105. namespace: {{ include "promtail.namespaceName" . }}
  106. labels:
  107. {{- include "promtail.labels" . | nindent 4 }}
  108. spec:
  109. podSelector:
  110. matchLabels:
  111. {{- include "promtail.selectorLabels" . | nindent 6 }}
  112. policyTypes:
  113. - Egress
  114. egress:
  115. - ports:
  116. {{- range $extraPortConfig := .Values.extraPorts }}
  117. - port: {{ $extraPortConfig.containerPort }}
  118. protocol: {{ $extraPortConfig.protocol }}
  119. {{- end }}
  120. {{- end }}
  121. {{- end }}