google compute engine - DC/OS on GCE Ubuntu -


is there link/documentation available around installing dc/os on google compute engine instances ubuntu 16.04 instances including bootstrap node instead of centos 7?

currently , documents find use ansible , centos 7 on gce below. https://dcos.io/docs/1.7/administration/installing/cloud/gce/

short answer: debian based distributions (at least dc/os 1.10) not supported.

long answer: it's possible, requires steps.

dc/os doesn't use redhat specific features. important differences solved symlinks few system binaries, redhat systems have different paths , systemd doesn't support $path variable in service definition. you'll need following:

sudo apt-get install libcurl3-nss ipset selinux-utils curl unzip bc sudo ln -s /bin/mkdir /usr/bin/mkdir sudo ln -s /bin/ln /usr/bin/ln sudo ln -s /bin/tar /usr/bin/tar sudo ln -s /bin/rm /usr/bin/rm sudo ln -s /usr/sbin/useradd /usr/bin/useradd sudo ln -s /bin/bash /usr/bin/bash 

another requirements are:

  • systemd version >=200
  • docker >=1.6

slightly outdated scripts john omernik, there's puppet module (i'm author). further details see discussion on dc/os jira.

next step manual dc/os compilation (it might sound scary, it's easy). c++ components (especially mesos-slave) dependent on system libraries , they'd better linked proper libraries.

apt install python3-venv build-essential git git clone https://github.com/dcos/dcos ./build_local.sh 

resulting "image" located in:

$home/dcos-artifacts/testing/`whoami`/dcos_generate_config.sh 

you can copy bootstrap server , extract:

bash dcos_generate_config.sh --genconf 

after updating genconf/config.yaml can start container serving installation scripts:

docker run -d -p 9090:80 -v $pwd/genconf/serve:/usr/share/nginx/html:ro nginx 

on new node fetch installation script:

rm -rf /tmp/dcos && mkdir /tmp/dcos && cd /tmp/dcos && curl -o http://bootstrap.example.com:9090/dcos_install.sh bash dcos_install.sh slave 

unless don't want run packages dc/os universe (like elastic, kafka, etc.) depends on libmesos-bundle, might fine. bundle fetched each executor's directory, includes numerous libraries, such libmesos.so

...  -rwxr-xr-x 1 nobody nogroup 55077256 jun 28 19:50 libmesos-1.4.0.so -rwxr-xr-x 1 nobody nogroup     1487 jun 28 19:50 libmesos.la lrwxrwxrwx 1 nobody nogroup       17 jun 28 19:50 libmesos.so -> libmesos-1.4.0.so -rwxr-xr-x 1 nobody nogroup   398264 jun 28 19:53 libpcre.so.1 -rwxr-xr-x 1 nobody nogroup   121296 jun 28 19:53 libsasl2.so.3 -rwxr-xr-x 1 nobody nogroup   155744 jun 28 19:53 libselinux.so.1 -rwxr-xr-x 1 nobody nogroup   454008 jun 28 19:53 libssl.so.10 -rwxr-xr-x 1 nobody nogroup   999944 jun 28 19:53 libstdc++.so.6 -rwxr-xr-x 1 nobody nogroup    79000 jun 28 19:53 libsvn_delta-1.so.0 -rwxr-xr-x 1 nobody nogroup  1820208 jun 28 19:53 libsvn_subr-1.so.0 -rwxr-xr-x 1 nobody nogroup    20040 jun 28 19:53 libuuid.so.1 -rwxr-xr-x 1 nobody nogroup    90664 jun 28 19:53 libz.so.1 drwxr-xr-x 3 nobody nogroup     4096 jun 28 19:53 mesos drwxr-xr-x 2 nobody nogroup     4096 jun 28 19:37 pkgconfig 

some libraries might compatible system, versions between centos , debian might (and will) differ. might encounter errors like:

libmesos-bundle/lib/libcurl.so.4: version `curl_openssl_3' not found (required curl) 

which cause agent based health checks use curl won't work, therefore instances refuse start.


Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -