---
  apiVersion: "v1"
  kind: "Pod"
  metadata:
    name: "k8s-master"
  spec:
    hostNetwork: true
    containers:
      -
        name: "controller-manager"
        image: "kz8s/hyperkube:v1.2.0"
        command:
          - /hyperkube
        args:
          - "controller-manager"
          - "--master=127.0.0.1:8080"
          - "--service-account-private-key-file=/srv/kubernetes/server.key"
          - "--root-ca-file=/srv/kubernetes/ca.crt"
          - "--min-resync-period=3m"
          - "--v=2"
        volumeMounts:
          -
            name: "data"
            mountPath: "/srv/kubernetes"
      -
        name: "apiserver"
        image: "kz8s/hyperkube:v1.2.0"
        command:
          - /hyperkube
        args:
          - "apiserver"
          - "--service-cluster-ip-range=10.0.0.1/24"
          - "--insecure-bind-address=127.0.0.1"
          - "--etcd-servers=http://127.0.0.1:4001"
          - "--admission-control=NamespaceLifecycle,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"
          - "--client-ca-file=/srv/kubernetes/ca.crt"
          - "--basic-auth-file=/srv/kubernetes/basic_auth.csv"
          - "--min-request-timeout=300"
          - "--tls-cert-file=/srv/kubernetes/server.cert"
          - "--tls-private-key-file=/srv/kubernetes/server.key"
          - "--token-auth-file=/srv/kubernetes/known_tokens.csv"
          - "--allow-privileged=true"
          - "--v=4"
        volumeMounts:
          -
            name: "data"
            mountPath: "/srv/kubernetes"
      -
        name: "scheduler"
        image: "kz8s/hyperkube:v1.2.0"
        command:
          - /hyperkube
        args:
          - "scheduler"
          - "--master=127.0.0.1:8080"
          - "--v=2"
      -
        name: "setup"
        image: "kz8s/hyperkube:v1.2.0"
        command:
          - /setup-files.sh
        args:
          - "IP:10.0.0.1,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local"
        volumeMounts:
          -
            name: "data"
            mountPath: "/data"
    volumes:
      -
        name: "data"
        emptyDir: {}
