diff --git a/src/Kube-Solo/Kube-Solo-Info.plist b/src/Kube-Solo/Kube-Solo-Info.plist index 7fc51a1..13cd72e 100644 --- a/src/Kube-Solo/Kube-Solo-Info.plist +++ b/src/Kube-Solo/Kube-Solo-Info.plist @@ -19,11 +19,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.9.7 + 0.9.8 CFBundleSignature ???? CFBundleVersion - 305 + 309 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion diff --git a/src/cloud-init/user-data b/src/cloud-init/user-data index d295641..4b8d98b 100644 --- a/src/cloud-init/user-data +++ b/src/cloud-init/user-data @@ -68,7 +68,7 @@ coreos: ExecStart=/bin/sh -c '[[ -d /data/var/lib/rkt ]] || mkdir -p /data/var/lib/rkt && /usr/bin/chown root:rkt /data/var/lib/rkt && /usr/bin/chmod g+s /data/var/lib/rkt' ExecStart=/bin/sh -c '/usr/bin/chown root:rkt /data/var/lib/rkt && /usr/bin/chmod g+s /data/var/lib/rkt' ExecStart=/bin/sh -c '[[ -d /data/opt/bin ]] || mkdir -p /data/opt/bin' - ExecStart=/bin/sh -c '[[ -d /data/kubernetes/manifests ]] || mkdir -p /data/kubernetes/manifests' + ExecStart=/bin/sh -c '[[ -d /data/kubernetes/manifests ]] || mkdir -p /data/kubernetes/manifests && chmod 777 -R /data/kubernetes' ExecStart=/bin/sh -c '[[ -d /data/kubelet ]] || mkdir -p /data/kubelet' ExecStart=/bin/sh -c 'sudo ln -s /data/kubelet /var/lib/kubelet' ExecStart=/bin/sh -c 'sudo mkdir -p /opt/bin/ && sudo ln -s /data/opt/bin/socat /opt/bin/socat' @@ -126,18 +126,38 @@ coreos: Environment=DOCKER_OPTS='--insecure-registry="0.0.0.0/0"' - name: update-engine.service command: stop + - name: kube-certs.service + command: start + content: | + [Unit] + Description=Generate Kubernetes API Server certificates + ConditionPathExists=/opt/sbin/make-certs.sh + Requires=network-online.target persistent-data-checks.service etcd2.service + After=network-online.target persistent-data-checks.service etcd2.service + # ConditionPathExists=!/data/kubernetes/ca.crt + [Service] + EnvironmentFile=/etc/environment + ExecStartPre=-/usr/sbin/groupadd -r kube-cert + ExecStartPre=/usr/bin/chmod 755 /opt/sbin/make-certs.sh + ExecStart=/opt/sbin/make-certs.sh ${COREOS_PUBLIC_IPV4} IP:${COREOS_PUBLIC_IPV4},IP:10.100.0.1,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local + ExecStartPost=/bin/bash -c 'sleep 20' + Type=oneshot + RemainAfterExit=true - name: kube-apiserver.service command: start content: | [Unit] Description=Kubernetes API Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes - Requires=etcd2.service docker.service flanneld.service persistent-data-checks.service - After=etcd2.service docker.service flanneld.service persistent-data-checks.service + ConditionPathExists=/data/opt/bin/kube-apiserver + Requires=etcd2.service docker.service flanneld.service kube-certs.service + After=etcd2.service docker.service flanneld.service kube-certs.service [Service] LimitNOFILE=491521 # Check for certs - ExecStartPre=/bin/sh -c '[[ -f /data/kubernetes/ca.crt ]] || /opt/sbin/kube-certs.sh' + ExecStartPre=/bin/sh -c 'while [ ! -f /data/kubernetes/ca.crt ]; do sleep 1; done' + ExecStartPre=/bin/sh -c 'while [ ! -f /data/kubernetes/server.cert ]; do sleep 1; done' + ExecStartPre=/bin/sh -c 'while [ ! -f /data/kubernetes/server.key ]; do sleep 1; done' # Check for binary ExecStartPre=/bin/sh -c 'while [ ! -f /data/opt/bin/kube-apiserver ]; do sleep 1; done' # Start API server @@ -158,7 +178,7 @@ coreos: --bind-address=0.0.0.0 \ --logtostderr=true Restart=always - RestartSec=10 + RestartSec=5 - name: kube-controller-manager.service command: start content: | @@ -266,9 +286,9 @@ write-files: # Copyright 2014 The Kubernetes Authors All rights reserved. # - set -o errexit - set -o nounset - set -o pipefail + #set -o errexit + #set -o nounset + #set -o pipefail cert_ip=$1 extra_sans=${2:-} @@ -286,7 +306,7 @@ write-files: tmpdir=$(mktemp -d --tmpdir kubernetes_cacert.XXXXXX) cd $tmpdir - + trap 'rm -rf "${tmpdir}"' EXIT # if [ ! -f /data/opt/tmp/easy-rsa.tar.gz ] @@ -313,17 +333,10 @@ write-files: cp -p pki/ca.crt "${cert_dir}/ca.crt" cp -p pki/issued/kubecfg.crt "${cert_dir}/kubecfg.crt" cp -p pki/private/kubecfg.key "${cert_dir}/kubecfg.key" + # Make server certs accessible to apiserver. - echo 3 chgrp $cert_group "${cert_dir}/server.key" "${cert_dir}/server.cert" "${cert_dir}/ca.crt" chmod 660 "${cert_dir}/server.key" "${cert_dir}/server.cert" "${cert_dir}/ca.crt" - echo 4 - - path: /opt/sbin/kube-certs.sh - permissions: '0755' - content: | - #!/bin/bash - source /etc/environment - /opt/sbin/make-certs.sh ${COREOS_PUBLIC_IPV4} IP:${COREOS_PUBLIC_IPV4},IP:10.100.0.1,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local - path: /opt/sbin/restart-kube-units.sh permissions: '0755' content: | diff --git a/src/destroy.command b/src/destroy.command index db32c23..7d6434a 100755 --- a/src/destroy.command +++ b/src/destroy.command @@ -14,7 +14,9 @@ LOOP=1 while [ $LOOP -gt 0 ] do VALID_MAIN=0 + echo " " echo "VM will be stopped (if is running) and destroyed !!!" + echo " " echo "Do you want to continue [y/n]" read RESPONSE diff --git a/src/first-init.command b/src/first-init.command index 190f55d..2cd66d8 100755 --- a/src/first-init.command +++ b/src/first-init.command @@ -103,7 +103,7 @@ echo " " # install_k8s_add_ons -# download latest version of deis, helmc and helm clients +# download latest version of docker, deis, helmc and helm clients # install Helm Tiller download_osx_clients @@ -113,13 +113,14 @@ export DOCKER_TLS_VERIFY= export DOCKER_CERT_PATH= # +echo "--------- " echo " " echo "Installation has finished, Kube Solo VM is up and running !!!" echo " " echo "Assigned static IP to VM/node: $vm_ip" echo " " echo "You can control this App via status bar icon... " -echo "--------" +echo "---------" # remove unfinished_setup file if there is such one rm -f ~/kube-solo/logs/unfinished_setup > /dev/null 2>&1 diff --git a/src/functions.sh b/src/functions.sh index 819c425..040bc02 100755 --- a/src/functions.sh +++ b/src/functions.sh @@ -536,6 +536,7 @@ rm -f ~/kube-solo/kubernetes/skydns-rc.yaml rm -f ~/kube-solo/kubernetes/skydns-svc.yaml rm -f ~/kube-solo/kubernetes/dashboard-controller.yaml rm -f ~/kube-solo/kubernetes/dashboard-service.yaml +rm -f ~/kube-solo/kubernetes/tiller-deploy-service.yaml } diff --git a/src/k8s/kube.tgz b/src/k8s/kube.tgz index d76c81e..5a03828 100644 --- a/src/k8s/kube.tgz +++ b/src/k8s/kube.tgz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e13156d07461db7f2e8abcec4a20d883a63279f923e5188145b1c7cf2e19678 -size 106152669 +oid sha256:56941c832afa58f925fbff7d5e5b13f2936252ac3a5e04540b2358689a186109 +size 106158462 diff --git a/src/k8s/kubectl b/src/k8s/kubectl index b8c92b1..ac5ed1c 100755 --- a/src/k8s/kubectl +++ b/src/k8s/kubectl @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c5cc92f618ebce019b00792621facfa7c1b4fce9f9e7d2c7ac4bc5f0af9e4c9 +oid sha256:5940c5d32e33a1c0b42998083064112f6ea7f02d9dc5e2b4f51c01f583a6be4d size 66382384