mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	ubuntu getting started guide
This commit is contained in:
		@@ -18,3 +18,4 @@ least one maintainer on relevant issues and PRs.
 | 
				
			|||||||
* Local: [Derek Carr](https://github.com/derekwaynecarr)
 | 
					* Local: [Derek Carr](https://github.com/derekwaynecarr)
 | 
				
			||||||
* Vagrant: [Derek Carr](https://github.com/derekwaynecarr)
 | 
					* Vagrant: [Derek Carr](https://github.com/derekwaynecarr)
 | 
				
			||||||
* CloudStack: [Sebastien Goasguen](https://github.com/runseb)
 | 
					* CloudStack: [Sebastien Goasguen](https://github.com/runseb)
 | 
				
			||||||
 | 
					* Ubuntu: [Vipin Jain](https://github.com/jainvipin)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										9
									
								
								cluster/ubuntu/default_scripts/etcd
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								cluster/ubuntu/default_scripts/etcd
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					# Etcd Upstart and SysVinit configuration file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Customize etcd location 
 | 
				
			||||||
 | 
					# ETCD="/opt/bin/etcd"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use ETCD_OPTS to modify the start/restart options
 | 
				
			||||||
 | 
					ETCD_OPTS="-listen-client-urls=http://127.0.0.1:4001"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add more envionrment settings used by etcd here
 | 
				
			||||||
							
								
								
									
										13
									
								
								cluster/ubuntu/default_scripts/kube-apiserver
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								cluster/ubuntu/default_scripts/kube-apiserver
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					# Kube-Apiserver Upstart and SysVinit configuration file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Customize kube-apiserver binary location 
 | 
				
			||||||
 | 
					# KUBE_APISERVER="/opt/bin/kube-apiserver"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use KUBE_APISERVER_OPTS to modify the start/restart options
 | 
				
			||||||
 | 
					KUBE_APISERVER_OPTS="--address=127.0.0.1 \
 | 
				
			||||||
 | 
					--port=8080 \
 | 
				
			||||||
 | 
					--etcd_servers=http://127.0.0.1:4001 \
 | 
				
			||||||
 | 
					--logtostderr=true \
 | 
				
			||||||
 | 
					--portal_net=11.1.1.0/24"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add more envionrment settings used by kube-apiserver here
 | 
				
			||||||
							
								
								
									
										11
									
								
								cluster/ubuntu/default_scripts/kube-controller-manager
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								cluster/ubuntu/default_scripts/kube-controller-manager
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					# Kube-Controller-Manager Upstart and SysVinit configuration file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Customize kube-controller-manager binary location 
 | 
				
			||||||
 | 
					# KUBE_CONTROLLER_MANAGER="/opt/bin/kube-controller-manager"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use KUBE_CONTROLLER_MANAGER_OPTS to modify the start/restart options
 | 
				
			||||||
 | 
					KUBE_CONTROLLER_MANAGER_OPTS="--master=127.0.0.1:8080 \
 | 
				
			||||||
 | 
					--machines=127.0.0.1 \
 | 
				
			||||||
 | 
					--logtostderr=true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add more envionrment settings used by kube-controller-manager here
 | 
				
			||||||
							
								
								
									
										10
									
								
								cluster/ubuntu/default_scripts/kube-proxy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								cluster/ubuntu/default_scripts/kube-proxy
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					# Kube-Proxy Upstart and SysVinit configuration file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Customize kube-proxy binary location 
 | 
				
			||||||
 | 
					# KUBE_PROXY="/opt/bin/kube-proxy"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use KUBE_PROXY_OPTS to modify the start/restart options
 | 
				
			||||||
 | 
					KUBE_PROXY_OPTS="--etcd_servers=http://127.0.0.1:4001 \
 | 
				
			||||||
 | 
					--logtostderr=true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add more envionrment settings used by kube-apiserver here
 | 
				
			||||||
							
								
								
									
										10
									
								
								cluster/ubuntu/default_scripts/kube-scheduler
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								cluster/ubuntu/default_scripts/kube-scheduler
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					# Kube-Scheduler Upstart and SysVinit configuration file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Customize kube-apiserver binary location 
 | 
				
			||||||
 | 
					# KUBE_SCHEDULER="/opt/bin/kube-apiserver"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use KUBE_SCHEDULER_OPTS to modify the start/restart options
 | 
				
			||||||
 | 
					KUBE_SCHEDULER_OPTS="--logtostderr=true \
 | 
				
			||||||
 | 
					--master=127.0.0.1:8080"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add more envionrment settings used by kube-scheduler here
 | 
				
			||||||
							
								
								
									
										13
									
								
								cluster/ubuntu/default_scripts/kubelet
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								cluster/ubuntu/default_scripts/kubelet
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					# Kubelet Upstart and SysVinit configuration file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Customize kubelet binary location 
 | 
				
			||||||
 | 
					# KUBELET="/opt/bin/kubelet"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use KUBELET_OPTS to modify the start/restart options
 | 
				
			||||||
 | 
					KUBELET_OPTS="--address=127.0.0.1 \
 | 
				
			||||||
 | 
					--port=10250 \
 | 
				
			||||||
 | 
					--hostname_override=127.0.0.1 \
 | 
				
			||||||
 | 
					--etcd_servers=http://127.0.0.1:4001 \
 | 
				
			||||||
 | 
					--logtostderr=true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add more envionrment settings used by kube-scheduler here
 | 
				
			||||||
							
								
								
									
										31
									
								
								cluster/ubuntu/init_conf/etcd.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								cluster/ubuntu/init_conf/etcd.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					description "Etcd service"
 | 
				
			||||||
 | 
					author "@jainvipin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# start after docker starts, stop before docker stops
 | 
				
			||||||
 | 
					start on started docker
 | 
				
			||||||
 | 
					stop on stopping docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					respawn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pre-start script
 | 
				
			||||||
 | 
						# see also https://github.com/jainvipin/kubernetes-ubuntu-start
 | 
				
			||||||
 | 
						ETCD=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						if [ -f $ETCD ]; then
 | 
				
			||||||
 | 
							exit 0
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					    echo "$ETCD binary not found, exiting"
 | 
				
			||||||
 | 
					    exit 22
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					script
 | 
				
			||||||
 | 
						# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
 | 
				
			||||||
 | 
						ETCD=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						ETCD_OPTS=""
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						exec "$ETCD" $ETCD_OPTS
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
							
								
								
									
										30
									
								
								cluster/ubuntu/init_conf/kube-apiserver.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								cluster/ubuntu/init_conf/kube-apiserver.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					description "Kube-Apiserver service"
 | 
				
			||||||
 | 
					author "@jainvipin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# start in conjunction with etcd
 | 
				
			||||||
 | 
					start on started etcd
 | 
				
			||||||
 | 
					stop on stopping etcd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# respawn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pre-start script
 | 
				
			||||||
 | 
						# see also https://github.com/jainvipin/kubernetes-start
 | 
				
			||||||
 | 
						KUBE_APISERVER=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						if [ -f $KUBE_APISERVER ]; then
 | 
				
			||||||
 | 
							exit 0
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					    exit 22
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					script
 | 
				
			||||||
 | 
						# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
 | 
				
			||||||
 | 
						KUBE_APISERVER=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						KUBE_APISERVER_OPTS=""
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						exec "$KUBE_APISERVER" $KUBE_APISERVER_OPTS
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
							
								
								
									
										30
									
								
								cluster/ubuntu/init_conf/kube-controller-manager.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								cluster/ubuntu/init_conf/kube-controller-manager.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					description "Kube-Controller-Manager service"
 | 
				
			||||||
 | 
					author "@jainvipin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# start in conjunction with etcd
 | 
				
			||||||
 | 
					start on started etcd
 | 
				
			||||||
 | 
					stop on stopping etcd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# respawn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pre-start script
 | 
				
			||||||
 | 
						# see also https://github.com/jainvipin/kubernetes-ubuntu-start
 | 
				
			||||||
 | 
						KUBE_CONTROLLER_MANAGER=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						if [ -f $KUBE_CONTROLLER_MANAGER ]; then
 | 
				
			||||||
 | 
							exit 0
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					    exit 22
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					script
 | 
				
			||||||
 | 
						# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
 | 
				
			||||||
 | 
						KUBE_CONTROLLER_MANAGER=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						KUBE_CONTROLLER_MANAGER_OPTS=""
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						exec "$KUBE_CONTROLLER_MANAGER" $KUBE_CONTROLLER_MANAGER_OPTS
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
							
								
								
									
										30
									
								
								cluster/ubuntu/init_conf/kube-proxy.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								cluster/ubuntu/init_conf/kube-proxy.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					description "Kube-Proxy service"
 | 
				
			||||||
 | 
					author "@jainvipin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# start in conjunction with etcd
 | 
				
			||||||
 | 
					start on started etcd
 | 
				
			||||||
 | 
					stop on stopping etcd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# respawn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pre-start script
 | 
				
			||||||
 | 
						# see also https://github.com/jainvipin/kubernetes-start
 | 
				
			||||||
 | 
						KUBE_PROXY=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						if [ -f $KUBE_PROXY ]; then
 | 
				
			||||||
 | 
							exit 0
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					    exit 22
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					script
 | 
				
			||||||
 | 
						# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
 | 
				
			||||||
 | 
						KUBE_PROXY=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						KUBE_PROXY_OPTS=""
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						exec "$KUBE_PROXY" $KUBE_PROXY_OPTS
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
							
								
								
									
										30
									
								
								cluster/ubuntu/init_conf/kube-scheduler.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								cluster/ubuntu/init_conf/kube-scheduler.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					description "Kube-Scheduler service"
 | 
				
			||||||
 | 
					author "@jainvipin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# start in conjunction with etcd
 | 
				
			||||||
 | 
					start on started etcd
 | 
				
			||||||
 | 
					stop on stopping etcd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# respawn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pre-start script
 | 
				
			||||||
 | 
						# see also https://github.com/jainvipin/kubernetes-start
 | 
				
			||||||
 | 
						KUBE_SCHEDULER=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						if [ -f $KUBE_SCHEDULER ]; then
 | 
				
			||||||
 | 
							exit 0
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					    exit 22
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					script
 | 
				
			||||||
 | 
						# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
 | 
				
			||||||
 | 
						KUBE_SCHEDULER=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						KUBE_SCHEDULER_OPTS=""
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						exec "$KUBE_SCHEDULER" $KUBE_SCHEDULER_OPTS
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
							
								
								
									
										30
									
								
								cluster/ubuntu/init_conf/kubelet.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								cluster/ubuntu/init_conf/kubelet.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					description "Kubelet service"
 | 
				
			||||||
 | 
					author "@jainvipin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# start in conjunction with etcd
 | 
				
			||||||
 | 
					start on started etcd
 | 
				
			||||||
 | 
					stop on stopping etcd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# respawn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pre-start script
 | 
				
			||||||
 | 
						# see also https://github.com/jainvipin/kubernetes-ubuntu-start
 | 
				
			||||||
 | 
						KUBELET=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						if [ -f $KUBELET ]; then
 | 
				
			||||||
 | 
							exit 0
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					    exit 22
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					script
 | 
				
			||||||
 | 
						# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
 | 
				
			||||||
 | 
						KUBELET=/opt/bin/$UPSTART_JOB
 | 
				
			||||||
 | 
						KUBELET_OPTS=""
 | 
				
			||||||
 | 
						if [ -f /etc/default/$UPSTART_JOB ]; then
 | 
				
			||||||
 | 
							. /etc/default/$UPSTART_JOB
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						exec "$KUBELET" $KUBELET_OPTS
 | 
				
			||||||
 | 
					end script
 | 
				
			||||||
							
								
								
									
										100
									
								
								cluster/ubuntu/initd_scripts/etcd
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										100
									
								
								cluster/ubuntu/initd_scripts/etcd
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,100 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### BEGIN INIT INFO
 | 
				
			||||||
 | 
					# Provides:           etcd
 | 
				
			||||||
 | 
					# Required-Start:     $docker
 | 
				
			||||||
 | 
					# Required-Stop:      
 | 
				
			||||||
 | 
					# Should-Start:       
 | 
				
			||||||
 | 
					# Should-Stop:        
 | 
				
			||||||
 | 
					# Default-Start:      
 | 
				
			||||||
 | 
					# Default-Stop:       
 | 
				
			||||||
 | 
					# Short-Description:  Start distrubted key/value pair service
 | 
				
			||||||
 | 
					# Description:
 | 
				
			||||||
 | 
					#  http://www.github.com/coreos/etcd
 | 
				
			||||||
 | 
					### END INIT INFO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/opt/bin:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BASE=$(basename $0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# modify these in /etc/default/$BASE (/etc/default/etcd)
 | 
				
			||||||
 | 
					ETCD=/opt/bin/$BASE
 | 
				
			||||||
 | 
					# This is the pid file managed by etcd itself
 | 
				
			||||||
 | 
					ETCD_PIDFILE=/var/run/$BASE.pid
 | 
				
			||||||
 | 
					ETCD_LOGFILE=/var/log/$BASE.log
 | 
				
			||||||
 | 
					ETCD_OPTS=""
 | 
				
			||||||
 | 
					ETCD_DESC="Etcd"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get lsb functions
 | 
				
			||||||
 | 
					. /lib/lsb/init-functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f /etc/default/$BASE ]; then
 | 
				
			||||||
 | 
						. /etc/default/$BASE
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# see also init_is_upstart in /lib/lsb/init-functions (which isn't available in Ubuntu 12.04, or we'd use it)
 | 
				
			||||||
 | 
					if false && [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | grep -q upstart; then
 | 
				
			||||||
 | 
						log_failure_msg "$ETCD_DESC is managed via upstart, try using service $BASE $1"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check etcd is present
 | 
				
			||||||
 | 
					if [ ! -x $ETCD ]; then
 | 
				
			||||||
 | 
						log_failure_msg "$ETCD not present or not executable"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fail_unless_root() {
 | 
				
			||||||
 | 
						if [ "$(id -u)" != '0' ]; then
 | 
				
			||||||
 | 
							log_failure_msg "$ETCD_DESC must be run as root"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ETCD_START="start-stop-daemon \
 | 
				
			||||||
 | 
					--start \
 | 
				
			||||||
 | 
					--background \
 | 
				
			||||||
 | 
					--quiet \
 | 
				
			||||||
 | 
					--exec $ETCD \
 | 
				
			||||||
 | 
					--make-pidfile \
 | 
				
			||||||
 | 
					--pidfile $ETCD_PIDFILE \
 | 
				
			||||||
 | 
					-- $ETCD_OPTS \
 | 
				
			||||||
 | 
					>> $ETCD_LOGFILE 2>&1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ETCD_STOP="start-stop-daemon \
 | 
				
			||||||
 | 
					--stop \
 | 
				
			||||||
 | 
					--pidfile $ETCD_PIDFILE"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
						start)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Starting $ETCD_DESC: $BASE"
 | 
				
			||||||
 | 
					        $ETCD_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						stop)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Stopping $ETCD_DESC: $BASE"
 | 
				
			||||||
 | 
					        $ETCD_STOP
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						restart | force-reload)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Restarting $ETCD_DESC: $BASE"
 | 
				
			||||||
 | 
					        $ETCD_STOP
 | 
				
			||||||
 | 
					        $ETCD_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						status)
 | 
				
			||||||
 | 
							status_of_proc -p "$ETCD_PIDFILE" "$ETCD" "$ETCD_DESC"
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						*)
 | 
				
			||||||
 | 
							echo "Usage: $0 {start|stop|restart|status}"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
							
								
								
									
										99
									
								
								cluster/ubuntu/initd_scripts/kube-apiserver
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										99
									
								
								cluster/ubuntu/initd_scripts/kube-apiserver
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### BEGIN INIT INFO
 | 
				
			||||||
 | 
					# Provides:           kube-apiserver
 | 
				
			||||||
 | 
					# Required-Start:     $etcd
 | 
				
			||||||
 | 
					# Required-Stop:      
 | 
				
			||||||
 | 
					# Should-Start:       
 | 
				
			||||||
 | 
					# Should-Stop:        
 | 
				
			||||||
 | 
					# Default-Start:      
 | 
				
			||||||
 | 
					# Default-Stop:       
 | 
				
			||||||
 | 
					# Short-Description:  Start distrubted key/value pair service
 | 
				
			||||||
 | 
					# Description:
 | 
				
			||||||
 | 
					#  http://www.github.com/GoogleCloudPlatform/Kubernetes
 | 
				
			||||||
 | 
					### END INIT INFO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/opt/bin:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BASE=$(basename $0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# modify these in /etc/default/$BASE (/etc/default/kube-apiserver)
 | 
				
			||||||
 | 
					KUBE_APISERVER=/opt/bin/$BASE
 | 
				
			||||||
 | 
					# This is the pid file managed by kube-apiserver itself
 | 
				
			||||||
 | 
					KUBE_APISERVER_PIDFILE=/var/run/$BASE.pid
 | 
				
			||||||
 | 
					KUBE_APISERVER_LOGFILE=/var/log/$BASE.log
 | 
				
			||||||
 | 
					KUBE_APISERVER_OPTS=""
 | 
				
			||||||
 | 
					KUBE_APISERVER_DESC="Kube-Apiserver"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get lsb functions
 | 
				
			||||||
 | 
					. /lib/lsb/init-functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f /etc/default/$BASE ]; then
 | 
				
			||||||
 | 
						. /etc/default/$BASE
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# see also init_is_upstart in /lib/lsb/init-functions (which isn't available in Ubuntu 12.04, or we'd use it)
 | 
				
			||||||
 | 
					if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | grep -q upstart; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBE_APISERVER_DESC is managed via upstart, try using service $BASE $1"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check kube-apiserver is present
 | 
				
			||||||
 | 
					if [ ! -x $KUBE_APISERVER ]; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBE_APISERVER not present or not executable"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fail_unless_root() {
 | 
				
			||||||
 | 
						if [ "$(id -u)" != '0' ]; then
 | 
				
			||||||
 | 
							log_failure_msg "$KUBE_APISERVER_DESC must be run as root"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBE_APISERVER_START="start-stop-daemon \
 | 
				
			||||||
 | 
					--start \
 | 
				
			||||||
 | 
					--background \
 | 
				
			||||||
 | 
					--quiet \
 | 
				
			||||||
 | 
					--exec $KUBE_APISERVER \
 | 
				
			||||||
 | 
					--make-pidfile --pidfile $KUBE_APISERVER_PIDFILE \
 | 
				
			||||||
 | 
					-- $KUBE_APISERVER_OPTS \
 | 
				
			||||||
 | 
					>> $KUBE_APISERVER_LOGFILE 2>&1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBE_APISERVER_STOP="start-stop-daemon \
 | 
				
			||||||
 | 
					--stop \
 | 
				
			||||||
 | 
					--pidfile $KUBE_APISERVER_PIDFILE"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
						start)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Starting $KUBE_APISERVER_DESC: $BASE"
 | 
				
			||||||
 | 
					        $KUBE_APISERVER_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						stop)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Stopping $KUBE_APISERVER_DESC: $BASE"
 | 
				
			||||||
 | 
							$KUBE_APISERVER_STOP
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						restart | force-reload)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Stopping $KUBE_APISERVER_DESC: $BASE"
 | 
				
			||||||
 | 
							$KUBE_APISERVER_STOP
 | 
				
			||||||
 | 
							$KUBE_APISERVER_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						status)
 | 
				
			||||||
 | 
							status_of_proc -p "$KUBE_APISERVER_PIDFILE" "$KUBE_APISERVER" "$KUBE_APISERVER_DESC"
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						*)
 | 
				
			||||||
 | 
							echo "Usage: $0 {start|stop|restart|status}"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
							
								
								
									
										99
									
								
								cluster/ubuntu/initd_scripts/kube-controller-manager
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										99
									
								
								cluster/ubuntu/initd_scripts/kube-controller-manager
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### BEGIN INIT INFO
 | 
				
			||||||
 | 
					# Provides:           kube-controller-manager
 | 
				
			||||||
 | 
					# Required-Start:     $etcd
 | 
				
			||||||
 | 
					# Required-Stop:      
 | 
				
			||||||
 | 
					# Should-Start:       
 | 
				
			||||||
 | 
					# Should-Stop:        
 | 
				
			||||||
 | 
					# Default-Start:      
 | 
				
			||||||
 | 
					# Default-Stop:       
 | 
				
			||||||
 | 
					# Short-Description:  Start distrubted key/value pair service
 | 
				
			||||||
 | 
					# Description:
 | 
				
			||||||
 | 
					#  http://www.github.com/GoogleCloudPlatform/Kubernetes
 | 
				
			||||||
 | 
					### END INIT INFO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/opt/bin:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BASE=$(basename $0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# modify these in /etc/default/$BASE (/etc/default/kube-controller-manager)
 | 
				
			||||||
 | 
					KUBE_CONTROLLER_MANAGER=/opt/bin/$BASE
 | 
				
			||||||
 | 
					# This is the pid file managed by kube-controller-manager itself
 | 
				
			||||||
 | 
					KUBE_CONTROLLER_MANAGER_PIDFILE=/var/run/$BASE.pid
 | 
				
			||||||
 | 
					KUBE_CONTROLLER_MANAGER_LOGFILE=/var/log/$BASE.log
 | 
				
			||||||
 | 
					KUBE_CONTROLLER_MANAGER_OPTS=""
 | 
				
			||||||
 | 
					KUBE_CONTROLLER_MANAGER_DESC="Kube-Controller-Manager"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get lsb functions
 | 
				
			||||||
 | 
					. /lib/lsb/init-functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f /etc/default/$BASE ]; then
 | 
				
			||||||
 | 
						. /etc/default/$BASE
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# see also init_is_upstart in /lib/lsb/init-functions (which isn't available in Ubuntu 12.04, or we'd use it)
 | 
				
			||||||
 | 
					if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | grep -q upstart; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBE_CONTROLLER_MANAGER_DESC is managed via upstart, try using service $BASE $1"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check kube-controller-manager is present
 | 
				
			||||||
 | 
					if [ ! -x $KUBE_CONTROLLER_MANAGER ]; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBE_CONTROLLER_MANAGER not present or not executable"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fail_unless_root() {
 | 
				
			||||||
 | 
						if [ "$(id -u)" != '0' ]; then
 | 
				
			||||||
 | 
							log_failure_msg "$KUBE_CONTROLLER_MANAGER_DESC must be run as root"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBE_CONTROLLER_MANAGER_START="start-stop-daemon 
 | 
				
			||||||
 | 
					--start --background \
 | 
				
			||||||
 | 
					--quiet \
 | 
				
			||||||
 | 
					--exec $KUBE_CONTROLLER_MANAGER \
 | 
				
			||||||
 | 
					--make-pidfile \
 | 
				
			||||||
 | 
					--pidfile $KUBE_CONTROLLER_MANAGER_PIDFILE \
 | 
				
			||||||
 | 
					-- $KUBE_CONTROLLER_MANAGER_OPTS \
 | 
				
			||||||
 | 
					>> "$KUBE_CONTROLLER_MANAGER_LOGFILE" 2>&1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBE_CONTROLLER_MANAGER_STOP="start-stop-daemon \
 | 
				
			||||||
 | 
					--stop \
 | 
				
			||||||
 | 
					--pidfile $KUBE_CONTROLLER_MANAGER_PIDFILE"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
						start)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Starting $KUBE_CONTROLLER_MANAGER_DESC: $BASE"
 | 
				
			||||||
 | 
					        $KUBE_CONTROLLER_MANAGER_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						stop)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Stopping $KUBE_CONTROLLER_MANAGER_DESC: $BASE"
 | 
				
			||||||
 | 
					        $KUBE_CONTROLLER_MANAGER_STOP
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						restart | force-reload)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
					        log_daemon_message "Restarting $KUBE_CONTROLLER_MANAGER" || true
 | 
				
			||||||
 | 
					        $KUBE_CONTROLLER_MANAGER_STOP
 | 
				
			||||||
 | 
					        $KUBE_CONTROLLER_MANAGER_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						status)
 | 
				
			||||||
 | 
							status_of_proc -p "$KUBE_CONTROLLER_MANAGER_PIDFILE" "$KUBE_CONTROLLER_MANAGER" "$KUBE_CONTROLLER_MANAGER_DESC"
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						*)
 | 
				
			||||||
 | 
							echo "Usage: $0 {start|stop|restart|status}"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
							
								
								
									
										99
									
								
								cluster/ubuntu/initd_scripts/kube-proxy
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										99
									
								
								cluster/ubuntu/initd_scripts/kube-proxy
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### BEGIN INIT INFO
 | 
				
			||||||
 | 
					# Provides:           kube-proxy
 | 
				
			||||||
 | 
					# Required-Start:     $etcd
 | 
				
			||||||
 | 
					# Required-Stop:      
 | 
				
			||||||
 | 
					# Should-Start:       
 | 
				
			||||||
 | 
					# Should-Stop:        
 | 
				
			||||||
 | 
					# Default-Start:      
 | 
				
			||||||
 | 
					# Default-Stop:       
 | 
				
			||||||
 | 
					# Short-Description:  Start distrubted key/value pair service
 | 
				
			||||||
 | 
					# Description:
 | 
				
			||||||
 | 
					#  http://www.github.com/GoogleCloudPlatform/Kubernetes
 | 
				
			||||||
 | 
					### END INIT INFO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/opt/bin:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BASE=$(basename $0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# modify these in /etc/default/$BASE (/etc/default/kube-proxy)
 | 
				
			||||||
 | 
					KUBE_PROXY=/opt/bin/$BASE
 | 
				
			||||||
 | 
					# This is the pid file managed by kube-proxy itself
 | 
				
			||||||
 | 
					KUBE_PROXY_PIDFILE=/var/run/$BASE.pid
 | 
				
			||||||
 | 
					KUBE_PROXY_LOGFILE=/var/log/$BASE.log
 | 
				
			||||||
 | 
					KUBE_PROXY_OPTS=""
 | 
				
			||||||
 | 
					KUBE_PROXY_DESC="Kube-Proxy"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get lsb functions
 | 
				
			||||||
 | 
					. /lib/lsb/init-functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f /etc/default/$BASE ]; then
 | 
				
			||||||
 | 
						. /etc/default/$BASE
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# see also init_is_upstart in /lib/lsb/init-functions (which isn't available in Ubuntu 12.04, or we'd use it)
 | 
				
			||||||
 | 
					if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | grep -q upstart; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBE_PROXY_DESC is managed via upstart, try using service $BASE $1"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check kube-proxy is present
 | 
				
			||||||
 | 
					if [ ! -x $KUBE_PROXY ]; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBE_PROXY not present or not executable"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fail_unless_root() {
 | 
				
			||||||
 | 
						if [ "$(id -u)" != '0' ]; then
 | 
				
			||||||
 | 
							log_failure_msg "$KUBE_PROXY_DESC must be run as root"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBE_PROXY_START="start-stop-daemon \
 | 
				
			||||||
 | 
					--start \
 | 
				
			||||||
 | 
					--background \
 | 
				
			||||||
 | 
					--quiet \
 | 
				
			||||||
 | 
					--exec $KUBE_PROXY \
 | 
				
			||||||
 | 
					--make-pidfile --pidfile $KUBE_PROXY_PIDFILE \
 | 
				
			||||||
 | 
					-- $KUBE_PROXY_OPTS \
 | 
				
			||||||
 | 
					>> $KUBE_PROXY_LOGFILE 2>&1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBE_PROXY_STOP="start-stop-daemon \
 | 
				
			||||||
 | 
					--stop \
 | 
				
			||||||
 | 
					--pidfile $KUBE_PROXY_PIDFILE"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
						start)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Starting $KUBE_PROXY_DESC: $BASE"
 | 
				
			||||||
 | 
					        $KUBE_PROXY_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						stop)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Stopping $KUBE_PROXY_DESC: $BASE"
 | 
				
			||||||
 | 
							$KUBE_PROXY_STOP
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						restart | force-reload)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Stopping $KUBE_PROXY_DESC: $BASE"
 | 
				
			||||||
 | 
							$KUBE_PROXY_STOP
 | 
				
			||||||
 | 
							$KUBE_PROXY_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						status)
 | 
				
			||||||
 | 
							status_of_proc -p "$KUBE_PROXY_PIDFILE" "$KUBE_PROXY" "$KUBE_PROXY_DESC"
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						*)
 | 
				
			||||||
 | 
							echo "Usage: $0 {start|stop|restart|status}"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
							
								
								
									
										99
									
								
								cluster/ubuntu/initd_scripts/kube-scheduler
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										99
									
								
								cluster/ubuntu/initd_scripts/kube-scheduler
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### BEGIN INIT INFO
 | 
				
			||||||
 | 
					# Provides:           kube-scheduler
 | 
				
			||||||
 | 
					# Required-Start:     $etcd
 | 
				
			||||||
 | 
					# Required-Stop:      
 | 
				
			||||||
 | 
					# Should-Start:       
 | 
				
			||||||
 | 
					# Should-Stop:        
 | 
				
			||||||
 | 
					# Default-Start:      
 | 
				
			||||||
 | 
					# Default-Stop:       
 | 
				
			||||||
 | 
					# Short-Description:  Start distrubted key/value pair service
 | 
				
			||||||
 | 
					# Description:
 | 
				
			||||||
 | 
					#  http://www.github.com/GoogleCloudPlatform/Kubernetes
 | 
				
			||||||
 | 
					### END INIT INFO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/opt/bin:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BASE=$(basename $0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# modify these in /etc/default/$BASE (/etc/default/kube-scheduler)
 | 
				
			||||||
 | 
					KUBE_SCHEDULER=/opt/bin/$BASE
 | 
				
			||||||
 | 
					# This is the pid file managed by kube-scheduler itself
 | 
				
			||||||
 | 
					KUBE_SCHEDULER_PIDFILE=/var/run/$BASE.pid
 | 
				
			||||||
 | 
					KUBE_SCHEDULER_LOGFILE=/var/log/$BASE.log
 | 
				
			||||||
 | 
					KUBE_SCHEDULER_OPTS=""
 | 
				
			||||||
 | 
					KUBE_SCHEDULER_DESC="Kube-Scheduler"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get lsb functions
 | 
				
			||||||
 | 
					. /lib/lsb/init-functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f /etc/default/$BASE ]; then
 | 
				
			||||||
 | 
						. /etc/default/$BASE
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# see also init_is_upstart in /lib/lsb/init-functions (which isn't available in Ubuntu 12.04, or we'd use it)
 | 
				
			||||||
 | 
					if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | grep -q upstart; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBE_SCHEDULER_DESC is managed via upstart, try using service $BASE $1"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check kube-scheduler is present
 | 
				
			||||||
 | 
					if [ ! -x $KUBE_SCHEDULER ]; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBE_SCHEDULER not present or not executable"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fail_unless_root() {
 | 
				
			||||||
 | 
						if [ "$(id -u)" != '0' ]; then
 | 
				
			||||||
 | 
							log_failure_msg "$KUBE_SCHEDULER_DESC must be run as root"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBE_SCHEDULER_START="start-stop-daemon \
 | 
				
			||||||
 | 
					--start \
 | 
				
			||||||
 | 
					--background \
 | 
				
			||||||
 | 
					--quiet \
 | 
				
			||||||
 | 
					--exec $KUBE_SCHEDULER \
 | 
				
			||||||
 | 
					--make-pidfile --pidfile $KUBE_SCHEDULER_PIDFILE \
 | 
				
			||||||
 | 
					-- $KUBE_SCHEDULER_OPTS \
 | 
				
			||||||
 | 
					>> $KUBE_SCHEDULER_LOGFILE 2>&1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBE_SCHEDULER_STOP="start-stop-daemon \
 | 
				
			||||||
 | 
					--stop \
 | 
				
			||||||
 | 
					--pidfile $KUBE_SCHEDULER_PIDFILE"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
						start)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Starting $KUBE_SCHEDULER_DESC: $BASE"
 | 
				
			||||||
 | 
					        $KUBE_SCHEDULER_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						stop)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Stopping $KUBE_SCHEDULER_DESC: $BASE"
 | 
				
			||||||
 | 
							$KUBE_SCHEDULER_STOP
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						restart | force-reload)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Restarting $KUBE_SCHEDULER_DESC: $BASE"
 | 
				
			||||||
 | 
							$KUBE_SCHEDULER_STOP
 | 
				
			||||||
 | 
							$KUBE_SCHEDULER_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						status)
 | 
				
			||||||
 | 
							status_of_proc -p "$KUBE_SCHEDULER_PIDFILE" "$KUBE_SCHEDULER" "$KUBE_SCHEDULER_DESC"
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						*)
 | 
				
			||||||
 | 
							echo "Usage: $0 {start|stop|restart|status}"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
							
								
								
									
										99
									
								
								cluster/ubuntu/initd_scripts/kubelet
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										99
									
								
								cluster/ubuntu/initd_scripts/kubelet
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### BEGIN INIT INFO
 | 
				
			||||||
 | 
					# Provides:           kubelet
 | 
				
			||||||
 | 
					# Required-Start:     $etcd
 | 
				
			||||||
 | 
					# Required-Stop:      
 | 
				
			||||||
 | 
					# Should-Start:       
 | 
				
			||||||
 | 
					# Should-Stop:        
 | 
				
			||||||
 | 
					# Default-Start:      
 | 
				
			||||||
 | 
					# Default-Stop:       
 | 
				
			||||||
 | 
					# Short-Description:  Start distrubted key/value pair service
 | 
				
			||||||
 | 
					# Description:
 | 
				
			||||||
 | 
					#  http://www.github.com/GoogleCloudPlatform/Kubernetes
 | 
				
			||||||
 | 
					### END INIT INFO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/opt/bin:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BASE=$(basename $0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# modify these in /etc/default/$BASE (/etc/default/kube-apiserver)
 | 
				
			||||||
 | 
					KUBELET=/opt/bin/$BASE
 | 
				
			||||||
 | 
					# This is the pid file managed by kube-apiserver itself
 | 
				
			||||||
 | 
					KUBELET_PIDFILE=/var/run/$BASE.pid
 | 
				
			||||||
 | 
					KUBELET_LOGFILE=/var/log/$BASE.log
 | 
				
			||||||
 | 
					KUBELET_OPTS=""
 | 
				
			||||||
 | 
					KUBELET_DESC="Kube-Apiserver"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get lsb functions
 | 
				
			||||||
 | 
					. /lib/lsb/init-functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f /etc/default/$BASE ]; then
 | 
				
			||||||
 | 
						. /etc/default/$BASE
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# see also init_is_upstart in /lib/lsb/init-functions (which isn't available in Ubuntu 12.04, or we'd use it)
 | 
				
			||||||
 | 
					if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | grep -q upstart; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBELET_DESC is managed via upstart, try using service $BASE $1"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check kube-apiserver is present
 | 
				
			||||||
 | 
					if [ ! -x $KUBELET ]; then
 | 
				
			||||||
 | 
						log_failure_msg "$KUBELET not present or not executable"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fail_unless_root() {
 | 
				
			||||||
 | 
						if [ "$(id -u)" != '0' ]; then
 | 
				
			||||||
 | 
							log_failure_msg "$KUBELET_DESC must be run as root"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBELET_START="start-stop-daemon \
 | 
				
			||||||
 | 
					--start \
 | 
				
			||||||
 | 
					--background \
 | 
				
			||||||
 | 
					--quiet \
 | 
				
			||||||
 | 
					--exec $KUBELET \
 | 
				
			||||||
 | 
					--make-pidfile --pidfile $KUBELET_PIDFILE \
 | 
				
			||||||
 | 
					-- $KUBELET_OPTS \
 | 
				
			||||||
 | 
					>> $KUBELET_LOGFILE 2>&1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KUBELET_STOP="start-stop-daemon \
 | 
				
			||||||
 | 
					--stop \
 | 
				
			||||||
 | 
					--pidfile $KUBELET_PIDFILE"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
						start)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Starting $KUBELET_DESC: $BASE"
 | 
				
			||||||
 | 
					        $KUBELET_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						stop)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Stopping $KUBELET_DESC: $BASE"
 | 
				
			||||||
 | 
							$KUBELET_STOP
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						restart | force-reload)
 | 
				
			||||||
 | 
							fail_unless_root
 | 
				
			||||||
 | 
							log_begin_msg "Stopping $KUBELET_DESC: $BASE"
 | 
				
			||||||
 | 
							$KUBELET_STOP
 | 
				
			||||||
 | 
							$KUBELET_START
 | 
				
			||||||
 | 
							log_end_msg $?
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						status)
 | 
				
			||||||
 | 
							status_of_proc -p "$KUBELET_PIDFILE" "$KUBELET" "$KUBELET_DESC"
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						*)
 | 
				
			||||||
 | 
							echo "Usage: $0 {start|stop|restart|status}"
 | 
				
			||||||
 | 
							exit 1
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
							
								
								
									
										43
									
								
								cluster/ubuntu/util.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										43
									
								
								cluster/ubuntu/util.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright 2014 Google Inc. All rights reserved.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					# you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					# You may obtain a copy of the License at
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#     http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					# distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					# See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					# limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# attempt to warn user about kube and etcd binaries
 | 
				
			||||||
 | 
					PATH=$PATH:/opt/bin:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! $(grep Ubuntu /etc/lsb-release > /dev/null 2>&1)
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    echo "warning: not detecting a ubuntu system"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! $(which etcd > /dev/null)
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    echo "warning: etcd binary is not found in the PATH: $PATH"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! $(which kube-apiserver > /dev/null) && ! $(which kubelet > /dev/null)
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    echo "warning: kube binaries are not found in the $PATH"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# copy /etc/init files
 | 
				
			||||||
 | 
					cp init_conf/* /etc/init/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# copy /etc/initd/ files
 | 
				
			||||||
 | 
					cp initd_scripts/* /etc/init.d/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# copy default configs
 | 
				
			||||||
 | 
					cp default_scripts/* /etc/default/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										50
									
								
								docs/getting-started-guides/ubuntu_single_node.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								docs/getting-started-guides/ubuntu_single_node.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					## Getting started on Ubuntu 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This document describes how to get started to run kubernetes services on a single host (whihch is acting both as master and minion) for ubuntu systems. It consistes of three steps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Make kubernetes and etcd binaries
 | 
				
			||||||
 | 
					2. Install upstart scripts
 | 
				
			||||||
 | 
					3. Customizing ubuntu launch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 1. Make kubernetes and etcd binaries
 | 
				
			||||||
 | 
					Either build or download the latest [kubernetest binaries] (https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/getting-started-guides/binary_release.md) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copy the kube binaries into `/opt/bin` or a path of your choice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Similarly pull an `etcd` binary from [etcd releases](https://github.com/coreos/etcd/releases) or build the `etcd` yourself using instructions at [https://github.com/coreos/etcd](https://github.com/coreos/etcd)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copy the `etcd` binary into `/opt/bin` or path of your choice
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 2. Install upstart scripts
 | 
				
			||||||
 | 
					Running ubuntu/util.sh would install/copy the scripts for upstart to pick up. The script may warn you on some valid problems/conditions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ cd kubernetes/cluster/ubuntu
 | 
				
			||||||
 | 
					$ sudo ./util.sh
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					After this the kubernetes and `etcd` services would be up and running. You can use `service start/stop/restart/force-reload` on the services.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Luanching and scheduling containers using kubecfg can also be used at this point, as explained mentioned in the [examples](https://github.com/GoogleCloudPlatform/kubernetes/tree/master/examples/guestbook)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3. Customizing the ubuntu launch
 | 
				
			||||||
 | 
					To customize the defaults you will need to tweak `/etc/default/kube*` files and restart the appropriate services. This is needed if the binaries are copied in a place other than `/opt/bin`. A run could look like
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ sudo cat /etc/default/etcd 
 | 
				
			||||||
 | 
					# Etcd Upstart and SysVinit configuration file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Customize etcd location 
 | 
				
			||||||
 | 
					# ETCD="/opt/bin/etcd"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Use ETCD_OPTS to modify the start/restart options
 | 
				
			||||||
 | 
					ETCD_OPTS="-listen-client-urls=http://127.0.0.1:4001"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add more envionrment settings used by etcd here
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ sudo service etcd status
 | 
				
			||||||
 | 
					etcd start/running, process 834
 | 
				
			||||||
 | 
					$ sudo service etcd restart
 | 
				
			||||||
 | 
					etcd stop/waiting
 | 
				
			||||||
 | 
					etcd start/running, process 29050
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
		Reference in New Issue
	
	Block a user