kube-apiserver 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #!/bin/sh
  2. set -e
  3. ### BEGIN INIT INFO
  4. # Provides: kube-apiserver
  5. # Required-Start: $etcd
  6. # Required-Stop:
  7. # Should-Start:
  8. # Should-Stop:
  9. # Default-Start:
  10. # Default-Stop:
  11. # Short-Description: Start kube-apiserver 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-apiserver)
  18. KUBE_APISERVER=/opt/bin/$BASE
  19. # This is the pid file managed by kube-apiserver itself
  20. KUBE_APISERVER_PIDFILE=/var/run/$BASE.pid
  21. KUBE_APISERVER_LOGFILE=/var/log/$BASE.log
  22. KUBE_APISERVER_OPTS=""
  23. KUBE_APISERVER_DESC="Kube-Apiserver"
  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_APISERVER_DESC is managed via upstart, try using service $BASE $1"
  32. exit 1
  33. fi
  34. # Check kube-apiserver is present
  35. if [ ! -x $KUBE_APISERVER ]; then
  36. log_failure_msg "$KUBE_APISERVER 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_APISERVER_DESC must be run as root"
  42. exit 1
  43. fi
  44. }
  45. KUBE_APISERVER_START="start-stop-daemon \
  46. --start \
  47. --background \
  48. --quiet \
  49. --exec $KUBE_APISERVER \
  50. --make-pidfile --pidfile $KUBE_APISERVER_PIDFILE \
  51. -- $KUBE_APISERVER_OPTS \
  52. >> $KUBE_APISERVER_LOGFILE 2>&1"
  53. KUBE_APISERVER_STOP="start-stop-daemon \
  54. --stop \
  55. --pidfile $KUBE_APISERVER_PIDFILE"
  56. case "$1" in
  57. start)
  58. fail_unless_root
  59. log_begin_msg "Starting $KUBE_APISERVER_DESC: $BASE"
  60. $KUBE_APISERVER_START
  61. log_end_msg $?
  62. ;;
  63. stop)
  64. fail_unless_root
  65. log_begin_msg "Stopping $KUBE_APISERVER_DESC: $BASE"
  66. $KUBE_APISERVER_STOP
  67. log_end_msg $?
  68. ;;
  69. restart | force-reload)
  70. fail_unless_root
  71. log_begin_msg "Stopping $KUBE_APISERVER_DESC: $BASE"
  72. $KUBE_APISERVER_STOP
  73. $KUBE_APISERVER_START
  74. log_end_msg $?
  75. ;;
  76. status)
  77. status_of_proc -p "$KUBE_APISERVER_PIDFILE" "$KUBE_APISERVER" "$KUBE_APISERVER_DESC"
  78. ;;
  79. *)
  80. echo "Usage: $0 {start|stop|restart|status}"
  81. exit 1
  82. ;;
  83. esac