Skip to content
Snippets Groups Projects
flannel-pod.yml 1.51 KiB
---
kind: "Pod"
apiVersion: "v1"
metadata:
  name: "flannel"
  namespace: "{{system_namespace}}"
  labels:
    app: "flannel"
    version: "v0.1"
spec:
  tolerations:
    - effect: NoSchedule
      operator: Exists
  volumes:
    - name: "subnetenv"
      hostPath:
        path: "/run/flannel"
    - name: "etcd-certs"
      hostPath:
        path: "{{ flannel_cert_dir }}"
  containers:
    - name: "flannel-container"
      image: "{{ flannel_image_repo }}:{{ flannel_image_tag }}"
      imagePullPolicy: {{ k8s_image_pull_policy }}
      resources:
        limits:
          cpu: {{ flannel_cpu_limit }}
          memory: {{ flannel_memory_limit }}
        requests:
          cpu: {{ flannel_cpu_requests }}
          memory: {{ flannel_memory_requests }}
      command:
        - "/bin/sh"
        - "-c"
        - "/opt/bin/flanneld -etcd-endpoints {{ etcd_access_endpoint }} -etcd-prefix /{{ cluster_name }}/network -etcd-cafile {{ flannel_cert_dir }}/ca_cert.crt -etcd-certfile {{ flannel_cert_dir }}/cert.crt -etcd-keyfile {{ flannel_cert_dir }}/key.pem {% if flannel_interface is defined %}-iface {{ flannel_interface }}{% endif %} {% if flannel_public_ip is defined %}-public-ip {{ flannel_public_ip }}{% endif %}"
      ports:
        - hostPort: 10253
          containerPort: 10253
      volumeMounts:
        - name: "subnetenv"
          mountPath: "/run/flannel"
        - name: "etcd-certs"
          mountPath: "{{ flannel_cert_dir }}"
          readOnly: true
      securityContext:
        privileged: true
  hostNetwork: true