Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
3fde9cd4
Commit
3fde9cd4
authored
Apr 10, 2015
by
Abhi Shah
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6722 from GoogleCloudPlatform/revert-6709-apiserver-in-a-pod
Revert "kube-apiserver in a pod."
parents
fff6cebb
7f2f1657
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
203 additions
and
73 deletions
+203
-73
default
cluster/saltbase/salt/kube-apiserver/default
+3
-54
init.sls
cluster/saltbase/salt/kube-apiserver/init.sls
+68
-19
initd
cluster/saltbase/salt/kube-apiserver/initd
+121
-0
kube-apiserver.service
cluster/saltbase/salt/kube-apiserver/kube-apiserver.service
+11
-0
No files found.
cluster/saltbase/salt/kube-apiserver/
kube-apiserver.manifes
t
→
cluster/saltbase/salt/kube-apiserver/
defaul
t
View file @
3fde9cd4
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
{% set cloud_config = "--cloud_config=/etc/aws.conf" -%}
{% set cloud_config = "--cloud_config=/etc/aws.conf" -%}
{% endif -%}
{% endif -%}
{% endif -%}
{% endif -%}
# grains.cloud is defined
{% set address = "--address=127.0.0.1" -%}
{% set address = "--address=127.0.0.1" -%}
...
@@ -45,6 +45,7 @@
...
@@ -45,6 +45,7 @@
{% if grains.cloud is defined -%}
{% if grains.cloud is defined -%}
{% if grains.cloud in [ 'aws', 'gce', 'vagrant' ] -%}
{% if grains.cloud in [ 'aws', 'gce', 'vagrant' ] -%}
# TODO: generate and distribute tokens for other cloud providers.
{% set token_auth_file = "--token_auth_file=/srv/kubernetes/known_tokens.csv" -%}
{% set token_auth_file = "--token_auth_file=/srv/kubernetes/known_tokens.csv" -%}
{% endif -%}
{% endif -%}
{% endif -%}
{% endif -%}
...
@@ -59,56 +60,4 @@
...
@@ -59,56 +60,4 @@
{% set runtime_config = "--runtime_config=" + grains.runtime_config -%}
{% set runtime_config = "--runtime_config=" + grains.runtime_config -%}
{% endif -%}
{% endif -%}
{
DAEMON_ARGS="{{daemon_args}} {{address}} {{etcd_servers}} {{ cloud_provider }} {{ cloud_config }} {{ runtime_config }} {{admission_control}} --allow_privileged={{pillar['allow_privileged']}} {{portal_net}} {{cluster_name}} {{cert_file}} {{key_file}} {{secure_port}} {{token_auth_file}} {{publicAddressOverride}} {{pillar['log_level']}}"
"apiVersion": "v1beta3",
"kind": "Pod",
"metadata": {"name":"kube-apiserver"},
"spec":{
"hostNetwork": true,
"containers":[
{
"name": "kube-apiserver",
"image": "gcr.io/google_containers/kube-apiserver:{{pillar['kube-apiserver_docker_tag']}}",
"command": [
"/kube-apiserver",
"{{address}}",
"{{etcd_servers}}",
"{{ cloud_provider }}",
"{{ cloud_config }}",
"{{ runtime_config }}",
"{{admission_control}}",
"--allow_privileged={{pillar['allow_privileged']}}",
"{{portal_net}}",
"{{cluster_name}}",
"{{cert_file}}",
"{{key_file}}",
"{{secure_port}}",
"{{token_auth_file}}",
"{{publicAddressOverride}}",
"{{pillar['log_level']}}"
],
"ports":[
{ "name": "https",
"containerPort": 6443,
"hostPort": 6443},{
"name": "http",
"containerPort": 7080,
"hostPort": 7080},{
"name": "local",
"containerPort": 8080,
"hostPort": 8080}
],
"volumeMounts": [
{ "name": "srv-kubernetes",
"mountPath": "/srv/kubernetes",
"readOnly": true}
]
}
],
"volumes":[
{ "name": "srv-kubernetes",
"hostPath": {
"path": "/srv/kubernetes"}
}
]
}}
cluster/saltbase/salt/kube-apiserver/init.sls
View file @
3fde9cd4
{% if grains['os_family'] == 'RedHat' %}
{% set environment_file = '/etc/sysconfig/kube-apiserver' %}
{% else %}
{% set environment_file = '/etc/default/kube-apiserver' %}
{% endif %}
{{ environment_file }}:
file.managed:
- source: salt://kube-apiserver/default
- template: jinja
- user: root
- group: root
- mode: 644
/usr/local/bin/kube-apiserver:
file.managed:
- source: salt://kube-bins/kube-apiserver
- user: root
- group: root
- mode: 755
{% if grains['os_family'] == 'RedHat' %}
/usr/lib/systemd/system/kube-apiserver.service:
file.managed:
- source: salt://kube-apiserver/kube-apiserver.service
- user: root
- group: root
{% else %}
/etc/init.d/kube-apiserver:
file.managed:
- source: salt://kube-apiserver/initd
- user: root
- group: root
- mode: 755
{% endif %}
{% if grains.cloud is defined %}
{% if grains.cloud is defined %}
{% if grains.cloud in ['aws', 'gce', 'vagrant'] %}
{% if grains.cloud in ['aws', 'gce', 'vagrant'] %}
# TODO: generate and distribute tokens on other cloud providers.
# TODO: generate and distribute tokens on other cloud providers.
/srv/kubernetes/known_tokens.csv:
/srv/kubernetes/known_tokens.csv:
file.managed:
file.managed:
- source: salt://kube-apiserver/known_tokens.csv
- source: salt://kube-apiserver/known_tokens.csv
# - watch_in:
- user: kube-apiserver
# - service: kube-apiserver
- group: kube-apiserver
- mode: 400
- watch:
- user: kube-apiserver
- group: kube-apiserver
- watch_in:
- service: kube-apiserver
{% endif %}
{% endif %}
{% endif %}
{% endif %}
# Copy kube-apiserver manifest to manifests folder for kubelet.
kube-apiserver:
/etc/kubernetes/manifests/kube-apiserver.manifest:
group.present:
file.managed:
- system: True
- source: salt://kube-apiserver/kube-apiserver.manifest
user.present:
- template: jinja
- system: True
- user: root
- gid_from_name: True
- group: root
- groups:
- mode: 644
- kube-cert
- makedirs: true
- shell: /sbin/nologin
- dir_mode: 755
- home: /var/kube-apiserver
- require:
#stop legacy kube-apiserver service
- group: kube-apiserver
stop_kube-apiserver:
service.running:
service.dead:
- enable: True
- name: kube-apiserver
- watch:
- enable: None
- file: {{ environment_file }}
\ No newline at end of file
- file: /usr/local/bin/kube-apiserver
{% if grains['os_family'] != 'RedHat' %}
- file: /etc/init.d/kube-apiserver
{% endif %}
cluster/saltbase/salt/kube-apiserver/initd
0 → 100644
View file @
3fde9cd4
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: kube-apiserver
# Required-Start: $local_fs $network $syslog
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: The Kubernetes API server
# Description:
# The Kubernetes API server 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 API server"
NAME
=
kube-apiserver
DAEMON
=
/usr/local/bin/kube-apiserver
DAEMON_LOG_FILE
=
/var/log/
$NAME
.log
PIDFILE
=
/var/run/
$NAME
.pid
SCRIPTNAME
=
/etc/init.d/
$NAME
DAEMON_USER
=
kube-apiserver
# 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
()
{
# Raise the file descriptor limit - we expect to open a lot of sockets!
ulimit
-n
65536
# 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
cluster/saltbase/salt/kube-apiserver/kube-apiserver.service
0 → 100644
View file @
3fde9cd4
[Unit]
Description=Kubernetes API Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
[Service]
EnvironmentFile=/etc/sysconfig/kube-apiserver
ExecStart=/usr/local/bin/kube-apiserver "$DAEMON_ARGS"
Restart=on-failure
[Install]
WantedBy=multi-user.target
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment