diff --git a/Kubernetes/KubernetesCluster/package/Resources/HAProxySetup.template b/Kubernetes/KubernetesCluster/package/Resources/HAProxySetup.template index 3151ea4..5a9b824 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/HAProxySetup.template +++ b/Kubernetes/KubernetesCluster/package/Resources/HAProxySetup.template @@ -30,6 +30,7 @@ Scripts: - init_conf/confd.conf - haproxy.tmpl - haproxy.toml + - systemd/confd.service Options: captureStdout: true diff --git a/Kubernetes/KubernetesCluster/package/Resources/KubeMasterSetup.template b/Kubernetes/KubernetesCluster/package/Resources/KubeMasterSetup.template index 41f71ec..af5965b 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/KubeMasterSetup.template +++ b/Kubernetes/KubernetesCluster/package/Resources/KubeMasterSetup.template @@ -36,6 +36,12 @@ Scripts: - default_scripts/kube-apiserver - default_scripts/kube-scheduler - default_scripts/kube-controller-manager + - environ/apiserver + - environ/kube-config + - systemd/kube-apiserver.service + - systemd/kube-scheduler.service + - systemd/kube-controller-manager.service + Options: captureStdout: true diff --git a/Kubernetes/KubernetesCluster/package/Resources/KubeMinionSetup.template b/Kubernetes/KubernetesCluster/package/Resources/KubeMinionSetup.template index ef831c8..0807b3e 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/KubeMinionSetup.template +++ b/Kubernetes/KubernetesCluster/package/Resources/KubeMinionSetup.template @@ -44,6 +44,10 @@ Scripts: - init_conf/kube-proxy.conf - initd_scripts/kubelet - initd_scripts/kube-proxy + - environ/kubelet + - environ/kube-config + - systemd/kube-proxy.service + - systemd/kubelet.service Options: captureStdout: true diff --git a/Kubernetes/KubernetesCluster/package/Resources/MasterEtcdSetup.template b/Kubernetes/KubernetesCluster/package/Resources/MasterEtcdSetup.template index b73c959..4aa7e46 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/MasterEtcdSetup.template +++ b/Kubernetes/KubernetesCluster/package/Resources/MasterEtcdSetup.template @@ -30,7 +30,8 @@ Scripts: - default_scripts/etcd-master - init_conf/etcd.conf - initd_scripts/etcd - + - environ/etcd + - systemd/etcd.service Options: captureStdout: true captureStderr: true diff --git a/Kubernetes/KubernetesCluster/package/Resources/MemberEtcdSetup.template b/Kubernetes/KubernetesCluster/package/Resources/MemberEtcdSetup.template index efbcb10..d488614 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/MemberEtcdSetup.template +++ b/Kubernetes/KubernetesCluster/package/Resources/MemberEtcdSetup.template @@ -30,7 +30,8 @@ Scripts: - default_scripts/etcd-member - init_conf/etcd.conf - initd_scripts/etcd - + - environ/etcd + - systemd/etcd.service Options: captureStdout: true diff --git a/Kubernetes/KubernetesCluster/package/Resources/SetupFlannelNode.template b/Kubernetes/KubernetesCluster/package/Resources/SetupFlannelNode.template index b449c5a..ebc67ae 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/SetupFlannelNode.template +++ b/Kubernetes/KubernetesCluster/package/Resources/SetupFlannelNode.template @@ -28,7 +28,8 @@ Scripts: - init_conf/flanneld.conf - initd_scripts/flanneld - default_scripts/flanneld - + - systemd/flanneld.service + - systemd/docker.service Options: captureStdout: true captureStderr: true diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/apiserver b/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/apiserver new file mode 100644 index 0000000..d081d3c --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/apiserver @@ -0,0 +1,26 @@ +### +# kubernetes system config +# +# The following values are used to configure the kube-apiserver +# + +# The address on the local server to listen to. +KUBE_API_ADDRESS="--address=0.0.0.0" + +# The port on the local server to listen on. +# KUBE_API_PORT="--port=8080" + +# Port minions listen on +# KUBELET_PORT="--kubelet-port=10250" + +# Comma separated list of nodes in the etcd cluster +KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:4001" + +# Address range to use for services +KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" + +# default admission control policies +KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota" + +# Add your own! +KUBE_API_ARGS="--portal_net=11.1.0.0/16" \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/etcd b/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/etcd new file mode 100644 index 0000000..34579c5 --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/etcd @@ -0,0 +1,12 @@ +### +# etcd system config +# + +NAME="-name %%NAME%%" +LISTEN_PEER_URLS="-listen-peer-urls http://%%IP%%:7001,http://127.0.0.1:7001" +LISTEN_CLIENT_URLS="-listen-client-urls http://%%IP%%:4001,http://127.0.0.1:4001" +INITIAL_ADV_PEER_URLS="-initial-advertise-peer-urls http://%%IP%%:7001" +INITIAL_CLUSTER_STATE="-initial-cluster-state %%STATE%%" +INITIAL_CLUSTER="-initial-cluster %%CLUSTER_CONFIG%%" +ADV_CLIENT_URLS="-advertise-client-urls http://%%IP%%:4001,http://127.0.0.1:4001" +ETCD_OPTS="-snapshot-count 1000" diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/kube-config b/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/kube-config new file mode 100644 index 0000000..00543cf --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/kube-config @@ -0,0 +1,22 @@ +### +# kubernetes system config +# +# The following values are used to configure various aspects of all +# kubernetes services, including +# +# kube-apiserver.service +# kube-controller-manager.service +# kube-scheduler.service +# kubelet.service +# kube-proxy.service +# logging to stderr means we get it in the systemd journal +KUBE_LOGTOSTDERR="--logtostderr=true" + +# journal message level, 0 is debug +KUBE_LOG_LEVEL="--v=0" + +# Should this cluster be allowed to run privileged docker containers +KUBE_ALLOW_PRIV="--allow-privileged=false" + +# How the controller-manager, scheduler, and proxy find the apiserver +KUBE_MASTER="--master=http://%%MASTER_IP%%:8080" \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/kubelet b/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/kubelet new file mode 100644 index 0000000..cbeb2b9 --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/environ/kubelet @@ -0,0 +1,17 @@ +### +# kubernetes kubelet (minion) config + +# The address for the info server to serve on (set to 0.0.0.0 or "" for all interfaces) +KUBELET_ADDRESS="--address=%%IP%%" + +# The port for the info server to serve on +# KUBELET_PORT="--port=10250" + +# You may leave this blank to use the actual hostname +KUBELET_HOSTNAME="--hostname-override=%%IP%%" + +# location of the api-server +KUBELET_API_SERVER="--api-servers=http://%%MASTER_IP%%:8080" + +# Add your own! +KUBELET_ARGS="" \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/haproxy-setup.sh b/Kubernetes/KubernetesCluster/package/Resources/scripts/haproxy-setup.sh index 4dc37d4..d1f2b4a 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/scripts/haproxy-setup.sh +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/haproxy-setup.sh @@ -9,10 +9,18 @@ cp -f haproxy.tmpl /etc/confd/templates/ cp -f default_scripts/haproxy /etc/default/ -sed -i.bkp "s/%%MASTER_NODE%%/$1/g" init_conf/confd.conf -cp -f init_conf/confd.conf /etc/init/ - -service confd start -service haproxy start +if [[ $(which systemctl) ]]; then + sed -i.bak "s/%%MASTER_NODE%%/$1/g" systemd/confd.service + cp -f systemd/confd.service /etc/systemd/system/ + systemctl enable confd + systemctl start confd + systemctl enable haproxy + systemctl start haproxy +else + sed -i.bak "s/%%MASTER_NODE%%/$1/g" init_conf/confd.conf + cp -f init_conf/confd.conf /etc/init/ + service confd start + service haproxy start +fi sleep 1 \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/haproxy.toml b/Kubernetes/KubernetesCluster/package/Resources/scripts/haproxy.toml index 510a69e..944bf4a 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/scripts/haproxy.toml +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/haproxy.toml @@ -4,4 +4,4 @@ dest = "/etc/haproxy/haproxy.cfg" keys = [ "/registry/services" ] -reload_cmd = "/usr/sbin/service haproxy reload" +reload_cmd = "/usr/sbin/service haproxy restart" diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/master-etcd-setup.sh b/Kubernetes/KubernetesCluster/package/Resources/scripts/master-etcd-setup.sh index fb0b784..d19c637 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/scripts/master-etcd-setup.sh +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/master-etcd-setup.sh @@ -3,16 +3,38 @@ # $1 - NAME # $2 - IP # -service etcd stop -mkdir /var/lib/etcd -sed -i.bkp "s/%%NAME%%/$1/g" default_scripts/etcd-master -sed -i.bkp "s/%%IP%%/$2/g" default_scripts/etcd-master +if [[ $(which systemctl) ]]; then + systemctl stop etcd + mkdir -p /var/lib/etcd -cp -f default_scripts/etcd-master /etc/default/etcd -cp init_conf/etcd.conf /etc/init/ + sed -i.bak "s/%%NAME%%/$1/g" environ/etcd + sed -i.bak "s/%%IP%%/$2/g" environ/etcd + sed -i.bak "s/%%STATE%%/new/g" environ/etcd + sed -i.bak "s/%%CLUSTER_CONFIG%%/$1=http:\/\/$2:7001/g" environ/etcd -chmod +x initd_scripts/* -cp initd_scripts/etcd /etc/init.d/ -service etcd start -sleep 10 \ No newline at end of file + echo 'INITIAL_CLUSTER_TOKEN="--initial-cluster-token new-token"' >> environ/etcd + + cp -f environ/etcd /etc/default/ + cp -f systemd/etcd.service /etc/systemd/system/ + + systemctl daemon-reload + systemctl enable etcd + systemctl start etcd + +else + service etcd stop + mkdir /var/lib/etcd + + sed -i.bak "s/%%NAME%%/$1/g" default_scripts/etcd-master + sed -i.bak "s/%%IP%%/$2/g" default_scripts/etcd-master + + cp -f default_scripts/etcd-master /etc/default/etcd + cp init_conf/etcd.conf /etc/init/ + + chmod +x initd_scripts/* + cp initd_scripts/etcd /etc/init.d/ + service etcd start +fi + +sleep 5 \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/master-kube-setup.sh b/Kubernetes/KubernetesCluster/package/Resources/scripts/master-kube-setup.sh index e194756..74e3596 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/scripts/master-kube-setup.sh +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/master-kube-setup.sh @@ -3,38 +3,62 @@ # $1 - NAME # $2 - IP -service kube-proxy stop -service kube-scheduler stop -service kube-controller-manager stop -service kubelet stop -service kube-apiserver stop - -#Disable controller-manager for now -#chmod -x /etc/init.d/kube-controller-manager - #Create log folder for Kubernetes services -mkdir /var/log/kubernetes mkdir -p /var/run/murano-kubernetes -sed -i.bkp "s/%%MASTER_IP%%/$2/g" default_scripts/kube-scheduler +if [[ $(which systemctl) ]]; then + systemctl stop kube* + sed -i.bak "s/%%MASTER_IP%%/$2/g" environ/kube-config -cp -f default_scripts/kube-apiserver /etc/default/ -cp -f default_scripts/kube-scheduler /etc/default/ -cp -f default_scripts/kube-controller-manager /etc/default/ + mkdir -p /etc/kubernetes/ -cp init_conf/kube-apiserver.conf /etc/init/ -cp init_conf/kube-controller-manager.conf /etc/init/ -cp init_conf/kube-scheduler.conf /etc/init/ + cp -f environ/apiserver /etc/kubernetes/apiserver + cp -f environ/kube-config /etc/kubernetes/config -chmod +x initd_scripts/* -cp initd_scripts/kube-apiserver /etc/init.d/ -cp initd_scripts/kube-controller-manager /etc/init.d/ -cp initd_scripts/kube-scheduler /etc/init.d/ + cp -f systemd/kube-apiserver.service /etc/systemd/system/ + cp -f systemd/kube-scheduler.service /etc/systemd/system/ + cp -f systemd/kube-controller-manager.service /etc/systemd/system/ -service kube-apiserver start -service kube-scheduler start -service kube-controller-manager start + systemctl daemon-reload + systemctl enable kube-apiserver + systemctl enable kube-scheduler + systemctl enable kube-controller-manager + + systemctl start kube-apiserver + systemctl start kube-scheduler + systemctl start kube-controller-manager + +else + service kube-proxy stop + service kube-scheduler stop + service kube-controller-manager stop + service kubelet stop + service kube-apiserver stop + + #Disable controller-manager for now + #chmod -x /etc/init.d/kube-controller-manager + + sed -i.bak "s/%%MASTER_IP%%/$2/g" default_scripts/kube-scheduler + + cp -f default_scripts/kube-apiserver /etc/default/ + cp -f default_scripts/kube-scheduler /etc/default/ + cp -f default_scripts/kube-controller-manager /etc/default/ + + cp init_conf/kube-apiserver.conf /etc/init/ + cp init_conf/kube-controller-manager.conf /etc/init/ + cp init_conf/kube-scheduler.conf /etc/init/ + + chmod +x initd_scripts/* + cp initd_scripts/kube-apiserver /etc/init.d/ + cp initd_scripts/kube-controller-manager /etc/init.d/ + cp initd_scripts/kube-scheduler /etc/init.d/ + + service kube-apiserver start + service kube-scheduler start + service kube-controller-manager start +fi + +mkdir /var/log/kubernetes /opt/bin/kubectl delete node 127.0.0.1 - sleep 1 \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/member-etcd-setup.sh b/Kubernetes/KubernetesCluster/package/Resources/scripts/member-etcd-setup.sh index 6c22b91..d0e5d8a 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/scripts/member-etcd-setup.sh +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/member-etcd-setup.sh @@ -6,13 +6,13 @@ mkdir /var/lib/etcd -if [[ $(systemctl) ]]; then +if [[ $(which systemctl) ]]; then systemctl stop etcd - sed -i.bkp "s/%%NAME%%/$1/g" environ/etcd - sed -i.bkp "s/%%IP%%/$2/g" environ/etcd - sed -i.bkp "s/%%STATE%%/existing/g" environ/etcd - sed -i.bkp "s#%%CLUSTER_CONFIG%%#$3#g" environ/etcd + sed -i.bak "s/%%NAME%%/$1/g" environ/etcd + sed -i.bak "s/%%IP%%/$2/g" environ/etcd + sed -i.bak "s/%%STATE%%/existing/g" environ/etcd + sed -i.bak "s#%%CLUSTER_CONFIG%%#$3#g" environ/etcd cp -f environ/etcd /etc/default/ cp -f systemd/etcd.service /etc/systemd/system/ @@ -24,9 +24,9 @@ if [[ $(systemctl) ]]; then else service etcd stop - sed -i.bkp "s/%%NAME%%/$1/g" default_scripts/etcd-member - sed -i.bkp "s/%%IP%%/$2/g" default_scripts/etcd-member - sed -i.bkp "s#%%CLUSTER_CONFIG%%#$3#g" default_scripts/etcd-member + sed -i.bak "s/%%NAME%%/$1/g" default_scripts/etcd-member + sed -i.bak "s/%%IP%%/$2/g" default_scripts/etcd-member + sed -i.bak "s#%%CLUSTER_CONFIG%%#$3#g" default_scripts/etcd-member cp -f default_scripts/etcd-member /etc/default/etcd cp init_conf/etcd.conf /etc/init/ diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/minion-kube-setup.sh b/Kubernetes/KubernetesCluster/package/Resources/scripts/minion-kube-setup.sh index 1617961..0851121 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/scripts/minion-kube-setup.sh +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/minion-kube-setup.sh @@ -4,24 +4,49 @@ # $2 - IP # $3 - MASTER_IP -mkdir /var/log/kubernetes mkdir -p /var/run/murano-kubernetes -sed -i.bkp "s/%%MASTER_IP%%/$3/g" default_scripts/kube-proxy -sed -i.bkp "s/%%MASTER_IP%%/$3/g" default_scripts/kubelet -sed -i.bkp "s/%%IP%%/$2/g" default_scripts/kubelet +if [[ $(which systemctl) ]]; then -cp init_conf/kubelet.conf /etc/init/ -cp init_conf/kube-proxy.conf /etc/init/ + sed -i.bak "s/%%MASTER_IP%%/$3/g" environ/kube-config + sed -i.bak "s/%%MASTER_IP%%/$3/g" environ/kubelet + sed -i.bak "s/%%IP%%/$2/g" environ/kubelet -chmod +x initd_scripts/* -cp initd_scripts/kubelet /etc/init.d/ -cp initd_scripts/kube-proxy /etc/init.d/ + mkdir -p /etc/kubernetes/ -cp -f default_scripts/kube-proxy /etc/default -cp -f default_scripts/kubelet /etc/default/ + cp -f environ/kubelet /etc/kubernetes/ + cp -f environ/kube-config /etc/kubernetes/config -service kubelet start -service kube-proxy start + cp -f systemd/kube-proxy.service /etc/systemd/system/ + cp -f systemd/kubelet.service /etc/systemd/system/ + + systemctl daemon-reload + + systemctl enable kubelet + systemctl enable kube-proxy + + systemctl start kubelet + systemctl start kube-proxy + +else + mkdir /var/log/kubernetes + + sed -i.bak "s/%%MASTER_IP%%/$3/g" default_scripts/kube-proxy + sed -i.bak "s/%%MASTER_IP%%/$3/g" default_scripts/kubelet + sed -i.bak "s/%%IP%%/$2/g" default_scripts/kubelet + + cp init_conf/kubelet.conf /etc/init/ + cp init_conf/kube-proxy.conf /etc/init/ + + chmod +x initd_scripts/* + cp initd_scripts/kubelet /etc/init.d/ + cp initd_scripts/kube-proxy /etc/init.d/ + + cp -f default_scripts/kube-proxy /etc/default + cp -f default_scripts/kubelet /etc/default/ + + service kubelet start + service kube-proxy start +fi sleep 1 \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/setupFlannelMaster.sh b/Kubernetes/KubernetesCluster/package/Resources/scripts/setupFlannelMaster.sh index 7591f0e..fefd6ba 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/scripts/setupFlannelMaster.sh +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/setupFlannelMaster.sh @@ -1,5 +1,5 @@ #!/bin/bash -count=10 +count=30 echo "Adding flannel configuration to etcd" diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/setupFlannelNode.sh b/Kubernetes/KubernetesCluster/package/Resources/scripts/setupFlannelNode.sh index 5df9170..5113984 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/scripts/setupFlannelNode.sh +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/setupFlannelNode.sh @@ -1,12 +1,21 @@ #!/bin/bash -cp init_conf/flanneld.conf /etc/init/ -chmod +x initd_scripts/flanneld -cp initd_scripts/flanneld /etc/init.d/ -cp default_scripts/flanneld /etc/default/ +if [[ $(which systemctl) ]]; then + cp -f systemd/docker.service /lib/systemd/system/ + cp -f systemd/flanneld.service /etc/systemd/system/ + systemctl daemon-reload + systemctl enable flanneld + systemctl start flanneld -service flanneld start +else + cp init_conf/flanneld.conf /etc/init/ + chmod +x initd_scripts/flanneld + cp initd_scripts/flanneld /etc/init.d/ + cp default_scripts/flanneld /etc/default/ + + service flanneld start +fi source /run/flannel/subnet.env 2> /dev/null while [ -z "$FLANNEL_SUBNET" ] diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/confd.service b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/confd.service new file mode 100644 index 0000000..b7b25cf --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/confd.service @@ -0,0 +1,13 @@ +[Unit] +Description=Configuration Service +Requires=etcd.service + +[Service] +Restart=always +ExecStart=/usr/local/bin/confd \ + -backend etcd \ + -node %%MASTER_NODE%%:4001 \ + -interval 15 + +[Install] +WantedBy=basic.target diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/docker.service b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/docker.service new file mode 100644 index 0000000..b6c4560 --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/docker.service @@ -0,0 +1,19 @@ +[Unit] +Description=Docker Application Container Engine +Documentation=https://docs.docker.com +After=network.target docker.socket +Requires=docker.socket + +[Service] +Type=notify +EnvironmentFile=-/etc/default/docker +ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS +MountFlags=slave +LimitNOFILE=1048576 +LimitNPROC=1048576 +LimitCORE=infinity +TimeoutStartSec=0 +Delegate=yes + +[Install] +WantedBy=multi-user.target diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/etcd.service b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/etcd.service new file mode 100644 index 0000000..7f168c7 --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/etcd.service @@ -0,0 +1,25 @@ +[Unit] +Description=etcd key-value store +Documentation=https://github.com/coreos/etcd + +[Service] +Type=notify +Environment=ETCD_DATA_DIR=/var/lib/etcd +EnvironmentFile=-/etc/default/etcd +ExecStart=/opt/bin/etcd \ + $NAME \ + $LISTEN_PEER_URLS \ + $LISTEN_CLIENT_URLS \ + $INITIAL_ADV_PEER_URLS \ + $INITIAL_CLUSTER_STATE \ + $INITIAL_CLUSTER \ + $ADV_CLIENT_URLS \ + $INITIAL_CLUSTER_TOKEN \ + $ETCD_OPTS +Restart=always +RestartSec=10s +LimitNOFILE=40000 +StandardOutput=null + +[Install] +WantedBy=multi-user.target diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/flanneld.service b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/flanneld.service new file mode 100644 index 0000000..92142ea --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/flanneld.service @@ -0,0 +1,16 @@ +[Unit] +Description=Flanneld overlay address etcd agent +After=network.target +After=network-online.target +Wants=network-online.target +After=etcd.service +Before=docker.service + +[Service] +Type=notify +ExecStart=/opt/bin/flanneld +Restart=on-failure + +[Install] +WantedBy=multi-user.target +RequiredBy=docker.service \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-apiserver.service b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-apiserver.service new file mode 100644 index 0000000..2ea0019 --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-apiserver.service @@ -0,0 +1,26 @@ +[Unit] +Description=Kubernetes API Server +Documentation=https://github.com/GoogleCloudPlatform/kubernetes +After=network.target +After=etcd.service + +[Service] +EnvironmentFile=-/etc/kubernetes/config +EnvironmentFile=-/etc/kubernetes/apiserver +ExecStart=/opt/bin/kube-apiserver \ + $KUBE_LOGTOSTDERR \ + $KUBE_LOG_LEVEL \ + $KUBE_ETCD_SERVERS \ + $KUBE_API_ADDRESS \ + $KUBE_API_PORT \ + $KUBELET_PORT \ + $KUBE_ALLOW_PRIV \ + $KUBE_SERVICE_ADDRESSES \ + $KUBE_ADMISSION_CONTROL \ + $KUBE_API_ARGS +Restart=on-failure +Type=notify +LimitNOFILE=65536 + +[Install] +WantedBy=multi-user.target diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-controller-manager.service b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-controller-manager.service new file mode 100644 index 0000000..f958c12 --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-controller-manager.service @@ -0,0 +1,16 @@ +[Unit] +Description=Kubernetes Controller Manager +Documentation=https://github.com/GoogleCloudPlatform/kubernetes + +[Service] +EnvironmentFile=-/etc/kubernetes/config +ExecStart=/opt/bin/kube-controller-manager \ + $KUBE_LOGTOSTDERR \ + $KUBE_LOG_LEVEL \ + $KUBE_MASTER \ + $KUBE_CONTROLLER_MANAGER_ARGS +Restart=on-failure +LimitNOFILE=65536 + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-proxy.service b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-proxy.service new file mode 100644 index 0000000..8da29f5 --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-proxy.service @@ -0,0 +1,18 @@ +[Unit] +Description=Kubernetes Kube-Proxy Server +Documentation=https://github.com/GoogleCloudPlatform/kubernetes +After=network.target + +[Service] +EnvironmentFile=-/etc/kubernetes/config +EnvironmentFile=-/etc/kubernetes/proxy +ExecStart=/opt/bin/kube-proxy \ + $KUBE_LOGTOSTDERR \ + $KUBE_LOG_LEVEL \ + $KUBE_MASTER \ + $KUBE_PROXY_ARGS +Restart=on-failure +LimitNOFILE=65536 + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-scheduler.service b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-scheduler.service new file mode 100644 index 0000000..c8f2738 --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kube-scheduler.service @@ -0,0 +1,16 @@ +[Unit] +Description=Kubernetes Scheduler Plugin +Documentation=https://github.com/GoogleCloudPlatform/kubernetes + +[Service] +EnvironmentFile=-/etc/kubernetes/config +ExecStart=/opt/bin/kube-scheduler \ + $KUBE_LOGTOSTDERR \ + $KUBE_LOG_LEVEL \ + $KUBE_MASTER \ + $KUBE_SCHEDULER_ARGS +Restart=on-failure +LimitNOFILE=65536 + +[Install] +WantedBy=multi-user.target diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kubelet.service b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kubelet.service new file mode 100644 index 0000000..0d09249 --- /dev/null +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/systemd/kubelet.service @@ -0,0 +1,23 @@ +[Unit] +Description=Kubernetes Kubelet Server +Documentation=https://github.com/GoogleCloudPlatform/kubernetes +After=docker.service +Requires=docker.service + +[Service] +EnvironmentFile=-/etc/kubernetes/config +EnvironmentFile=-/etc/kubernetes/kubelet +ExecStart=/opt/bin/kubelet \ + $KUBE_LOGTOSTDERR \ + $KUBE_LOG_LEVEL \ + $KUBELET_API_SERVER \ + $KUBELET_ADDRESS \ + $KUBELET_PORT \ + $KUBELET_HOSTNAME \ + $KUBE_ALLOW_PRIV \ + $KUBELET_ARGS +Restart=on-failure +KillMode=process + +[Install] +WantedBy=multi-user.target