mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
Merge pull request #6496 from ArtfulCoder/docker_image_install
Load docker images of kubernetes components after docker is installed.
This commit is contained in:
commit
d2b6920a32
37
cluster/saltbase/salt/kube-master-addons/init.sls
Normal file
37
cluster/saltbase/salt/kube-master-addons/init.sls
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/etc/kubernetes/kube-master-addons.sh:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://kube-master-addons/kube-master-addons.sh
|
||||||
|
- user: root
|
||||||
|
- group: root
|
||||||
|
- mode: 755
|
||||||
|
|
||||||
|
{% if grains['os_family'] == 'RedHat' %}
|
||||||
|
|
||||||
|
/usr/lib/systemd/system/kube-master-addons.service:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://kube-master-addons/kube-master-addons.service
|
||||||
|
- user: root
|
||||||
|
- group: root
|
||||||
|
|
||||||
|
{% else %}
|
||||||
|
|
||||||
|
/etc/init.d/kube-master-addons:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://kube-master-addons/initd
|
||||||
|
- user: root
|
||||||
|
- group: root
|
||||||
|
- mode: 755
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Used to restart kube-master-addons service each time salt is run
|
||||||
|
master-docker-image-tags:
|
||||||
|
file.touch:
|
||||||
|
- name: /srv/pillar/docker-images.sls
|
||||||
|
|
||||||
|
kube-master-addons:
|
||||||
|
service.running:
|
||||||
|
- enable: True
|
||||||
|
- restart: True
|
||||||
|
- watch:
|
||||||
|
- file: master-docker-image-tags
|
100
cluster/saltbase/salt/kube-master-addons/initd
Normal file
100
cluster/saltbase/salt/kube-master-addons/initd
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: kube-master-addons
|
||||||
|
# Required-Start: $local_fs $network $syslog docker
|
||||||
|
# Required-Stop:
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Short-Description: Kubernetes Master Addon Object Manager
|
||||||
|
# Description:
|
||||||
|
# Enforces installation of Kubernetes Master Addon Objects
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
|
||||||
|
# PATH should only include /usr/* if it runs after the mountnfs.sh script
|
||||||
|
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||||
|
DESC="Kubernetes Master Addon Object Manager"
|
||||||
|
NAME=kube-master-addons
|
||||||
|
DAEMON_LOG_FILE=/var/log/$NAME.log
|
||||||
|
PIDFILE=/var/run/$NAME.pid
|
||||||
|
SCRIPTNAME=/etc/init.d/$NAME
|
||||||
|
KUBE_MASTER_ADDONS_SH=/etc/kubernetes/kube-master-addons.sh
|
||||||
|
|
||||||
|
# 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()
|
||||||
|
{
|
||||||
|
${KUBE_MASTER_ADDONS_SH} </dev/null >>${DAEMON_LOG_FILE} 2>&1 &
|
||||||
|
echo $! > ${PIDFILE}
|
||||||
|
disown
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Function that stops the daemon/service
|
||||||
|
#
|
||||||
|
do_stop()
|
||||||
|
{
|
||||||
|
kill $(cat ${PIDFILE})
|
||||||
|
rm ${PIDFILE}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
|
if [ ! -e ${PIDFILE} ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
pid=$(cat ${PIDFILE})
|
||||||
|
# Checks that ${pid} is running AND is us.
|
||||||
|
ps --no-headers ${pid} | grep ${SCRIPTNAME} > /dev/null || 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
|
@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Kubernetes-Master Addon Object Manager
|
||||||
|
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/etc/kubernetes/kube-master-addons.sh
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
@ -0,0 +1,24 @@
|
|||||||
|
#!/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.
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
if which docker 1>/dev/null 2>&1; then
|
||||||
|
if docker load -i /srv/salt/kube-bins/kube-apiserver.tar 1>/dev/null 2>&1; then
|
||||||
|
break;
|
||||||
|
fi;
|
||||||
|
fi;
|
||||||
|
done;
|
||||||
|
|
@ -35,6 +35,7 @@ base:
|
|||||||
- nginx
|
- nginx
|
||||||
- cadvisor
|
- cadvisor
|
||||||
- kube-client-tools
|
- kube-client-tools
|
||||||
|
- kube-master-addons
|
||||||
{% if grains['cloud'] is defined and grains['cloud'] != 'vagrant' %}
|
{% if grains['cloud'] is defined and grains['cloud'] != 'vagrant' %}
|
||||||
- logrotate
|
- logrotate
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
Loading…
Reference in New Issue
Block a user