controller-deployment.yaml.j2 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # More info about the template: https://docs.openstack.org/kuryr-kubernetes/latest/installation/containerized.html#generating-kuryr-resource-definitions-for-kubernetes
  2. apiVersion: apps/v1beta1
  3. kind: Deployment
  4. metadata:
  5. labels:
  6. name: kuryr-controller
  7. name: kuryr-controller
  8. namespace: {{ kuryr_namespace }}
  9. spec:
  10. replicas: 1
  11. template:
  12. metadata:
  13. labels:
  14. name: kuryr-controller
  15. name: kuryr-controller
  16. spec:
  17. serviceAccountName: kuryr-controller
  18. automountServiceAccountToken: true
  19. hostNetwork: true
  20. containers:
  21. - image: {{ openshift_openstack_kuryr_controller_image }}
  22. imagePullPolicy: IfNotPresent
  23. name: controller
  24. {% if enable_kuryr_controller_probes|default(true)|bool %}
  25. readinessProbe:
  26. httpGet:
  27. path: /ready
  28. port: {{ kuryr_controller_healthcheck_port }}
  29. scheme: HTTP
  30. timeoutSeconds: 5
  31. livenessProbe:
  32. httpGet:
  33. path: /alive
  34. port: {{ kuryr_controller_healthcheck_port }}
  35. initialDelaySeconds: 15
  36. {% endif %}
  37. terminationMessagePath: "/dev/termination-log"
  38. # FIXME(dulek): This shouldn't be required, but without it selinux is
  39. # complaining about access to kuryr.conf.
  40. securityContext:
  41. privileged: true
  42. runAsUser: 0
  43. volumeMounts:
  44. - name: config-volume
  45. mountPath: "/etc/kuryr/kuryr.conf"
  46. subPath: kuryr.conf
  47. volumes:
  48. - name: config-volume
  49. configMap:
  50. name: kuryr-config
  51. defaultMode: 0666
  52. restartPolicy: Always