kube-controller-manager 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #!/bin/sh
  2. set -e
  3. ### BEGIN INIT INFO
  4. # Provides: kube-controller-manager
  5. # Required-Start: $etcd
  6. # Required-Stop:
  7. # Should-Start:
  8. # Should-Stop:
  9. # Default-Start:
  10. # Default-Stop:
  11. # Short-Description: Start kube-controller-manager service
  12. # Description:
  13. # http://www.github.com/GoogleCloudPlatform/Kubernetes
  14. ### END INIT INFO
  15. export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/opt/bin:
  16. BASE=$(basename $0)
  17. # modify these in /etc/default/$BASE (/etc/default/kube-controller-manager)
  18. KUBE_CONTROLLER_MANAGER=/opt/bin/$BASE
  19. # This is the pid file managed by kube-controller-manager itself
  20. KUBE_CONTROLLER_MANAGER_PIDFILE=/var/run/$BASE.pid
  21. KUBE_CONTROLLER_MANAGER_LOGFILE=/var/log/$BASE.log
  22. KUBE_CONTROLLER_MANAGER_OPTS=""
  23. KUBE_CONTROLLER_MANAGER_DESC="Kube-Controller-Manager"
  24. # Get lsb functions
  25. . /lib/lsb/init-functions
  26. if [ -f /etc/default/$BASE ]; then
  27. . /etc/default/$BASE
  28. fi
  29. # see also init_is_upstart in /lib/lsb/init-functions (which isn't available in Ubuntu 12.04, or we'd use it)
  30. if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | grep -q upstart; then
  31. log_failure_msg "$KUBE_CONTROLLER_MANAGER_DESC is managed via upstart, try using service $BASE $1"
  32. exit 1
  33. fi
  34. # Check kube-controller-manager is present
  35. if [ ! -x $KUBE_CONTROLLER_MANAGER ]; then
  36. log_failure_msg "$KUBE_CONTROLLER_MANAGER not present or not executable"
  37. exit 1
  38. fi
  39. fail_unless_root() {
  40. if [ "$(id -u)" != '0' ]; then
  41. log_failure_msg "$KUBE_CONTROLLER_MANAGER_DESC must be run as root"
  42. exit 1
  43. fi
  44. }
  45. KUBE_CONTROLLER_MANAGER_START="start-stop-daemon
  46. --start --background \
  47. --quiet \
  48. --exec $KUBE_CONTROLLER_MANAGER \
  49. --make-pidfile \
  50. --pidfile $KUBE_CONTROLLER_MANAGER_PIDFILE \
  51. -- $KUBE_CONTROLLER_MANAGER_OPTS \
  52. >> $KUBE_CONTROLLER_MANAGER_LOGFILE 2>&1"
  53. KUBE_CONTROLLER_MANAGER_STOP="start-stop-daemon \
  54. --stop \
  55. --pidfile $KUBE_CONTROLLER_MANAGER_PIDFILE"
  56. case "$1" in
  57. start)
  58. fail_unless_root
  59. log_begin_msg "Starting $KUBE_CONTROLLER_MANAGER_DESC: $BASE"
  60. $KUBE_CONTROLLER_MANAGER_START
  61. log_end_msg $?
  62. ;;
  63. stop)
  64. fail_unless_root
  65. log_begin_msg "Stopping $KUBE_CONTROLLER_MANAGER_DESC: $BASE"
  66. $KUBE_CONTROLLER_MANAGER_STOP
  67. log_end_msg $?
  68. ;;
  69. restart | force-reload)
  70. fail_unless_root
  71. log_daemon_message "Restarting $KUBE_CONTROLLER_MANAGER" || true
  72. $KUBE_CONTROLLER_MANAGER_STOP
  73. $KUBE_CONTROLLER_MANAGER_START
  74. log_end_msg $?
  75. ;;
  76. status)
  77. status_of_proc -p "$KUBE_CONTROLLER_MANAGER_PIDFILE" "$KUBE_CONTROLLER_MANAGER" "$KUBE_CONTROLLER_MANAGER_DESC"
  78. ;;
  79. *)
  80. echo "Usage: $0 {start|stop|restart|status}"
  81. exit 1
  82. ;;
  83. esac