text: apiVersion: extensions/v1beta1
  kind: DaemonSet
  metadata:
    name: kube-keepalived-vip
  spec:
    template:
      metadata:
        labels:
          name: kube-keepalived-vip
      spec:
        hostNetwork: true
        containers:
          - image: aledbf/kube-keepalived-vip:0.35
            name: kube-keepalived-vip
            imagePullPolicy: IfNotPresent
            livenessProbe:
              httpGet:
                path: /health
                port: 8080
              initialDelaySeconds: 15
              timeoutSeconds: 3
            securityContext:
              privileged: true
            volumeMounts:
              - mountPath: /lib/modules
                name: modules
                readOnly: true
              - mountPath: /dev
                name: dev
            # use downward API
            env:
              - name: POD_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.name
              - name: POD_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
            # to use unicast
            args:
              - --services-configmap=default/vip-configmap
              # unicast uses the ip of the nodes instead of multicast
              # this is useful if running in cloud providers (like AWS)
              #- --use-unicast=true
        volumes:
          - name: modules
            hostPath:
              path: /lib/modules
          - name: dev
            hostPath:
              path: /dev
        #nodeSelector:
        #  type: worker
  