---
  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=0.0.0.0
          - --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: {}
