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:
systemdversion>=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
Post a Comment