manager.yaml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. labels:
  5. control-plane: controller-manager
  6. app.kubernetes.io/name: loco-operator
  7. app.kubernetes.io/managed-by: kustomize
  8. name: system
  9. ---
  10. apiVersion: apps/v1
  11. kind: Deployment
  12. metadata:
  13. name: controller-manager
  14. namespace: system
  15. labels:
  16. control-plane: controller-manager
  17. app.kubernetes.io/name: loco-operator
  18. app.kubernetes.io/managed-by: kustomize
  19. spec:
  20. selector:
  21. matchLabels:
  22. control-plane: controller-manager
  23. app.kubernetes.io/name: loco-operator
  24. replicas: 1
  25. template:
  26. metadata:
  27. annotations:
  28. kubectl.kubernetes.io/default-container: manager
  29. labels:
  30. control-plane: controller-manager
  31. app.kubernetes.io/name: loco-operator
  32. spec:
  33. # TODO(user): Uncomment the following code to configure the nodeAffinity expression
  34. # according to the platforms which are supported by your solution.
  35. # It is considered best practice to support multiple architectures. You can
  36. # build your manager image using the makefile target docker-buildx.
  37. # affinity:
  38. # nodeAffinity:
  39. # requiredDuringSchedulingIgnoredDuringExecution:
  40. # nodeSelectorTerms:
  41. # - matchExpressions:
  42. # - key: kubernetes.io/arch
  43. # operator: In
  44. # values:
  45. # - amd64
  46. # - arm64
  47. # - ppc64le
  48. # - s390x
  49. # - key: kubernetes.io/os
  50. # operator: In
  51. # values:
  52. # - linux
  53. securityContext:
  54. # Projects are configured by default to adhere to the "restricted" Pod Security Standards.
  55. # This ensures that deployments meet the highest security requirements for Kubernetes.
  56. # For more details, see: https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted
  57. runAsNonRoot: true
  58. seccompProfile:
  59. type: RuntimeDefault
  60. containers:
  61. - command:
  62. - /manager
  63. args:
  64. - --leader-elect
  65. - --health-probe-bind-address=:8081
  66. image: controller:latest
  67. name: manager
  68. ports: []
  69. securityContext:
  70. readOnlyRootFilesystem: true
  71. allowPrivilegeEscalation: false
  72. capabilities:
  73. drop:
  74. - "ALL"
  75. livenessProbe:
  76. httpGet:
  77. path: /healthz
  78. port: 8081
  79. initialDelaySeconds: 15
  80. periodSeconds: 20
  81. readinessProbe:
  82. httpGet:
  83. path: /readyz
  84. port: 8081
  85. initialDelaySeconds: 5
  86. periodSeconds: 10
  87. # TODO(user): Configure the resources accordingly based on the project requirements.
  88. # More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
  89. resources:
  90. limits:
  91. cpu: 500m
  92. memory: 128Mi
  93. requests:
  94. cpu: 10m
  95. memory: 64Mi
  96. volumeMounts: []
  97. volumes: []
  98. serviceAccountName: controller-manager
  99. terminationGracePeriodSeconds: 10