mirror of https://github.com/k3s-io/k3s
181 lines
5.9 KiB
YAML
181 lines
5.9 KiB
YAML
ambassador:
|
|
image: cpuguy83/docker-grand-ambassador:0.9.1
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
command: "-name docker_apiserver_1"
|
|
etcd:
|
|
hostname: etcd
|
|
image: quay.io/coreos/etcd:v2.0.12
|
|
ports: [ "4001:4001" ]
|
|
command: >
|
|
--listen-client-urls 'http://etcd:4001'
|
|
--advertise-client-urls 'http://etcd:4001'
|
|
--initial-cluster-state new
|
|
mesosmaster1:
|
|
hostname: mesosmaster1
|
|
image: mesosphere/mesos:0.23.0-1.0.ubuntu1404
|
|
entrypoint: [ "mesos-master" ]
|
|
ports: [ "5050:5050" ]
|
|
environment:
|
|
- MESOS_HOSTNAME=mesosmaster1
|
|
- MESOS_PORT=5050
|
|
- MESOS_LOG_DIR=/var/log/mesos
|
|
- MESOS_QUORUM=1
|
|
- MESOS_REGISTRY=in_memory
|
|
- MESOS_WORK_DIR=/var/lib/mesos
|
|
links:
|
|
- etcd
|
|
- "ambassador:apiserver"
|
|
mesosslave1:
|
|
hostname: mesosslave1
|
|
privileged: true
|
|
image: mesosphere/mesos-slave-dind:0.23.0-1.0.ubuntu1404.docker181
|
|
entrypoint: [ "bash", "-c", "wrapdocker mesos-slave --hostname=$(getent hosts mesosslave1 | cut -d' ' -f1 | sort -u | tail -1)" ]
|
|
command: ~
|
|
environment:
|
|
- MESOS_MASTER=mesosmaster1:5050
|
|
- MESOS_PORT=5051
|
|
- MESOS_LOG_DIR=/var/log/mesos
|
|
- MESOS_LOGGING_LEVEL=INFO
|
|
- MESOS_RESOURCES=cpus:4;mem:1280;disk:25600;ports:[21000-21099]
|
|
- MESOS_SWITCH_USER=0
|
|
- MESOS_CONTAINERIZERS=docker,mesos
|
|
- MESOS_WORK_DIR=/var/tmp/mesos
|
|
- DOCKER_NETWORK_OFFSET=0.0.1.0
|
|
- DOCKER_DAEMON_ARGS
|
|
links:
|
|
- etcd
|
|
- mesosmaster1
|
|
- "ambassador:apiserver"
|
|
volumes:
|
|
- ${MESOS_DOCKER_WORK_DIR}/mesosslave1/mesos:/var/tmp/mesos
|
|
mesosslave2:
|
|
hostname: mesosslave2
|
|
privileged: true
|
|
image: mesosphere/mesos-slave-dind:0.23.0-1.0.ubuntu1404.docker181
|
|
entrypoint: [ "bash", "-c", "wrapdocker mesos-slave --hostname=$(getent hosts mesosslave2 | cut -d' ' -f1 | sort -u | tail -1)" ]
|
|
command: ~
|
|
environment:
|
|
- MESOS_MASTER=mesosmaster1:5050
|
|
- MESOS_PORT=5051
|
|
- MESOS_LOG_DIR=/var/log/mesos
|
|
- MESOS_LOGGING_LEVEL=INFO
|
|
- MESOS_RESOURCES=cpus:4;mem:1280;disk:25600;ports:[21000-21099]
|
|
- MESOS_SWITCH_USER=0
|
|
- MESOS_CONTAINERIZERS=docker,mesos
|
|
- MESOS_WORK_DIR=/var/tmp/mesos
|
|
- DOCKER_NETWORK_OFFSET=0.0.2.0
|
|
- DOCKER_DAEMON_ARGS
|
|
links:
|
|
- etcd
|
|
- mesosmaster1
|
|
- "ambassador:apiserver"
|
|
volumes:
|
|
- ${MESOS_DOCKER_WORK_DIR}/mesosslave2/mesos:/var/tmp/mesos
|
|
apiserver:
|
|
hostname: apiserver
|
|
image: mesosphere/kubernetes-mesos
|
|
entrypoint:
|
|
- /bin/bash
|
|
- "-ceu"
|
|
- >
|
|
echo "Hostname: $(hostname -f) ($(hostname -f | xargs resolveip))" &&
|
|
(grep "mesos-master\s*=" /opt/mesos-cloud.conf || echo " mesos-master = mesosmaster1:5050" >> /opt/mesos-cloud.conf) &&
|
|
await-health-check "-t=${MESOS_DOCKER_ETCD_TIMEOUT}" http://etcd:4001/health &&
|
|
await-health-check "-t=${MESOS_DOCKER_MESOS_TIMEOUT}" http://mesosmaster1:5050/health &&
|
|
await-file "-t=${KUBE_KEYGEN_TIMEOUT}" /var/run/kubernetes/auth/apiserver.crt &&
|
|
km apiserver
|
|
--address=$(resolveip apiserver)
|
|
--external-hostname=apiserver
|
|
--etcd-servers=http://etcd:4001
|
|
--port=8888
|
|
--admission-control=NamespaceLifecycle,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota
|
|
--authorization-mode=AlwaysAllow
|
|
--token-auth-file=/var/run/kubernetes/auth/token-users
|
|
--basic-auth-file=/var/run/kubernetes/auth/basic-users
|
|
--service-account-key-file=/var/run/kubernetes/auth/service-accounts.key
|
|
--service-cluster-ip-range=10.10.10.0/24
|
|
--service-node-port-range=30000-32767
|
|
--cloud-provider=mesos
|
|
--cloud-config=/opt/mesos-cloud.conf
|
|
--tls-cert-file=/var/run/kubernetes/auth/apiserver.crt
|
|
--tls-private-key-file=/var/run/kubernetes/auth/apiserver.key
|
|
--v=4
|
|
ports: [ "8888:8888", "6443:6443" ]
|
|
environment:
|
|
- MESOS_DOCKER_ETCD_TIMEOUT
|
|
- MESOS_DOCKER_MESOS_TIMEOUT
|
|
- KUBE_KEYGEN_TIMEOUT
|
|
volumes:
|
|
- ${MESOS_DOCKER_WORK_DIR}/auth:/var/run/kubernetes/auth:ro
|
|
links:
|
|
- etcd
|
|
- mesosmaster1
|
|
controller:
|
|
hostname: controller
|
|
image: mesosphere/kubernetes-mesos
|
|
entrypoint:
|
|
- /bin/bash
|
|
- "-ceu"
|
|
- >
|
|
echo "Hostname: $(hostname -f) ($(hostname -f | xargs resolveip))" &&
|
|
(grep "mesos-master\s*=" /opt/mesos-cloud.conf || echo " mesos-master = mesosmaster1:5050" >> /opt/mesos-cloud.conf) &&
|
|
await-health-check "-t=${MESOS_DOCKER_MESOS_TIMEOUT}" http://mesosmaster1:5050/health &&
|
|
await-health-check "-t=${MESOS_DOCKER_API_TIMEOUT}" http://apiserver:8888/healthz &&
|
|
km controller-manager
|
|
--address=$(resolveip controller)
|
|
--master=http://apiserver:8888
|
|
--cloud-config=/opt/mesos-cloud.conf
|
|
--service-account-private-key-file=/var/run/kubernetes/auth/service-accounts.key
|
|
--root-ca-file=/var/run/kubernetes/auth/root-ca.crt
|
|
--v=4
|
|
environment:
|
|
- MESOS_DOCKER_MESOS_TIMEOUT
|
|
- MESOS_DOCKER_API_TIMEOUT
|
|
volumes:
|
|
- ${MESOS_DOCKER_WORK_DIR}/auth:/var/run/kubernetes/auth:ro
|
|
links:
|
|
- mesosmaster1
|
|
- apiserver
|
|
scheduler:
|
|
hostname: scheduler
|
|
image: mesosphere/kubernetes-mesos
|
|
entrypoint:
|
|
- /bin/bash
|
|
- "-ceu"
|
|
- >
|
|
echo "Hostname: $(hostname -f) ($(hostname -f | xargs resolveip))" &&
|
|
(grep "mesos-master\s*=" /opt/mesos-cloud.conf || echo " mesos-master = mesosmaster1:5050" >> /opt/mesos-cloud.conf) &&
|
|
await-health-check "-t=${MESOS_DOCKER_ETCD_TIMEOUT}" http://etcd:4001/health &&
|
|
await-health-check "-t=${MESOS_DOCKER_MESOS_TIMEOUT}" http://mesosmaster1:5050/health &&
|
|
await-health-check "-t=${MESOS_DOCKER_API_TIMEOUT}" http://apiserver:8888/healthz &&
|
|
km scheduler
|
|
--address=$(resolveip scheduler)
|
|
--hostname-override=scheduler
|
|
--etcd-servers=http://etcd:4001
|
|
--mesos-user=root
|
|
--api-servers=http://apiserver:8888
|
|
--mesos-master=mesosmaster1:5050
|
|
--cluster-dns=10.10.10.10
|
|
--cluster-domain=cluster.local
|
|
--v=4
|
|
environment:
|
|
- MESOS_DOCKER_ETCD_TIMEOUT
|
|
- MESOS_DOCKER_MESOS_TIMEOUT
|
|
- MESOS_DOCKER_API_TIMEOUT
|
|
links:
|
|
- etcd
|
|
- mesosmaster1
|
|
- mesosslave1
|
|
- mesosslave2
|
|
- apiserver
|
|
keygen:
|
|
image: mesosphere/kubernetes-mesos-keygen
|
|
command:
|
|
- apiserver
|
|
- /var/run/kubernetes/auth
|
|
volumes:
|
|
- ${MESOS_DOCKER_WORK_DIR}/auth:/var/run/kubernetes/auth
|
|
links:
|
|
- apiserver
|