diff --git a/dockerfiles/dind/Dockerfile.dind-ee b/dockerfiles/dind/Dockerfile.dind-ee index 83fb20a..9414d10 100644 --- a/dockerfiles/dind/Dockerfile.dind-ee +++ b/dockerfiles/dind/Dockerfile.dind-ee @@ -1,14 +1,23 @@ -ARG VERSION=franela/docker:18.01-dind-ubuntu +ARG VERSION=franela/docker:18.09-ee-dind +#ARG VERSION=franela/docker:17.06.2-dind-ubuntu +#ARG VERSION=franela/docker:18.01-dind-ubuntu + FROM ${VERSION} RUN apt-get update \ - && apt-get install -y git tmux apache2-utils vim curl jq bash-completion tree zip \ + && apt-get install -y git tmux python-pip apache2-utils vim curl jq bash-completion tree zip \ && rm -rf /var/lib/apt/lists/* # Add kubectl client RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.8.6/bin/linux/amd64/kubectl \ && chmod +x ./kubectl \ && mv ./kubectl /usr/local/bin/kubectl + +ENV COMPOSE_VERSION=1.22.0 + +RUN pip install docker-compose==${COMPOSE_VERSION} +RUN curl -L https://github.com/docker/machine/releases/download/${MACHINE_VERSION}/docker-machine-Linux-x86_64 \ + -o /usr/bin/docker-machine && chmod +x /usr/bin/docker-machine # Install a nice vimrc file and prompt (by soulshake) @@ -16,9 +25,9 @@ COPY ["docker-prompt", "sudo", "ucp-beta.sh", "/usr/local/bin/"] COPY [".vimrc",".profile", ".inputrc", ".gitconfig", "workshop_beta.lic", "./root/"] COPY ["motd", "/etc/motd"] COPY ["ee/daemon.json", "/etc/docker/"] -COPY ["ee/cert.pem", "/opt/pwd/certs/"] -COPY ["ee/key.pem", "/opt/pwd/certs/"] -COPY ["ee/config.json", "/root/.docker/"] +COPY ["ee/cert.pem", "ee/key.pem", "/opt/pwd/certs/"] +COPY ["ee/ucp-key.pem", "./root/key.pem"] +COPY ["ee/ucp-cert.pem", "./root/cert.pem"] # Move to our home WORKDIR /root @@ -26,6 +35,8 @@ WORKDIR /root # Setup certs and uploads folders RUN mkdir -p /opt/pwd/certs /opt/pwd/uploads /var/lib/kubelet +VOLUME ["/var/lib/kubelet"] + # Remove IPv6 alias for localhost and start docker in the background ... CMD cat /etc/hosts >/etc/hosts.bak && \ sed 's/^::1.*//' /etc/hosts.bak > /etc/hosts && \ @@ -35,8 +46,10 @@ CMD cat /etc/hosts >/etc/hosts.bak && \ sed -i "s/\DOCKER_TLSCERT/$DOCKER_TLSCERT/" /etc/docker/daemon.json && \ sed -i "s/\DOCKER_TLSKEY/$DOCKER_TLSKEY/" /etc/docker/daemon.json && \ mount -t securityfs none /sys/kernel/security && \ - mount --make-shared -t tmpfs tmpfs /run && \ - mount --make-shared -t tmpfs tmpfs /var/lib/kubelet && \ + mount --make-rshared / && \ + #mount --make-shared -t tmpfs tmpfs /run && \ + #mount --make-shared -t tmpfs tmpfs /var/lib/kubelet && \ + #mount --make-shared /var/lib/docker && \ dockerd > /docker.log 2>&1 & \ while true ; do script -q -c "/bin/bash -l" /dev/null ; done # ... and then put a shell in the foreground, restarting it if it exits diff --git a/dockerfiles/dind/ucp.sh b/dockerfiles/dind/ucp.sh index 27537a0..3bc85b6 100755 --- a/dockerfiles/dind/ucp.sh +++ b/dockerfiles/dind/ucp.sh @@ -11,14 +11,17 @@ function wait_for_url { function deploy_ucp { wait_for_url "https://localhost:2376" - docker run --rm --name ucp \ + docker run --rm -i --name ucp \ -v /var/run/docker.sock:/var/run/docker.sock \ - docker/ucp:2.2.3 install --force-insecure-tcp \ + docker/ucp:3.0.5 install --debug --force-insecure-tcp \ --san *.direct.${PWD_HOST_FQDN} \ --license $(cat $HOME/workshop.lic) \ --swarm-port 2375 \ --admin-username admin \ --admin-password admin1234 + + rm $HOME/workshop.lic + echo "Finished deploying UCP" } function get_instance_ip { @@ -48,7 +51,7 @@ function deploy_dtr { local dtr_url=$(get_direct_url_from_ip $dtr_ip) local ucp_url=$(get_direct_url_from_ip $ucp_ip) - docker run --rm docker/dtr install \ + docker run -i --rm docker/dtr:2.5.5 install \ --dtr-external-url $dtr_url \ --ucp-node $1 \ --ucp-username admin \ diff --git a/dockerfiles/dind/workshop.lic b/dockerfiles/dind/workshop.lic index cbb5b84..05a8892 100644 --- a/dockerfiles/dind/workshop.lic +++ b/dockerfiles/dind/workshop.lic @@ -1 +1 @@ -{"key_id":"TLuxNP8EboMqcs360bc81rF6Ex3Wx4N1C8tH1ZTdkgzi","private_key":"K4LcPo3AT8n8sbcVRYiu2bLmyw09Wq36wiXzSk1g82XW","authorization":"ewogICAicGF5bG9hZCI6ICJleUpsZUhCcGNtRjBhVzl1SWpvaU1qQXhPQzB4TUMwd00xUXhOVG93TnpvME0xb2lMQ0owYjJ0bGJpSTZJamRDUVd0Rk5rbFJXVTlKYmtWeVZYWnJUa1EwY0dsYWRrVXhla1ZKZWtrM016VkpYemxYVEZWamEyYzlJaXdpYldGNFJXNW5hVzVsY3lJNk5Dd2ljMk5oYm01cGJtZEZibUZpYkdWa0lqcDBjblZsTENKc2FXTmxibk5sVkhsd1pTSTZJazltWm14cGJtVWlMQ0owYVdWeUlqb2lVSEp2WkhWamRHbHZiaUo5IiwKICAgInNpZ25hdHVyZXMiOiBbCiAgICAgIHsKICAgICAgICAgImhlYWRlciI6IHsKICAgICAgICAgICAgImp3ayI6IHsKICAgICAgICAgICAgICAgImUiOiAiQVFBQiIsCiAgICAgICAgICAgICAgICJrZXlJRCI6ICJKN0xEOjY3VlI6TDVIWjpVN0JBOjJPNEc6NEFMMzpPRjJOOkpIR0I6RUZUSDo1Q1ZROk1GRU86QUVJVCIsCiAgICAgICAgICAgICAgICJraWQiOiAiSjdMRDo2N1ZSOkw1SFo6VTdCQToyTzRHOjRBTDM6T0YyTjpKSEdCOkVGVEg6NUNWUTpNRkVPOkFFSVQiLAogICAgICAgICAgICAgICAia3R5IjogIlJTQSIsCiAgICAgICAgICAgICAgICJuIjogInlkSXktbFU3bzdQY2VZLTQtcy1DUTVPRWdDeUY4Q3hJY1FJV3VLODRwSWlaY2lZNjczMHlDWW53TFNLVGx3LVU2VUNfUVJlV1Jpb01OTkU1RHM1VFlFWGJHRzZvbG0ycWRXYkJ3Y0NnLTJVVUhfT2NCOVd1UDZnUlBIcE1GTXN4RHpXd3ZheThKVXVIZ1lVTFVwbTFJdi1tcTdscDVuUV9SeHJUMEtaUkFRVFlMRU1FZkd3bTNoTU9fZ2VMUFMtaGdLUHRJSGxrZzZfV2NveFRHb0tQNzlkX3dhSFl4R05sN1doU25laUJTeGJwYlFBS2syMWxnNzk4WGI3dlp5RUFURE1yUlI5TWVFNkFkajVISnBZM0NveVJBUENtYUtHUkNLNHVvWlNvSXUwaEZWbEtVUHliYncwMDBHTy13YTJLTjhVd2dJSW0waTVJMXVXOUdrcTR6akJ5NXpoZ3F1VVhiRzliV1BBT1lycTVRYTgxRHhHY0JsSnlIWUFwLUREUEU5VEdnNHpZbVhqSm54WnFIRWR1R3FkZXZaOFhNSTB1a2ZrR0lJMTR3VU9pTUlJSXJYbEVjQmZfNDZJOGdRV0R6eHljWmVfSkdYLUxBdWF5WHJ5clVGZWhWTlVkWlVsOXdYTmFKQi1rYUNxejVRd2FSOTNzR3ctUVNmdEQwTnZMZTdDeU9ILUU2dmc2U3RfTmVUdmd2OFluaENpWElsWjhIT2ZJd05lN3RFRl9VY3o1T2JQeWttM3R5bHJOVWp0MFZ5QW10dGFjVkkyaUdpaGNVUHJtazRsVklaN1ZEX0xTVy1pN3lvU3VydHBzUFhjZTJwS0RJbzMwbEpHaE9fM0tVbWwyU1VaQ3F6SjF5RW1LcHlzSDVIRFc5Y3NJRkNBM2RlQWpmWlV2TjdVIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiYWxnIjogIlJTMjU2IgogICAgICAgICB9LAogICAgICAgICAic2lnbmF0dXJlIjogIkgxZTZPdkxabDN2a0U5Y2dNTlBYTXMxVno1aGt2NU0xNWprSFZwQy1aYUNGTk85YXFhS0pIbW92aHVZX0lEeDQzNXRndHpLVkNhNTNZOElEQTBzOTcxbEQzZ09uMUlFUVA5Z09qV1lBWTRPeGhrZmFjcFBIZlJRYkRrWnM4Ti1sNTdncDJEbFBNdkR6cnk5OHh4eEVHOTRndnpZa0xCMGtjX3NrQU1QSVNNNXJJUHpLYzJ0Tlpra0RIbDNHcTFpX0s2NTZlSjFTZnhVSGlmczhaMXBuNHJEVTF1RTdHRzhOR01zV3NSYVRBSWF0eE44UEJaUXZYSDU2ZUltTVdsNENoLUhIbTBFNjFHYW12cU1HbV9RSDVTMEdnTVdEMGpSOFVZRGY0YllSU0xPMHZfVUhhNW9ab0FHVFZDWldjRTJIdHh0OWVIdUFrSXl4aFFrMWZUUU5KVFdETjNSNEtqR1h3Q3JCal90cGxrZkxBS0ROTDk3aWNpTWxNTU1iYkNXSTc3b1VrbGFqeF9xMWYwR1NrSF9PZnpIM2UzZ1hjNEVBekc4ekxJaDlMSmJJZW1fTTNjUjM3a1IxcUM1dHJQYS1aaGdBUnFtazRwUGFtOWVHdndlYUIzUG43V3FRc0Y2VEVrbkk0TDRaUWdZeERSbjVzTlBuaFRRcVljRWxzMjhYX2JLTFV1QzhIQXpTcjRkU25oWUNoR1VRNjktVmdqSDBXZkFZZV95bXViemJyOUpMdlhESlh6M29TVFEtMmtUOFZadkxQVDhsN2ZmRmVmTkY5R2JxLTcxY0dZLXZlY1BxZ3J3eWl3eXFJeWpaVzhsM2YxT1Z5V2U1TVJZcS1HZnJyS2Nnb3ppSlNKRFR6THFOVERnOTdPa1NwN1FmZV9JN1BHbDlyc1NVNU9vIiwKICAgICAgICAgInByb3RlY3RlZCI6ICJleUptYjNKdFlYUk1aVzVuZEdnaU9qRTNNeXdpWm05eWJXRjBWR0ZwYkNJNkltWlJJaXdpZEdsdFpTSTZJakl3TVRjdE1UQXRNREpVTVRVNk1EazZOVFphSW4wIgogICAgICB9CiAgIF0KfQ=="} \ No newline at end of file +{"key_id":"B3T_Uirjs-tpcGd4Tql8HL--kDo1iTOUaVUFNMhEXM1Z","private_key":"RbtCEoNZ4OBu-yIHNM1mGCJ6R_4SxF-ThghAd-I3b6_N","authorization":"ewogICAicGF5bG9hZCI6ICJleUpsZUhCcGNtRjBhVzl1SWpvaU1qQXhPUzB3TkMweU5GUXhPRG93TkRvek5Gb2lMQ0owYjJ0bGJpSTZJbU16U1VnMllWSjFWak00WjBWSVIwWXRVV1l0ZGxGM2MwMHdlR05vYnpoWE4xSklPRzFLYVRaT1VUUTlJaXdpYldGNFJXNW5hVzVsY3lJNk1UQXNJbk5qWVc1dWFXNW5SVzVoWW14bFpDSTZkSEoxWlN3aWJHbGpaVzV6WlZSNWNHVWlPaUpQWm1ac2FXNWxJaXdpZEdsbGNpSTZJbEJ5YjJSMVkzUnBiMjRpZlEiLAogICAic2lnbmF0dXJlcyI6IFsKICAgICAgewogICAgICAgICAiaGVhZGVyIjogewogICAgICAgICAgICAiandrIjogewogICAgICAgICAgICAgICAiZSI6ICJBUUFCIiwKICAgICAgICAgICAgICAgImtleUlEIjogIko3TEQ6NjdWUjpMNUhaOlU3QkE6Mk80Rzo0QUwzOk9GMk46SkhHQjpFRlRIOjVDVlE6TUZFTzpBRUlUIiwKICAgICAgICAgICAgICAgImtpZCI6ICJKN0xEOjY3VlI6TDVIWjpVN0JBOjJPNEc6NEFMMzpPRjJOOkpIR0I6RUZUSDo1Q1ZROk1GRU86QUVJVCIsCiAgICAgICAgICAgICAgICJrdHkiOiAiUlNBIiwKICAgICAgICAgICAgICAgIm4iOiAieWRJeS1sVTdvN1BjZVktNC1zLUNRNU9FZ0N5RjhDeEljUUlXdUs4NHBJaVpjaVk2NzMweUNZbndMU0tUbHctVTZVQ19RUmVXUmlvTU5ORTVEczVUWUVYYkdHNm9sbTJxZFdiQndjQ2ctMlVVSF9PY0I5V3VQNmdSUEhwTUZNc3hEeld3dmF5OEpVdUhnWVVMVXBtMUl2LW1xN2xwNW5RX1J4clQwS1pSQVFUWUxFTUVmR3dtM2hNT19nZUxQUy1oZ0tQdElIbGtnNl9XY294VEdvS1A3OWRfd2FIWXhHTmw3V2hTbmVpQlN4YnBiUUFLazIxbGc3OThYYjd2WnlFQVRETXJSUjlNZUU2QWRqNUhKcFkzQ295UkFQQ21hS0dSQ0s0dW9aU29JdTBoRlZsS1VQeWJidzAwMEdPLXdhMktOOFV3Z0lJbTBpNUkxdVc5R2txNHpqQnk1emhncXVVWGJHOWJXUEFPWXJxNVFhODFEeEdjQmxKeUhZQXAtRERQRTlUR2c0elltWGpKbnhacUhFZHVHcWRldlo4WE1JMHVrZmtHSUkxNHdVT2lNSUlJclhsRWNCZl80Nkk4Z1FXRHp4eWNaZV9KR1gtTEF1YXlYcnlyVUZlaFZOVWRaVWw5d1hOYUpCLWthQ3F6NVF3YVI5M3NHdy1RU2Z0RDBOdkxlN0N5T0gtRTZ2ZzZTdF9OZVR2Z3Y4WW5oQ2lYSWxaOEhPZkl3TmU3dEVGX1VjejVPYlB5a20zdHlsck5VanQwVnlBbXR0YWNWSTJpR2loY1VQcm1rNGxWSVo3VkRfTFNXLWk3eW9TdXJ0cHNQWGNlMnBLRElvMzBsSkdoT18zS1VtbDJTVVpDcXpKMXlFbUtweXNINUhEVzljc0lGQ0EzZGVBamZaVXZON1UiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhbGciOiAiUlMyNTYiCiAgICAgICAgIH0sCiAgICAgICAgICJzaWduYXR1cmUiOiAid2xrQUhLd0l1TUs5Y0N3YUdINVB1MW50dGNkLVk0SkNsRnpLeTZtcmJlTzR3eXFOenpwUi16TG4tMlhsYnJGZTdlczYtSklSREhmNzBGR3JRZl9MZEc3QVQ4bC1HRXVoUk1SaF8xVTlXd1BkOGdsWnNFem44VFUyeGtzU3lkWEw2WER3TUlqMHJUMFdpQm43T29YcEc0ZGJrUGgwLWxfY1VKQnphQzlwbEZ3ZXdmdF9Ocl80a0FpcUlNa3FJZHdQaU5XOVc4NERPUFdpZ2FrcTZTTnRtMVpqT2E1UG1ldHUydk1iUGpnTzFZM19tUVFsUldpakRwRUR1Rzl1dl9yNDFsN1I2LTdKQTB6SGpvdVVqdkxDREdIMUQ3eUxnR1RFMTlXN2FMRHI4ZE5FeXBjdi1vQzVmb3pqM19ISjUyWXVDS0RnazJzb3Y5YVFYOHhNTW5DWGU4Y3JIYjlEVG05eVcyd09FN0kxYVZLYXRKbjZrSGprM1FSWGVNbnRNQnJ6TGlzanBjZnlBYzdGNlc1YnBTSUtXaUQtd2o5QTRlY0FPbFNxc0NBS3lkaWxnR2lqQTNPY1dOZHhvV0NhV1MzaXFvakFBTE1JNHlsOFlpdG50ckVMVFNuUDFFS08wTGFaaTJxVURfU0lBSmFOUlRPTVIzblRqQUNwd1ZwYXAyU3lkOEZwc1pFVllTZFJVLWJVZDJybmN1ZHZfcC1XdFZpYWVsQ3BvTWstdURzWGhud2JyWFB6Y3dkVHVobmg0V2kxMmRTcjRUQ3ZMRktSMklCaklwam1VZWt4MFBTazlKUkNXc2R2bjY0dElCZnV6dVZSRkVkSVBidnBZd2pWOUZZc19VQWJvVE85a2E1OWZmNm1zOThHYXVTbE9sYnkwSWE0TlBxTTRKY2ZvSFUiLAogICAgICAgICAicHJvdGVjdGVkIjogImV5Sm1iM0p0WVhSTVpXNW5kR2dpT2pFM05Dd2labTl5YldGMFZHRnBiQ0k2SW1aUklpd2lkR2x0WlNJNklqSXdNVGd0TURVdE1UWlVNREU2TURNNk1qTmFJbjAiCiAgICAgIH0KICAgXQp9"} \ No newline at end of file diff --git a/dockerfiles/k8s/Dockerfile b/dockerfiles/k8s/Dockerfile index 45d08d6..a5569a6 100644 --- a/dockerfiles/k8s/Dockerfile +++ b/dockerfiles/k8s/Dockerfile @@ -17,6 +17,8 @@ RUN curl -Lf -o /usr/bin/jq https://github.com/stedolan/jq/releases/download/jq- && chmod +x /usr/bin/jq /usr/bin/docker-compose +VOLUME ["/var/lib/kubelet"] + COPY ./kube* /etc/systemd/system/ COPY ./wrapkubeadm.sh /usr/local/bin/kubeadm COPY ./tokens.csv /etc/pki/tokens.csv diff --git a/dockerfiles/k8s/daemon.json b/dockerfiles/k8s/daemon.json index 2792f93..127fe9f 100644 --- a/dockerfiles/k8s/daemon.json +++ b/dockerfiles/k8s/daemon.json @@ -2,6 +2,7 @@ "experimental": true, "debug": true, "log-level": "info", + "storage-driver": "vfs", "insecure-registries": ["127.0.0.1"], "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] }