mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-11 22:20:18 +00:00
Cloning docs for 0.19.0
This commit is contained in:
1
release-0.19.0/docs/high-availability/default-kubelet
Normal file
1
release-0.19.0/docs/high-availability/default-kubelet
Normal file
@@ -0,0 +1 @@
|
||||
DAEMON_ARGS="$DAEMON_ARGS --cloud_provider=gce --config=/etc/kubernetes/manifests --allow_privileged=False --v=2 --cluster_dns=10.0.0.10 --cluster_domain=cluster.local --configure-cbr0=true --cgroup_root=/ --system-container=/system"
|
126
release-0.19.0/docs/high-availability/init-kubelet
Normal file
126
release-0.19.0/docs/high-availability/init-kubelet
Normal file
@@ -0,0 +1,126 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: kubelet
|
||||
# Required-Start: $local_fs $network $syslog
|
||||
# Required-Stop:
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: The Kubernetes node container manager
|
||||
# Description:
|
||||
# The Kubernetes container manager maintains docker state against a state file.
|
||||
### END INIT INFO
|
||||
|
||||
|
||||
# PATH should only include /usr/* if it runs after the mountnfs.sh script
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
DESC="The Kubernetes container manager"
|
||||
NAME=kubelet
|
||||
DAEMON=/usr/local/bin/kubelet
|
||||
DAEMON_ARGS=""
|
||||
DAEMON_LOG_FILE=/var/log/$NAME.log
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
SCRIPTNAME=/etc/init.d/$NAME
|
||||
DAEMON_USER=root
|
||||
|
||||
# Exit if the package is not installed
|
||||
[ -x "$DAEMON" ] || exit 0
|
||||
|
||||
# Read configuration variable file if it is present
|
||||
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
||||
|
||||
# Define LSB log_* functions.
|
||||
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
|
||||
# and status_of_proc is working.
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
do_start()
|
||||
{
|
||||
# Avoid a potential race at boot time when both monit and init.d start
|
||||
# the same service
|
||||
PIDS=$(pidof $DAEMON)
|
||||
for PID in ${PIDS}; do
|
||||
kill -9 $PID
|
||||
done
|
||||
|
||||
# Return
|
||||
# 0 if daemon has been started
|
||||
# 1 if daemon was already running
|
||||
# 2 if daemon could not be started
|
||||
start-stop-daemon --start --quiet --background --no-close \
|
||||
--make-pidfile --pidfile $PIDFILE \
|
||||
--exec $DAEMON -c $DAEMON_USER --test > /dev/null \
|
||||
|| return 1
|
||||
start-stop-daemon --start --quiet --background --no-close \
|
||||
--make-pidfile --pidfile $PIDFILE \
|
||||
--exec $DAEMON -c $DAEMON_USER -- \
|
||||
$DAEMON_ARGS >> $DAEMON_LOG_FILE 2>&1 \
|
||||
|| return 2
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
do_stop()
|
||||
{
|
||||
# Return
|
||||
# 0 if daemon has been stopped
|
||||
# 1 if daemon was already stopped
|
||||
# 2 if daemon could not be stopped
|
||||
# other if a failure occurred
|
||||
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
|
||||
RETVAL="$?"
|
||||
[ "$RETVAL" = 2 ] && return 2
|
||||
# Many daemons don't delete their pidfiles when they exit.
|
||||
rm -f $PIDFILE
|
||||
return "$RETVAL"
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
log_daemon_msg "Starting $DESC" "$NAME"
|
||||
do_start
|
||||
case "$?" in
|
||||
0|1) log_end_msg 0 || exit 0 ;;
|
||||
2) log_end_msg 1 || exit 1 ;;
|
||||
esac
|
||||
;;
|
||||
stop)
|
||||
log_daemon_msg "Stopping $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1) log_end_msg 0 ;;
|
||||
2) exit 1 ;;
|
||||
esac
|
||||
;;
|
||||
status)
|
||||
status_of_proc -p $PIDFILE "$DAEMON" "$NAME" && exit 0 || exit $?
|
||||
;;
|
||||
|
||||
restart|force-reload)
|
||||
log_daemon_msg "Restarting $DESC" "$NAME"
|
||||
do_stop
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_end_msg 1 ;; # Old process is still running
|
||||
*) log_end_msg 1 ;; # Failed to start
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
9
release-0.19.0/docs/high-availability/monit-docker
Normal file
9
release-0.19.0/docs/high-availability/monit-docker
Normal file
@@ -0,0 +1,9 @@
|
||||
check process docker with pidfile /var/run/docker.pid
|
||||
group docker
|
||||
start program = "/etc/init.d/docker start"
|
||||
stop program = "/etc/init.d/docker stop"
|
||||
if does not exist then restart
|
||||
if failed
|
||||
unixsocket /var/run/docker.sock
|
||||
protocol HTTP request "/version"
|
||||
then restart
|
11
release-0.19.0/docs/high-availability/monit-kubelet
Normal file
11
release-0.19.0/docs/high-availability/monit-kubelet
Normal file
@@ -0,0 +1,11 @@
|
||||
check process kubelet with pidfile /var/run/kubelet.pid
|
||||
group kubelet
|
||||
start program = "/etc/init.d/kubelet start"
|
||||
stop program = "/etc/init.d/kubelet stop"
|
||||
if does not exist then restart
|
||||
if failed
|
||||
host 127.0.0.1
|
||||
port 10248
|
||||
protocol HTTP
|
||||
request "/healthz"
|
||||
then restart
|
57
release-0.19.0/docs/high-availability/podmaster.json
Normal file
57
release-0.19.0/docs/high-availability/podmaster.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"apiVersion": "v1beta3",
|
||||
"kind": "Pod",
|
||||
"metadata": {"name":"scheduler-master"},
|
||||
"spec":{
|
||||
"hostNetwork": true,
|
||||
"containers":[
|
||||
{
|
||||
"name": "scheduler-elector",
|
||||
"image": "gcr.io/google_containers/podmaster:1.1",
|
||||
"command": [
|
||||
"/podmaster",
|
||||
"--etcd-servers=http://127.0.0.1:4001",
|
||||
"--key=scheduler",
|
||||
"--source-file=/kubernetes/kube-scheduler.manifest",
|
||||
"--dest-file=/manifests/kube-scheduler.manifest"
|
||||
],
|
||||
"volumeMounts": [
|
||||
{ "name": "k8s",
|
||||
"mountPath": "/kubernetes",
|
||||
"readOnly": true},
|
||||
{ "name": "manifests",
|
||||
"mountPath": "/manifests",
|
||||
"readOnly": false}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "controller-manager-elector",
|
||||
"image": "gcr.io/google_containers/podmaster:1.1",
|
||||
"command": [
|
||||
"/podmaster",
|
||||
"--etcd-servers=http://127.0.0.1:4001",
|
||||
"--key=controller",
|
||||
"--source-file=/kubernetes/kube-controller-manager.manifest",
|
||||
"--dest-file=/manifests/kube-controller-manager.manifest"
|
||||
],
|
||||
"volumeMounts": [
|
||||
{ "name": "k8s",
|
||||
"mountPath": "/kubernetes",
|
||||
"readOnly": true},
|
||||
{ "name": "manifests",
|
||||
"mountPath": "/manifests",
|
||||
"readOnly": false}
|
||||
]
|
||||
}
|
||||
],
|
||||
"volumes":[
|
||||
{ "name": "k8s",
|
||||
"hostPath": {
|
||||
"path": "/srv/kubernetes"}
|
||||
},
|
||||
{ "name": "manifests",
|
||||
"hostPath": {
|
||||
"path": "/etc/kubernetes/manifests"}
|
||||
}
|
||||
]
|
||||
}}
|
Reference in New Issue
Block a user