# Inspired by https://github.com/kube-vip/kube-vip/blob/v0.5.11/pkg/kubevip/config_generator.go#L13 apiVersion: v1 kind: Pod metadata: name: kube-vip namespace: kube-system labels: addonmanager.kubernetes.io/mode: Reconcile k8s-app: kube-vip spec: containers: - args: - manager env: - name: vip_arp value: {{ kube_vip_arp_enabled | string | to_json }} - name: port value: {{ kube_apiserver_port | string | to_json }} {% if kube_vip_interface %} - name: vip_interface value: {{ kube_vip_interface | string | to_json }} {% endif %} {% if kube_vip_services_interface %} - name: vip_servicesinterface value: {{ kube_vip_services_interface | string | to_json }} {% endif %} {% if kube_vip_cidr %} - name: vip_cidr value: {{ kube_vip_cidr | string | to_json }} {% endif %} {% if kube_vip_controlplane_enabled %} - name: cp_enable value: "true" - name: cp_namespace value: kube-system - name: vip_ddns value: {{ kube_vip_ddns_enabled | string | to_json }} {% endif %} {% if kube_vip_services_enabled %} - name: svc_enable value: "true" {% endif %} {% if kube_vip_enableServicesElection %} - name: svc_election value: "true" {% endif %} {% if kube_vip_leader_election_enabled %} - name: vip_leaderelection value: "true" - name: vip_leaseduration value: "5" - name: vip_renewdeadline value: "3" - name: vip_retryperiod value: "1" {% endif %} {% if kube_vip_bgp_enabled %} - name: bgp_enable value: "true" - name: bgp_routerid value: {{ kube_vip_bgp_routerid | string | to_json }} - name: bgp_as value: {{ kube_vip_local_as | string | to_json }} - name: bgp_peeraddress value: {{ kube_vip_bgp_peeraddress | to_json }} - name: bgp_peerpass value: {{ kube_vip_bgp_peerpass | to_json }} - name: bgp_peeras value: {{ kube_vip_bgp_peeras | string | to_json }} {% if kube_vip_bgppeers %} - name: bgp_peers value: {{ kube_vip_bgppeers | join(',') | to_json }} {% endif %} {% endif %} - name: address value: {{ kube_vip_address | to_json }} {% if kube_vip_lb_enable %} - name: lb_enable value: "true" {% endif %} {% if kube_vip_lb_fwdmethod %} - name: lb_fwdmethod value: {{ kube_vip_lb_fwdmethod | string | to_json }} {% endif %} image: {{ kube_vip_image_repo }}:{{ kube_vip_image_tag }} imagePullPolicy: {{ k8s_image_pull_policy }} name: kube-vip resources: {} securityContext: capabilities: add: - NET_ADMIN - NET_RAW volumeMounts: - mountPath: /etc/kubernetes/admin.conf name: kubeconfig hostAliases: - hostnames: - kubernetes ip: 127.0.0.1 hostNetwork: true volumes: - hostPath: path: /etc/kubernetes/admin.conf name: kubeconfig status: {}