apiVersion: v1
kind: ReplicationController
metadata:
  name: kubedns
  labels: {
    "k8s-app": "kubedns",
    "kubernetes.io/cluster-service": "true",
}
spec:
  replicas: 1
  selector: {
    "k8s-app": "kubedns"
}
  template:
    metadata:
      labels: {
    "k8s-app": "kubedns",
    "kubernetes.io/cluster-service": "true",
}
    spec:
      containers:
      - name: etcd
        image: "gcr.io/google_containers/etcd-amd64:2.2.1"
        resources:
          limits: {
    "cpu": "100m",
    "memory": "50Mi"
}
        command:
          - /usr/local/bin/etcd
          - -data-dir
          - /var/etcd/data
          - -listen-client-urls
          - http://127.0.0.1:2379,http://127.0.0.1:4001
          - -advertise-client-urls
          - http://127.0.0.1:2379,http://127.0.0.1:4001
          - -initial-cluster-token
          - skydns-etcd
        volumeMounts: [
    {
        "mountPath": "/var/etcd/data",
        "name": "etcd-storage"
    }
]

      - name: kube2sky
        image: "gcr.io/google_containers/kube2sky:1.14"
        resources:
          limits: {
    "cpu": "100m",
    "memory": "50Mi"
}
        args:
            - --domain=cluster.local

      - name: skydns
        image: "gcr.io/google_containers/skydns:2015-10-13-8c72f8c"
        resources:
          limits: {
    "cpu": "100m",
    "memory": "50Mi"
}
        args:
          - -machines=http://localhost:4001
          - -addr=0.0.0.0:53
          - -rtimeout=1s
          - -domain=cluster.local.
        ports:
          - containerPort: 53
            name: dns
            protocol: UDP
          - containerPort: 53
            name: dns-tcp
            protocol: TCP
        livenessProbe:
          httpGet:
            path: /healthz
            port: 8080
            scheme: HTTP
          initialDelaySeconds: 30
          timeoutSeconds: 5
        readinessProbe:
          httpGet:
            path: /healthz
            port: 8080
            scheme: HTTP
          initialDelaySeconds: 1
          timeoutSeconds: 5

      - name: healthz
        image: "gcr.io/google_containers/exechealthz:1.0"
        resources:
          limits: {
    "cpu": "10m",
    "memory": "20Mi"
}
        args:
          - -cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null
          - -port=8080

      volumes: [
    {
        "emptyDir": {},
        "name": "etcd-storage"
    }
]

      dnsPolicy: Default  # Don't use cluster DNS.
