#!/bin/bash # # /etc/rc.d/init.d/kubelet # # chkconfig: 2345 95 95 # description: Daemon for kubelet (kubernetes.io) ### BEGIN INIT INFO # Provides: kubelet # Required-Start: $local_fs $network $syslog cgconfig # Required-Stop: # Should-Start: # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start and stop kubelet # Description: # The Kubernetes container manager maintains docker state against a state file. ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions prog="kubelet" exec="{{ bin_dir }}/$prog" pidfile="/var/run/$prog.pid" lockfile="/var/lock/subsys/$prog" logfile="/var/log/$prog" [ -e /etc/kubernetes/$prog.env ] && . /etc/kubernetes/$prog.env start() { if [ ! -x $exec ]; then if [ ! -e $exec ]; then echo "Docker executable $exec not found" else echo "You do not have permission to execute the Docker executable $exec" fi exit 5 fi check_for_cleanup if ! [ -f $pidfile ]; then printf "Starting $prog:\t" echo "\n$(date)\n" >> $logfile $exec $DAEMON_ARGS &>> $logfile & pid=$! echo $pid >> $pidfile touch $lockfile success echo else failure echo printf "$pidfile still exists...\n" exit 7 fi } stop() { echo -n $"Stopping $prog: " killproc -p $pidfile -d 300 $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { restart } force_reload() { restart } rh_status() { status -p $pidfile $prog } rh_status_q() { rh_status >/dev/null 2>&1 } check_for_cleanup() { if [ -f ${pidfile} ]; then /bin/ps -fp $(cat ${pidfile}) > /dev/null || rm ${pidfile} fi } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac exit $?