keepalived.yaml.j2 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. apiVersion: v1
  2. kind: Pod
  3. metadata:
  4. labels:
  5. component: keepalived
  6. tier: control-plane
  7. name: keepalived
  8. namespace: kube-system
  9. spec:
  10. containers:
  11. - command:
  12. - /container/tool/run
  13. env:
  14. - name: KEEPALIVED_PRIORITY
  15. {% if is_keepalived_master %}
  16. value: "100"
  17. {% else %}
  18. value: "90"
  19. {% endif %}
  20. - name: KEEPALIVED_VIRTUAL_IPS
  21. value: "#PYTHON2BASH:['{{ high_availability_vip }}']"
  22. - name: KEEPALIVED_STATE
  23. {% if is_keepalived_master %}
  24. value: MASTER
  25. {% else %}
  26. value: BACKUP
  27. {% endif %}
  28. - name: KEEPALIVED_PASSWORD
  29. value: "{{ keepalived_password }}"
  30. - name: KEEPALIVED_ROUTER_ID
  31. value: "{{ keepalived_router_id }}"
  32. - name: KEEPALIVED_NODE_IP
  33. value: "{{ node_ip }}"
  34. - name: KEEPALIVED_INTERFACE
  35. value: "{{ node_interface_name }}"
  36. - name: CHECK_KUBE_CMD
  37. {% if ip_type == 'ipv6' and node_ip | regex_search(':') %}
  38. value: "curl -k -XGET https://[{{ node_ip }}]:6443/healthz --cert /var/lib/rancher/k3s/server/tls/client-kube-apiserver.crt --key /var/lib/rancher/k3s/server/tls/client-kube-apiserver.key --cacert /var/lib/rancher/k3s/server/tls/client-ca.crt"
  39. {% else %}
  40. value: "curl -k -XGET https://{{ node_ip }}:6443/healthz --cert /var/lib/rancher/k3s/server/tls/client-kube-apiserver.crt --key /var/lib/rancher/k3s/server/tls/client-kube-apiserver.key --cacert /var/lib/rancher/k3s/server/tls/client-ca.crt"
  41. {% endif %}
  42. image: {{ image_repository }}/keepalived:{{ keepalived_version_tag }}
  43. imagePullPolicy: IfNotPresent
  44. name: keepalived
  45. resources: {}
  46. volumeMounts:
  47. - mountPath: /var/lib/rancher
  48. name: rancher
  49. readOnly: true
  50. securityContext:
  51. capabilities:
  52. add:
  53. - SYS_NICE
  54. - NET_ADMIN
  55. - NET_BROADCAST
  56. - NET_RAW
  57. privileged: true
  58. hostNetwork: true
  59. priorityClassName: system-cluster-critical
  60. volumes:
  61. - name: rancher
  62. hostPath:
  63. path: /var/lib/rancher
  64. type: Directory