You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.9 KiB

  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: netchecker-server
  5. namespace: {{ netcheck_namespace }}
  6. labels:
  7. app: netchecker-server
  8. spec:
  9. replicas: 1
  10. selector:
  11. matchLabels:
  12. app: netchecker-server
  13. template:
  14. metadata:
  15. name: netchecker-server
  16. labels:
  17. app: netchecker-server
  18. spec:
  19. priorityClassName: {% if netcheck_namespace == 'kube-system' %}system-cluster-critical{% else %}k8s-cluster-critical{% endif %}{{ '' }}
  20. volumes:
  21. - name: etcd-data
  22. emptyDir: {}
  23. containers:
  24. - name: netchecker-server
  25. image: "{{ netcheck_server_image_repo }}:{{ netcheck_server_image_tag }}"
  26. imagePullPolicy: {{ k8s_image_pull_policy }}
  27. resources:
  28. limits:
  29. cpu: {{ netchecker_server_cpu_limit }}
  30. memory: {{ netchecker_server_memory_limit }}
  31. requests:
  32. cpu: {{ netchecker_server_cpu_requests }}
  33. memory: {{ netchecker_server_memory_requests }}
  34. securityContext:
  35. allowPrivilegeEscalation: false
  36. capabilities:
  37. drop: ['ALL']
  38. runAsUser: {{ netchecker_server_user | default('0') }}
  39. runAsGroup: {{ netchecker_server_group | default('0') }}
  40. runAsNonRoot: true
  41. seccompProfile:
  42. type: RuntimeDefault
  43. ports:
  44. - containerPort: 8081
  45. args:
  46. - -v={{ netchecker_server_log_level }}
  47. - -logtostderr
  48. - -kubeproxyinit=false
  49. - -endpoint=0.0.0.0:8081
  50. - -etcd-endpoints=http://127.0.0.1:2379
  51. - name: etcd
  52. image: "{{ etcd_image_repo }}:{{ netcheck_etcd_image_tag }}"
  53. imagePullPolicy: {{ k8s_image_pull_policy }}
  54. env:
  55. - name: ETCD_LOG_LEVEL
  56. value: "{{ netchecker_etcd_log_level }}"
  57. command:
  58. - etcd
  59. - --listen-client-urls=http://127.0.0.1:2379
  60. - --advertise-client-urls=http://127.0.0.1:2379
  61. - --data-dir=/var/lib/etcd
  62. - --enable-v2
  63. - --force-new-cluster
  64. volumeMounts:
  65. - mountPath: /var/lib/etcd
  66. name: etcd-data
  67. resources:
  68. limits:
  69. cpu: {{ netchecker_etcd_cpu_limit }}
  70. memory: {{ netchecker_etcd_memory_limit }}
  71. requests:
  72. cpu: {{ netchecker_etcd_cpu_requests }}
  73. memory: {{ netchecker_etcd_memory_requests }}
  74. securityContext:
  75. allowPrivilegeEscalation: false
  76. capabilities:
  77. drop: ['ALL']
  78. runAsUser: {{ netchecker_server_user | default('0') }}
  79. runAsGroup: {{ netchecker_server_group | default('0') }}
  80. runAsNonRoot: true
  81. seccompProfile:
  82. type: RuntimeDefault
  83. tolerations:
  84. - effect: NoSchedule
  85. operator: Exists
  86. serviceAccountName: netchecker-server