mirror of https://github.com/k3s-io/k3s
Merge branch 'rename-to-kube' of https://github.com/eparis/kubernetes into eparis-rename-to-kube
* 'rename-to-kube' of https://github.com/eparis/kubernetes: rename kube server binaries to kube- Conflicts: docs/salt.mdpull/6/head
commit
66d287f7e4
|
@ -83,10 +83,10 @@ readonly DOCKER_DATA_MOUNT_ARGS=(
|
|||
|
||||
readonly KUBE_RUN_IMAGE_BASE="kubernetes"
|
||||
readonly KUBE_RUN_IMAGES=(
|
||||
apiserver
|
||||
controller-manager
|
||||
proxy
|
||||
scheduler
|
||||
kube-apiserver
|
||||
kube-controller-manager
|
||||
kube-proxy
|
||||
kube-scheduler
|
||||
kubelet
|
||||
bootstrap
|
||||
)
|
||||
|
|
|
@ -14,4 +14,4 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
./apiserver -address=0.0.0.0 -etcd_servers="${ETCD_SERVERS}"
|
||||
./kube-apiserver -address=0.0.0.0 -etcd_servers="${ETCD_SERVERS}"
|
||||
|
|
|
@ -31,26 +31,26 @@ containers:
|
|||
hostPort: 4001
|
||||
containerPort: 4001
|
||||
protocol: TCP
|
||||
- name: apiserver
|
||||
- name: kube-apiserver
|
||||
image: kubernetes
|
||||
imagePullPolicy: never
|
||||
ports:
|
||||
- name: apiserver-port
|
||||
- name: kube-apiserver-port
|
||||
hostPort: 8080
|
||||
containerPort: 8080
|
||||
protocol: TCP
|
||||
command: ["/kubernetes/apiserver", "-v=5", "-address=0.0.0.0", "-etcd_servers=http://127.0.0.1:4001"]
|
||||
command: ["/kubernetes/kube-apiserver", "-v=5", "-address=0.0.0.0", "-etcd_servers=http://127.0.0.1:4001"]
|
||||
- name: controller-manager
|
||||
image: kubernetes
|
||||
imagePullPolicy: never
|
||||
command: ["/kubernetes/controller-manager", "-v=5", "-master=127.0.0.1:8080", "-machines=${KUBELET_IP}"]
|
||||
command: ["/kubernetes/kube-controller-manager", "-v=5", "-master=127.0.0.1:8080", "-machines=${KUBELET_IP}"]
|
||||
- name: proxy
|
||||
image: kubernetes
|
||||
imagePullPolicy: never
|
||||
command: ["/kubernetes/proxy", "-v=5", "-etcd_servers=http://127.0.0.1:4001"]
|
||||
command: ["/kubernetes/kube-proxy", "-v=5", "-etcd_servers=http://127.0.0.1:4001"]
|
||||
- name: scheduler
|
||||
image: kubernetes
|
||||
imagePullPolicy: never
|
||||
command: ["/kubernetes/scheduler", "-v=5", "-master=127.0.0.1:8080"]
|
||||
command: ["/kubernetes/kube-scheduler", "-v=5", "-master=127.0.0.1:8080"]
|
||||
EOF
|
||||
./kubelet -v=5 -address=0.0.0.0 -hostname_override=${KUBELET_IP} -etcd_servers=http://${HOST_IP}:4001 -config pod.yaml
|
||||
|
|
|
@ -18,4 +18,4 @@
|
|||
# configuration and that we have a local minion.
|
||||
KUBE_MINIONS="${KUBE_MINIONS:-$(hostname -f)}"
|
||||
|
||||
./controller-manager -master="${API_SERVER}" --machines="${KUBE_MINIONS}"
|
||||
./kube-controller-manager -master="${API_SERVER}" --machines="${KUBE_MINIONS}"
|
||||
|
|
|
@ -14,4 +14,4 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
./proxy --etcd_servers="${ETCD_SERVERS}"
|
||||
./kube-proxy --etcd_servers="${ETCD_SERVERS}"
|
||||
|
|
|
@ -14,4 +14,4 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
./scheduler -master="${API_SERVER}"
|
||||
./kube-scheduler -master="${API_SERVER}"
|
||||
|
|
|
@ -7,8 +7,8 @@ write_files:
|
|||
#!/bin/sh
|
||||
m=$(echo $(etcdctl ls --recursive /corekube/minions | cut -d/ -f4 | sort) | tr ' ' ,)
|
||||
echo "Found $m"
|
||||
mkdir -p /run/apiserver
|
||||
echo "MINIONS=$m" > /run/apiserver/minions.env
|
||||
mkdir -p /run/kube-apiserver
|
||||
echo "MINIONS=$m" > /run/kube-apiserver/minions.env
|
||||
- path: /opt/bin/git-kubernetes-nginx.sh
|
||||
permissions: 0755
|
||||
content: |
|
||||
|
@ -75,21 +75,21 @@ coreos:
|
|||
After=download-release.service
|
||||
Requires=download-release.service
|
||||
[Service]
|
||||
EnvironmentFile=-/run/apiserver/minions.env
|
||||
ExecStartPre=/usr/bin/ln -sf /opt/kubernetes/server/bin/apiserver /opt/bin/apiserver
|
||||
ExecStart=/opt/bin/apiserver --address=127.0.0.1 --port=8080 --etcd_servers=http://127.0.0.1:4001 --portal_net=PORTAL_NET --logtostderr=true
|
||||
EnvironmentFile=-/run/kube-apiserver/minions.env
|
||||
ExecStartPre=/usr/bin/ln -sf /opt/kubernetes/server/bin/kube-apiserver /opt/bin/kube-apiserver
|
||||
ExecStart=/opt/bin/kube-apiserver --address=127.0.0.1 --port=8080 --etcd_servers=http://127.0.0.1:4001 --portal_net=PORTAL_NET --logtostderr=true
|
||||
Restart=always
|
||||
RestartSec=2
|
||||
- name: master-apiserver-sighup.path
|
||||
command: start
|
||||
content: |
|
||||
[Path]
|
||||
PathChanged=/run/apiserver/minions.env
|
||||
PathChanged=/run/kube-apiserver/minions.env
|
||||
- name: master-apiserver-sighup.service
|
||||
command: start
|
||||
content: |
|
||||
[Service]
|
||||
ExecStart=/usr/bin/pkill -SIGHUP -f apiserver
|
||||
ExecStart=/usr/bin/pkill -SIGHUP -f kube-apiserver
|
||||
- name: minion-finder.service
|
||||
command: start
|
||||
content: |
|
||||
|
@ -115,8 +115,8 @@ coreos:
|
|||
After=master-apiserver.service
|
||||
Requires=master-apiserver.service
|
||||
[Service]
|
||||
ExecStartPre=/usr/bin/ln -sf /opt/kubernetes/server/bin/controller-manager /opt/bin/controller-manager
|
||||
ExecStart=/opt/bin/controller-manager --master=127.0.0.1:8080 --machines=${MINIONS} --logtostderr=true
|
||||
ExecStartPre=/usr/bin/ln -sf /opt/kubernetes/server/bin/kube-controller-manager /opt/bin/kube-controller-manager
|
||||
ExecStart=/opt/bin/kube-controller-manager --master=127.0.0.1:8080 --machines=${MINIONS} --logtostderr=true
|
||||
Restart=always
|
||||
RestartSec=2
|
||||
- name: master-scheduler.service
|
||||
|
@ -130,8 +130,8 @@ coreos:
|
|||
After=master-apiserver.service
|
||||
Requires=master-apiserver.service
|
||||
[Service]
|
||||
ExecStartPre=/usr/bin/ln -sf /opt/kubernetes/server/bin/scheduler /opt/bin/scheduler
|
||||
ExecStart=/opt/bin/scheduler --master=127.0.0.1:8080 --logtostderr=true
|
||||
ExecStartPre=/usr/bin/ln -sf /opt/kubernetes/server/bin/kube-scheduler /opt/bin/kube-scheduler
|
||||
ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080 --logtostderr=true
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
#Running nginx service with --net="host" is a necessary evil until running all k8s services in docker.
|
||||
|
|
|
@ -119,8 +119,8 @@ coreos:
|
|||
After=download-release.service
|
||||
Requires=download-release.service
|
||||
[Service]
|
||||
ExecStartPre=/usr/bin/ln -sf /opt/kubernetes/server/bin/proxy /opt/bin/proxy
|
||||
ExecStart=/opt/bin/proxy --bind_address=$private_ipv4 --etcd_servers=http://127.0.0.1:4001 --logtostderr=true
|
||||
ExecStartPre=/usr/bin/ln -sf /opt/kubernetes/server/bin/kube-proxy /opt/bin/kube-proxy
|
||||
ExecStart=/opt/bin/kube-proxy --bind_address=$private_ipv4 --etcd_servers=http://127.0.0.1:4001 --logtostderr=true
|
||||
Restart=always
|
||||
RestartSec=2
|
||||
- name: minion-advertiser.service
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
{% if grains['os_family'] == 'RedHat' %}
|
||||
{% set environment_file = '/etc/sysconfig/apiserver' %}
|
||||
{% set environment_file = '/etc/sysconfig/kube-apiserver' %}
|
||||
{% else %}
|
||||
{% set environment_file = '/etc/default/apiserver' %}
|
||||
{% set environment_file = '/etc/default/kube-apiserver' %}
|
||||
{% endif %}
|
||||
|
||||
{{ environment_file }}:
|
||||
file.managed:
|
||||
- source: salt://apiserver/default
|
||||
- source: salt://kube-apiserver/default
|
||||
- template: jinja
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 644
|
||||
|
||||
/usr/local/bin/apiserver:
|
||||
/usr/local/bin/kube-apiserver:
|
||||
file.managed:
|
||||
- source: salt://kube-bins/apiserver
|
||||
- source: salt://kube-bins/kube-apiserver
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 755
|
||||
|
||||
{% if grains['os_family'] == 'RedHat' %}
|
||||
|
||||
/usr/lib/systemd/system/apiserver.service:
|
||||
/usr/lib/systemd/system/kube-apiserver.service:
|
||||
file.managed:
|
||||
- source: salt://apiserver/apiserver.service
|
||||
- source: salt://kube-apiserver/kube-apiserver.service
|
||||
- user: root
|
||||
- group: root
|
||||
|
||||
{% else %}
|
||||
|
||||
/etc/init.d/apiserver:
|
||||
/etc/init.d/kube-apiserver:
|
||||
file.managed:
|
||||
- source: salt://apiserver/initd
|
||||
- source: salt://kube-apiserver/initd
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 755
|
||||
|
||||
{% endif %}
|
||||
|
||||
apiserver:
|
||||
kube-apiserver:
|
||||
group.present:
|
||||
- system: True
|
||||
user.present:
|
||||
|
@ -47,14 +47,14 @@ apiserver:
|
|||
- groups:
|
||||
- kube-cert
|
||||
- shell: /sbin/nologin
|
||||
- home: /var/apiserver
|
||||
- home: /var/kube-apiserver
|
||||
- require:
|
||||
- group: apiserver
|
||||
- group: kube-apiserver
|
||||
service.running:
|
||||
- enable: True
|
||||
- watch:
|
||||
- file: {{ environment_file }}
|
||||
- file: /usr/local/bin/apiserver
|
||||
- file: /usr/local/bin/kube-apiserver
|
||||
{% if grains['os_family'] != 'RedHat' %}
|
||||
- file: /etc/init.d/apiserver
|
||||
- file: /etc/init.d/kube-apiserver
|
||||
{% endif %}
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: apiserver
|
||||
# Provides: kube-apiserver
|
||||
# Required-Start: $local_fs $network $syslog
|
||||
# Required-Stop:
|
||||
# Default-Start: 2 3 4 5
|
||||
|
@ -15,12 +15,12 @@
|
|||
# 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=apiserver
|
||||
DAEMON=/usr/local/bin/apiserver
|
||||
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=apiserver
|
||||
DAEMON_USER=kube-apiserver
|
||||
|
||||
# Exit if the package is not installed
|
||||
[ -x "$DAEMON" ] || exit 0
|
|
@ -3,8 +3,8 @@ Description=Kubernetes API Server
|
|||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/sysconfig/apiserver
|
||||
ExecStart=/usr/local/bin/apiserver "$DAEMON_ARGS"
|
||||
EnvironmentFile=/etc/sysconfig/kube-apiserver
|
||||
ExecStart=/usr/local/bin/kube-apiserver "$DAEMON_ARGS"
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -1,60 +1,60 @@
|
|||
{% if grains['os_family'] == 'RedHat' %}
|
||||
{% set environment_file = '/etc/sysconfig/controller-manager' %}
|
||||
{% set environment_file = '/etc/sysconfig/kube-controller-manager' %}
|
||||
{% else %}
|
||||
{% set environment_file = '/etc/default/controller-manager' %}
|
||||
{% set environment_file = '/etc/default/kube-controller-manager' %}
|
||||
{% endif %}
|
||||
|
||||
{{ environment_file }}:
|
||||
file.managed:
|
||||
- source: salt://controller-manager/default
|
||||
- source: salt://kube-controller-manager/default
|
||||
- template: jinja
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 644
|
||||
|
||||
/usr/local/bin/controller-manager:
|
||||
/usr/local/bin/kube-controller-manager:
|
||||
file.managed:
|
||||
- source: salt://kube-bins/controller-manager
|
||||
- source: salt://kube-bins/kube-controller-manager
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 755
|
||||
|
||||
{% if grains['os_family'] == 'RedHat' %}
|
||||
|
||||
/usr/lib/systemd/system/controller-manager.service:
|
||||
/usr/lib/systemd/system/kube-controller-manager.service:
|
||||
file.managed:
|
||||
- source: salt://controller-manager/controller-manager.service
|
||||
- source: salt://kube-controller-manager/kube-controller-manager.service
|
||||
- user: root
|
||||
- group: root
|
||||
|
||||
{% else %}
|
||||
|
||||
/etc/init.d/controller-manager:
|
||||
/etc/init.d/kube-controller-manager:
|
||||
file.managed:
|
||||
- source: salt://controller-manager/initd
|
||||
- source: salt://kube-controller-manager/initd
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 755
|
||||
|
||||
{% endif %}
|
||||
|
||||
controller-manager:
|
||||
kube-controller-manager:
|
||||
group.present:
|
||||
- system: True
|
||||
user.present:
|
||||
- system: True
|
||||
- gid_from_name: True
|
||||
- shell: /sbin/nologin
|
||||
- home: /var/controller-manager
|
||||
- home: /var/kube-controller-manager
|
||||
- require:
|
||||
- group: controller-manager
|
||||
- group: kube-controller-manager
|
||||
service.running:
|
||||
- enable: True
|
||||
- watch:
|
||||
- file: /usr/local/bin/controller-manager
|
||||
- file: /usr/local/bin/kube-controller-manager
|
||||
- file: {{ environment_file }}
|
||||
{% if grains['os_family'] != 'RedHat' %}
|
||||
- file: /etc/init.d/controller-manager
|
||||
- file: /etc/init.d/kube-controller-manager
|
||||
{% endif %}
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: controller-manager
|
||||
# Provides: kube-controller-manager
|
||||
# Required-Start: $local_fs $network $syslog
|
||||
# Required-Stop:
|
||||
# Default-Start: 2 3 4 5
|
||||
|
@ -16,13 +16,13 @@
|
|||
# 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=controller-manager
|
||||
DAEMON=/usr/local/bin/controller-manager
|
||||
NAME=kube-controller-manager
|
||||
DAEMON=/usr/local/bin/kube-controller-manager
|
||||
DAEMON_ARGS=""
|
||||
DAEMON_LOG_FILE=/var/log/$NAME.log
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
SCRIPTNAME=/etc/init.d/$NAME
|
||||
DAEMON_USER=controller-manager
|
||||
DAEMON_USER=kube-controller-manager
|
||||
|
||||
# Exit if the package is not installed
|
||||
[ -x "$DAEMON" ] || exit 0
|
|
@ -5,7 +5,7 @@ Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
|||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=-/etc/sysconfig/controller-manager
|
||||
ExecStart=/usr/local/bin/controller-manager "$DAEMON_ARGS"
|
||||
ExecStart=/usr/local/bin/kube-controller-manager "$DAEMON_ARGS"
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
/usr/local/bin/kube-proxy:
|
||||
file.managed:
|
||||
- source: salt://kube-bins/proxy
|
||||
- source: salt://kube-bins/kube-proxy
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 755
|
||||
|
|
|
@ -1,60 +1,60 @@
|
|||
{% if grains['os_family'] == 'RedHat' %}
|
||||
{% set environment_file = '/etc/sysconfig/scheduler' %}
|
||||
{% set environment_file = '/etc/sysconfig/kube-scheduler' %}
|
||||
{% else %}
|
||||
{% set environment_file = '/etc/default/scheduler' %}
|
||||
{% set environment_file = '/etc/default/kube-scheduler' %}
|
||||
{% endif %}
|
||||
|
||||
{{ environment_file }}:
|
||||
file.managed:
|
||||
- source: salt://scheduler/default
|
||||
- source: salt://kube-scheduler/default
|
||||
- template: jinja
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 644
|
||||
|
||||
/usr/local/bin/scheduler:
|
||||
/usr/local/bin/kube-scheduler:
|
||||
file.managed:
|
||||
- source: salt://kube-bins/scheduler
|
||||
- source: salt://kube-bins/kube-scheduler
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 755
|
||||
|
||||
{% if grains['os_family'] == 'RedHat' %}
|
||||
|
||||
/usr/lib/systemd/system/scheduler.service:
|
||||
/usr/lib/systemd/system/kube-scheduler.service:
|
||||
file.managed:
|
||||
- source: salt://scheduler/scheduler.service
|
||||
- source: salt://kube-scheduler/kube-scheduler.service
|
||||
- user: root
|
||||
- group: root
|
||||
|
||||
{% else %}
|
||||
|
||||
/etc/init.d/scheduler:
|
||||
/etc/init.d/kube-scheduler:
|
||||
file.managed:
|
||||
- source: salt://scheduler/initd
|
||||
- source: salt://kube-scheduler/initd
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 755
|
||||
|
||||
{% endif %}
|
||||
|
||||
scheduler:
|
||||
kube-scheduler:
|
||||
group.present:
|
||||
- system: True
|
||||
user.present:
|
||||
- system: True
|
||||
- gid_from_name: True
|
||||
- shell: /sbin/nologin
|
||||
- home: /var/scheduler
|
||||
- home: /var/kube-scheduler
|
||||
- require:
|
||||
- group: scheduler
|
||||
- group: kube-scheduler
|
||||
service.running:
|
||||
- enable: True
|
||||
- watch:
|
||||
- file: /usr/local/bin/scheduler
|
||||
- file: /usr/local/bin/kube-scheduler
|
||||
- file: {{ environment_file }}
|
||||
{% if grains['os_family'] != 'RedHat' %}
|
||||
- file: /etc/init.d/scheduler
|
||||
- file: /etc/init.d/kube-scheduler
|
||||
{% endif %}
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: scheduler
|
||||
# Provides: kube-scheduler
|
||||
# Required-Start: $local_fs $network $syslog
|
||||
# Required-Stop:
|
||||
# Default-Start: 2 3 4 5
|
||||
|
@ -16,13 +16,13 @@
|
|||
# PATH should only include /usr/* if it runs after the mountnfs.sh script
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
DESC="The Kubernetes scheduler plugin"
|
||||
NAME=scheduler
|
||||
DAEMON=/usr/local/bin/scheduler
|
||||
NAME=kube-scheduler
|
||||
DAEMON=/usr/local/bin/kube-scheduler
|
||||
DAEMON_ARGS=" --master=127.0.0.1:8080"
|
||||
DAEMON_LOG_FILE=/var/log/$NAME.log
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
SCRIPTNAME=/etc/init.d/$NAME
|
||||
DAEMON_USER=scheduler
|
||||
DAEMON_USER=kube-scheduler
|
||||
|
||||
# Exit if the package is not installed
|
||||
[ -x "$DAEMON" ] || exit 0
|
|
@ -2,7 +2,7 @@ logrotate:
|
|||
pkg:
|
||||
- installed
|
||||
|
||||
{% set logrotate_files = ['scheduler', 'kube-proxy', 'kubelet', 'apiserver', 'controller-manager'] %}
|
||||
{% set logrotate_files = ['kube-scheduler', 'kube-proxy', 'kubelet', 'kube-apiserver', 'kube-controller-manager'] %}
|
||||
{% for file in logrotate_files %}
|
||||
/etc/logrotate.d/{{ file }}:
|
||||
file:
|
||||
|
|
|
@ -28,9 +28,9 @@ base:
|
|||
- match: grain
|
||||
- generate-cert
|
||||
- etcd
|
||||
- apiserver
|
||||
- controller-manager
|
||||
- scheduler
|
||||
- kube-apiserver
|
||||
- kube-controller-manager
|
||||
- kube-scheduler
|
||||
- nginx
|
||||
- kube-client-tools
|
||||
- logrotate
|
||||
|
|
|
@ -74,7 +74,7 @@ EOF
|
|||
# verify master has all required daemons
|
||||
echo "Validating master"
|
||||
local machine="master"
|
||||
local -a required_daemon=("salt-master" "salt-minion" "apiserver" "nginx" "controller-manager" "scheduler")
|
||||
local -a required_daemon=("salt-master" "salt-minion" "kube-apiserver" "nginx" "kube-controller-manager" "kube-scheduler")
|
||||
local validated="1"
|
||||
until [[ "$validated" == "0" ]]; do
|
||||
validated="0"
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# . kubecfg
|
||||
#
|
||||
# Note:
|
||||
# Currently, the completions will not work if the apiserver daemon is not
|
||||
# Currently, the completions will not work if the kube-apiserver daemon is not
|
||||
# running on localhost on the standard port 8080
|
||||
|
||||
__contains_word () {
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# . kubectl
|
||||
#
|
||||
# Note:
|
||||
# Currently, the completions will not work if the apiserver daemon is not
|
||||
# Currently, the completions will not work if the kube-apiserver daemon is not
|
||||
# running on localhost on the standard port 8080
|
||||
|
||||
__contains_word()
|
||||
|
|
|
@ -6,7 +6,7 @@ other via 127.0.0.1.
|
|||
|
||||
They require that etcd be available at 127.0.0.1:4001.
|
||||
|
||||
Daemons may have multiple config files. An example is that the scheduler will pull in 'config', 'apiserver', and 'scheduler'. In that order. Each file may overwrite the values of the previous file. The 'config' file is sourced by all daemons. The apiserver config file is sourced by those daemons which must know how to reach the apiserver. Each daemon has its own config file for configuration specific to that daemon.
|
||||
Daemons may have multiple config files. An example is that the scheduler will pull in 'config', 'apiserver', and 'scheduler'. In that order. Each file may overwrite the values of the previous file. The 'config' file is sourced by all daemons. The kube-apiserver config file is sourced by those daemons which must know how to reach the kube-apiserver. Each daemon has its own config file for configuration specific to that daemon.
|
||||
|
||||
Commenting out all values or removing all environment files will launch the daemons with no command line options.
|
||||
|
||||
|
@ -14,11 +14,9 @@ Assumptions of the service files
|
|||
--------------------------------
|
||||
|
||||
1. All binaries live in /usr/bin.
|
||||
2. All binaries (except kubelet) are prefixed with kube-
|
||||
* Ex. the apiserver binary should be /usr/bin/kube-apiserver
|
||||
3. There is a user named 'kube' on the system.
|
||||
* apiserver, controller-manager, and scheduler are run as kube, not root
|
||||
4. Configuration is done in via environment files in /etc/kubernetes/
|
||||
2. There is a user named 'kube' on the system.
|
||||
* kube-apiserver, kube-controller-manager, and kube-scheduler are run as kube, not root
|
||||
3. Configuration is done in via environment files in /etc/kubernetes/
|
||||
|
||||
Non kubernetes defaults in the environment files
|
||||
------------------------------------------------
|
||||
|
@ -31,6 +29,6 @@ Notes
|
|||
-----
|
||||
It may seem reasonable to use --option=${OPTION} in the .service file instead of only putting the command line option in the environment file. However this results in the possiblity of daemons being called with --option= if the environment file does not define a value. Whereas including the --option string inside the environment file means that nothing will be passed to the daemon. So the daemon default will be used for things unset by the environment files.
|
||||
|
||||
While some command line options to the daemons use the default when passed an empty option some cause the daemon to fail to launch. --allow_privileged= (without a value of true/false) will cause the apiserver and kubelet to refuse to launch.
|
||||
While some command line options to the daemons use the default when passed an empty option some cause the daemon to fail to launch. --allow_privileged= (without a value of true/false) will cause the kube-apiserver and kubelet to refuse to launch.
|
||||
|
||||
It also may seem reasonable to just use ${DAEMON_ARGS} and string all of these into one line in the environment file. While that makes the .service file simple it makes the admin job more difficult to locate and make appropriate changes to the config. This is a tradeoff between having to update the .service file to add new options or having the config files easy for an admin to work with. I choose: "easy for adminmost of the time".
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# kubernetes system config
|
||||
#
|
||||
# The following values are used to configure the kubernetes-apiserver
|
||||
# The following values are used to configure the kube-apiserver
|
||||
#
|
||||
|
||||
# The address on the local server to listen to.
|
||||
|
@ -10,7 +10,7 @@ KUBE_API_ADDRESS="--address=127.0.0.1"
|
|||
# The port on the local server to listen on.
|
||||
KUBE_API_PORT="--port=8080"
|
||||
|
||||
# How the replication controller and scheduler find the apiserver
|
||||
# How the replication controller and scheduler find the kube-apiserver
|
||||
KUBE_MASTER="--master=127.0.0.1:8080"
|
||||
|
||||
# Port minions listen on
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
# The following values are used to configure various aspects of all
|
||||
# kubernetes services, including
|
||||
#
|
||||
# kubernetes-apiserver.service
|
||||
# kubernetes-controller-manager.service
|
||||
# kubernetes-scheduler.service
|
||||
# kube-apiserver.service
|
||||
# kube-controller-manager.service
|
||||
# kube-scheduler.service
|
||||
# kubelet.service
|
||||
# kubernetes-proxy.service
|
||||
# kube-proxy.service
|
||||
|
||||
# Comma seperated list of nodes in the etcd cluster
|
||||
KUBE_ETCD_SERVERS="--etcd_servers=http://127.0.0.1:4001"
|
||||
|
|
|
@ -20,10 +20,10 @@ First, create your kube-apiserver.service file (change necessary variables)
|
|||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/network-environment
|
||||
ExecStartPre=/usr/bin/rm /opt/bin/apiserver
|
||||
ExecStartPre=/usr/bin/wget -P /opt/bin https://path/to/apiserver/binary
|
||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/apiserver
|
||||
ExecStart=/opt/bin/apiserver \
|
||||
ExecStartPre=/usr/bin/rm /opt/bin/kube-apiserver
|
||||
ExecStartPre=/usr/bin/wget -P /opt/bin https://path/to/kube-apiserver/binary
|
||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver
|
||||
ExecStart=/opt/bin/kube-apiserver \
|
||||
-address=0.0.0.0 \
|
||||
-port=8080 \
|
||||
-etcd_servers=http://10.1.10.10:4001
|
||||
|
@ -103,4 +103,4 @@ That's it! Fleet will schedule the apiserver on one of your minions and once it'
|
|||
###Questions
|
||||
twitter @jeefy
|
||||
|
||||
irc.freenode.net #kubernetes jeefy
|
||||
irc.freenode.net #kubernetes jeefy
|
||||
|
|
|
@ -44,9 +44,9 @@ coreos:
|
|||
After=etcd.service
|
||||
|
||||
[Service]
|
||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/apiserver
|
||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/apiserver
|
||||
ExecStart=/opt/bin/apiserver \
|
||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/kube-apiserver
|
||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver
|
||||
ExecStart=/opt/bin/kube-apiserver \
|
||||
--address=0.0.0.0 \
|
||||
--port=8080 \
|
||||
--etcd_servers=http://127.0.0.1:4001 \
|
||||
|
@ -63,9 +63,9 @@ coreos:
|
|||
After=kube-apiserver.service
|
||||
|
||||
[Service]
|
||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/controller-manager
|
||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/controller-manager
|
||||
ExecStart=/opt/bin/controller-manager \
|
||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/kube-controller-manager
|
||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager
|
||||
ExecStart=/opt/bin/kube-controller-manager \
|
||||
--master=127.0.0.1:8080 \
|
||||
--logtostderr=true
|
||||
Restart=always
|
||||
|
@ -80,9 +80,9 @@ coreos:
|
|||
After=kube-apiserver.service
|
||||
|
||||
[Service]
|
||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/scheduler
|
||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/scheduler
|
||||
ExecStart=/opt/bin/scheduler --master=127.0.0.1:8080
|
||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/kube-scheduler
|
||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler
|
||||
ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
- name: kube-register.service
|
||||
|
|
|
@ -155,9 +155,9 @@
|
|||
" Requires=etcd.service\n",
|
||||
" After=etcd.service\n\n",
|
||||
" [Service]\n",
|
||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/apiserver\n",
|
||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/apiserver\n",
|
||||
" ExecStart=/opt/bin/apiserver \\\n",
|
||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/kube-apiserver\n",
|
||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver\n",
|
||||
" ExecStart=/opt/bin/kube-apiserver \\\n",
|
||||
" --address=0.0.0.0 \\\n",
|
||||
" --port=8080 \\\n",
|
||||
" --etcd_servers=http://127.0.0.1:4001 \\\n",
|
||||
|
@ -173,9 +173,9 @@
|
|||
" Requires=kube-apiserver.service\n",
|
||||
" After=kube-apiserver.service\n\n",
|
||||
" [Service]\n",
|
||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/controller-manager\n",
|
||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/controller-manager\n",
|
||||
" ExecStart=/opt/bin/controller-manager \\\n",
|
||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/kube-controller-manager\n",
|
||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager\n",
|
||||
" ExecStart=/opt/bin/kube-controller-manager \\\n",
|
||||
" --master=127.0.0.1:8080 \\\n",
|
||||
" --logtostderr=true\n",
|
||||
" Restart=always\n",
|
||||
|
@ -189,9 +189,9 @@
|
|||
" Requires=kube-apiserver.service\n",
|
||||
" After=kube-apiserver.service\n\n",
|
||||
" [Service]\n",
|
||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/scheduler\n",
|
||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/scheduler\n",
|
||||
" ExecStart=/opt/bin/scheduler --master=127.0.0.1:8080\n",
|
||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/kube-scheduler\n",
|
||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler\n",
|
||||
" ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080\n",
|
||||
" Restart=always\n",
|
||||
" RestartSec=10\n",
|
||||
" - name: kube-proxy.service\n",
|
||||
|
|
|
@ -79,43 +79,44 @@ coreos:
|
|||
content: |
|
||||
[Unit]
|
||||
After=network-online.target
|
||||
Before=apiserver.service
|
||||
Before=controller-manager.service
|
||||
Before=kube-apiserver.service
|
||||
Before=kube-controller-manager.service
|
||||
Before=kubelet.service
|
||||
Before=proxy.service
|
||||
Before=kube-proxy.service
|
||||
Before=kube-scheduler.service
|
||||
Description=Download Kubernetes Binaries
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Requires=network-online.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/apiserver
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/controller-manager
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-apiserver
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-controller-manager
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kubecfg
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kubelet
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/proxy
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/scheduler
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/apiserver
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/controller-manager
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-proxy
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-scheduler
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-apiserver
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-controller-manager
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kubecfg
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kubelet
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/proxy
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/scheduler
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-proxy
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-scheduler
|
||||
RemainAfterExit=yes
|
||||
Type=oneshot
|
||||
- name: apiserver.service
|
||||
- name: kube-apiserver.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
After=etcd.service
|
||||
After=download-kubernetes.service
|
||||
ConditionFileIsExecutable=/opt/bin/apiserver
|
||||
ConditionFileIsExecutable=/opt/bin/kube-apiserver
|
||||
Description=Kubernetes API Server
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Wants=etcd.service
|
||||
Wants=download-kubernetes.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/apiserver \
|
||||
ExecStart=/opt/bin/kube-apiserver \
|
||||
--address=127.0.0.1 \
|
||||
--port=8080 \
|
||||
--etcd_servers=http://127.0.0.1:4001 \
|
||||
|
@ -125,19 +126,19 @@ coreos:
|
|||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: scheduler.service
|
||||
- name: kube-scheduler.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
After=apiserver.service
|
||||
After=kube-apiserver.service
|
||||
After=download-kubernetes.service
|
||||
ConditionFileIsExecutable=/opt/bin/scheduler
|
||||
ConditionFileIsExecutable=/opt/bin/kube-scheduler
|
||||
Description=Kubernetes Scheduler
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Wants=apiserver.service
|
||||
Wants=kube-apiserver.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/scheduler \
|
||||
ExecStart=/opt/bin/kube-scheduler \
|
||||
--logtostderr=true \
|
||||
--master=127.0.0.1:8080
|
||||
Restart=always
|
||||
|
@ -145,20 +146,20 @@ coreos:
|
|||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: controller-manager.service
|
||||
- name: kube-controller-manager.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
After=etcd.service
|
||||
After=download-kubernetes.service
|
||||
ConditionFileIsExecutable=/opt/bin/controller-manager
|
||||
ConditionFileIsExecutable=/opt/bin/kube-controller-manager
|
||||
Description=Kubernetes Controller Manager
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Wants=etcd.service
|
||||
Wants=download-kubernetes.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/controller-manager \
|
||||
ExecStart=/opt/bin/kube-controller-manager \
|
||||
--master=127.0.0.1:8080 \
|
||||
--machines=192.168.12.10,192.168.12.11,192.168.12.12 \
|
||||
--logtostderr=true
|
||||
|
@ -191,20 +192,20 @@ coreos:
|
|||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: proxy.service
|
||||
- name: kube-proxy.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
After=etcd.service
|
||||
After=download-kubernetes.service
|
||||
ConditionFileIsExecutable=/opt/bin/proxy
|
||||
ConditionFileIsExecutable=/opt/bin/kube-proxy
|
||||
Description=Kubernetes Proxy
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Wants=etcd.service
|
||||
Wants=download-kubernetes.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/proxy --etcd_servers=http://127.0.0.1:4001 --logtostderr=true
|
||||
ExecStart=/opt/bin/kube-proxy --etcd_servers=http://127.0.0.1:4001 --logtostderr=true
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
|
|
|
@ -12,39 +12,40 @@ coreos:
|
|||
content: |
|
||||
[Unit]
|
||||
After=network-online.target
|
||||
Before=apiserver.service
|
||||
Before=controller-manager.service
|
||||
Before=kube-apiserver.service
|
||||
Before=kube-controller-manager.service
|
||||
Before=kubelet.service
|
||||
Before=proxy.service
|
||||
Before=kube-proxy.service
|
||||
Before=kube-scheduler.service
|
||||
Description=Download Kubernetes Binaries
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Requires=network-online.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/apiserver
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/controller-manager
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-apiserver
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-controller-manager
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kubecfg
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kubelet
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/proxy
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/scheduler
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/apiserver
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/controller-manager
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-proxy
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-scheduler
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-apiserver
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-controller-manager
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kubecfg
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kubelet
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/proxy
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/scheduler
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-proxy
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-scheduler
|
||||
RemainAfterExit=yes
|
||||
Type=oneshot
|
||||
- name: apiserver.service
|
||||
- name: kube-apiserver.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
ConditionFileIsExecutable=/opt/bin/apiserver
|
||||
ConditionFileIsExecutable=/opt/bin/kube-apiserver
|
||||
Description=Kubernetes API Server
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/apiserver \
|
||||
ExecStart=/opt/bin/kube-apiserver \
|
||||
--address=127.0.0.1 \
|
||||
--port=8080 \
|
||||
--etcd_servers=http://127.0.0.1:4001 \
|
||||
|
@ -54,19 +55,19 @@ coreos:
|
|||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: scheduler.service
|
||||
- name: kube-scheduler.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
After=apiserver.service
|
||||
After=kube-apiserver.service
|
||||
After=download-kubernetes.service
|
||||
ConditionFileIsExecutable=/opt/bin/scheduler
|
||||
ConditionFileIsExecutable=/opt/bin/kube-scheduler
|
||||
Description=Kubernetes Scheduler
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Wants=apiserver.service
|
||||
Wants=kube-apiserver.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/scheduler \
|
||||
ExecStart=/opt/bin/kube-scheduler \
|
||||
--logtostderr=true \
|
||||
--master=127.0.0.1:8080
|
||||
Restart=always
|
||||
|
@ -74,16 +75,16 @@ coreos:
|
|||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: controller-manager.service
|
||||
- name: kube-controller-manager.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
ConditionFileIsExecutable=/opt/bin/controller-manager
|
||||
ConditionFileIsExecutable=/opt/bin/kube-controller-manager
|
||||
Description=Kubernetes Controller Manager
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/controller-manager \
|
||||
ExecStart=/opt/bin/kube-controller-manager \
|
||||
--master=127.0.0.1:8080 \
|
||||
--machines=127.0.0.1 \
|
||||
--logtostderr=true
|
||||
|
@ -112,16 +113,16 @@ coreos:
|
|||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- name: proxy.service
|
||||
- name: kube-proxy.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
ConditionFileIsExecutable=/opt/bin/proxy
|
||||
ConditionFileIsExecutable=/opt/bin/kube-proxy
|
||||
Description=Kubernetes Proxy
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/proxy --etcd_servers=http://127.0.0.1:4001 --logtostderr=true
|
||||
ExecStart=/opt/bin/kube-proxy --etcd_servers=http://127.0.0.1:4001 --logtostderr=true
|
||||
Restart=on-failure
|
||||
RestartSec=1
|
||||
|
||||
|
|
|
@ -22,11 +22,11 @@ sudo cp kubernetes/docs/getting-started-guides/coreos/units/* /etc/systemd/syste
|
|||
### Start the Kubernetes services
|
||||
|
||||
```
|
||||
sudo systemctl start apiserver
|
||||
sudo systemctl start scheduler
|
||||
sudo systemctl start controller-manager
|
||||
sudo systemctl start kube-apiserver
|
||||
sudo systemctl start kube-scheduler
|
||||
sudo systemctl start kube-controller-manager
|
||||
sudo systemctl start kubelet
|
||||
sudo systemctl start proxy
|
||||
sudo systemctl start kube-proxy
|
||||
```
|
||||
|
||||
### Running commands remotely
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
[Unit]
|
||||
After=network-online.target
|
||||
Before=apiserver.service
|
||||
Before=controller-manager.service
|
||||
Before=kube-apiserver.service
|
||||
Before=kube-controller-manager.service
|
||||
Before=kubelet.service
|
||||
Before=proxy.service
|
||||
Before=kube-proxy.service
|
||||
Description=Download Kubernetes Binaries
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Requires=network-online.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/apiserver
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/controller-manager
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-apiserver
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-controller-manager
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kubecfg
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kubelet
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/proxy
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/apiserver
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/controller-manager
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/kubernetes/kube-proxy
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-apiserver
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-controller-manager
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kubecfg
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kubelet
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/proxy
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kube-proxy
|
||||
RemainAfterExit=yes
|
||||
Type=oneshot
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
[Unit]
|
||||
ConditionFileIsExecutable=/opt/bin/apiserver
|
||||
ConditionFileIsExecutable=/opt/bin/kube-apiserver
|
||||
Description=Kubernetes API Server
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/apiserver \
|
||||
ExecStart=/opt/bin/kube-apiserver \
|
||||
--address=127.0.0.1 \
|
||||
--port=8080 \
|
||||
--etcd_servers=http://127.0.0.1:4001 \
|
|
@ -1,10 +1,10 @@
|
|||
[Unit]
|
||||
ConditionFileIsExecutable=/opt/bin/controller-manager
|
||||
ConditionFileIsExecutable=/opt/bin/kube-controller-manager
|
||||
Description=Kubernetes Controller Manager
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/controller-manager \
|
||||
ExecStart=/opt/bin/kube-controller-manager \
|
||||
--master=127.0.0.1:8080 \
|
||||
--machines=127.0.0.1 \
|
||||
--etcd_servers=http://127.0.0.1:4001 \
|
|
@ -1,10 +1,10 @@
|
|||
[Unit]
|
||||
ConditionFileIsExecutable=/opt/bin/proxy
|
||||
ConditionFileIsExecutable=/opt/bin/kube-proxy
|
||||
Description=Kubernetes Proxy
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/proxy --etcd_servers=http://127.0.0.1:4001 --logtostderr=true
|
||||
ExecStart=/opt/bin/kube-proxy --etcd_servers=http://127.0.0.1:4001 --logtostderr=true
|
||||
Restart=on-failure
|
||||
RestartSec=1
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
[Unit]
|
||||
After=apiserver.service
|
||||
ConditionFileIsExecutable=/opt/bin/scheduler
|
||||
After=kube-apiserver.service
|
||||
ConditionFileIsExecutable=/opt/bin/kube-scheduler
|
||||
Description=Kubernetes Scheduler
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Wants=apiserver.service
|
||||
Wants=kube-apiserver.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/bin/scheduler \
|
||||
ExecStart=/opt/bin/kube-scheduler \
|
||||
--logtostderr=true \
|
||||
--master=127.0.0.1:8080
|
||||
Restart=always
|
|
@ -10,7 +10,7 @@ The guide is broken into 3 sections:
|
|||
2. Configuring the two hosts, a master and a minion.
|
||||
3. Basic functionality test.
|
||||
|
||||
The kubernetes package provides a few services: apiserver, scheduler, controller, kubelet, proxy. These services are managed by systemd and the configuration resides in a central location: /etc/kubernetes. We will break the services up between the hosts. The first host, fed-master, will be the kubernetes master. This host will run the apiserver, controller, and scheduler. In addition, the master will also run _etcd_. The remaining host, fed-minion will be the minion and run kubelet, proxy, cadvisor and docker.
|
||||
The kubernetes package provides a few services: kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy. These services are managed by systemd and the configuration resides in a central location: /etc/kubernetes. We will break the services up between the hosts. The first host, fed-master, will be the kubernetes master. This host will run the kube-apiserver, kube-controller-manager, and kube-scheduler. In addition, the master will also run _etcd_. The remaining host, fed-minion will be the minion and run kubelet, proxy, cadvisor and docker.
|
||||
|
||||
**System Information:**
|
||||
|
||||
|
@ -54,11 +54,11 @@ echo "192.168.121.9 fed-master
|
|||
# The following values are used to configure various aspects of all
|
||||
# kubernetes services, including
|
||||
#
|
||||
# kubernetes-apiserver.service
|
||||
# kubernetes-controller-manager.service
|
||||
# kubernetes-scheduler.service
|
||||
# kube-apiserver.service
|
||||
# kube-controller-manager.service
|
||||
# kube-scheduler.service
|
||||
# kubelet.service
|
||||
# kubernetes-proxy.service
|
||||
# kube-proxy.service
|
||||
|
||||
# Comma seperated list of nodes in the etcd cluster
|
||||
KUBE_ETCD_SERVERS="--etcd_servers=http://fed-master:4001"
|
||||
|
@ -82,7 +82,7 @@ systemctl stop iptables-services firewalld
|
|||
|
||||
**Configure the kubernetes services on the master.**
|
||||
|
||||
***For this you need to configure the apiserver. The apiserver, controller-manager, and scheduler along with the etcd, will need to be started***
|
||||
***For this you need to configure the kube-apiserver. The kube-apiserver, kube-controller-manager, and kube-scheduler along with the etcd, will need to be started***
|
||||
|
||||
* Edit /etc/kubernetes/apiserver to appear as such:
|
||||
|
||||
|
@ -90,7 +90,7 @@ systemctl stop iptables-services firewalld
|
|||
###
|
||||
# kubernetes system config
|
||||
#
|
||||
# The following values are used to configure the kubernetes-apiserver
|
||||
# The following values are used to configure the kube-apiserver
|
||||
#
|
||||
|
||||
# The address on the local server to listen to.
|
||||
|
@ -99,7 +99,7 @@ KUBE_API_ADDRESS="--address=0.0.0.0"
|
|||
# The port on the local server to listen on.
|
||||
KUBE_API_PORT="--port=8080"
|
||||
|
||||
# How the replication controller and scheduler find the apiserver
|
||||
# How the replication controller and scheduler find the kube-apiserver
|
||||
KUBE_MASTER="--master=fed-master:8080"
|
||||
|
||||
# Port minions listen on
|
||||
|
@ -117,7 +117,7 @@ KUBE_API_ARGS=""
|
|||
###
|
||||
# kubernetes system config
|
||||
#
|
||||
# The following values are used to configure the kubernetes-controller-manager
|
||||
# The following values are used to configure the kube-controller-manager
|
||||
#
|
||||
|
||||
# Comma seperated list of minions
|
||||
|
@ -149,7 +149,7 @@ curl -s -L http://fed-master:4001/v2/keys/mykey | python -mjson.tool
|
|||
curl -s -L http://fed-master:4001/v2/keys/mykey -XDELETE | python -mjson.tool
|
||||
```
|
||||
|
||||
* Poke the apiserver just a bit
|
||||
* Poke the kube-apiserver just a bit
|
||||
```
|
||||
curl -s -L http://fed-master:8080/version | python -mjson.tool
|
||||
curl -s -L http://fed-master:8080/api/v1beta1/pods | python -mjson.tool
|
||||
|
|
|
@ -31,11 +31,11 @@ vagrant ssh minion-3
|
|||
To view the service status and/or logs on the kubernetes-master:
|
||||
```
|
||||
vagrant ssh master
|
||||
[vagrant@kubernetes-master ~] $ sudo systemctl status apiserver
|
||||
[vagrant@kubernetes-master ~] $ sudo journalctl -r -u apiserver
|
||||
[vagrant@kubernetes-master ~] $ sudo systemctl status kube-apiserver
|
||||
[vagrant@kubernetes-master ~] $ sudo journalctl -r -u kube-apiserver
|
||||
|
||||
[vagrant@kubernetes-master ~] $ sudo systemctl status controller-manager
|
||||
[vagrant@kubernetes-master ~] $ sudo journalctl -r -u controller-manager
|
||||
[vagrant@kubernetes-master ~] $ sudo systemctl status kube-controller-manager
|
||||
[vagrant@kubernetes-master ~] $ sudo journalctl -r -u kube-controller-manager
|
||||
|
||||
[vagrant@kubernetes-master ~] $ sudo systemctl status etcd
|
||||
[vagrant@kubernetes-master ~] $ sudo systemctl status nginx
|
||||
|
|
|
@ -54,9 +54,9 @@ Key | Value
|
|||
`cbr-cidr` | (Optional) The minion IP address range used for the docker container bridge.
|
||||
`cloud` | (Optional) Which IaaS platform is used to host kubernetes, *gce*, *azure*, *aws*, *vagrant*
|
||||
`cloud_provider` | (Optional) The cloud_provider used by apiserver: *gce*, *azure*, *vagrant*
|
||||
`etcd_servers` | (Optional) Comma-delimited list of IP addresses the apiserver and kubelet use to reach etcd. Uses the IP of the first machine in the kubernetes_master role.
|
||||
`etcd_servers` | (Optional) Comma-delimited list of IP addresses the kube-apiserver and kubelet use to reach etcd. Uses the IP of the first machine in the kubernetes_master role.
|
||||
`hostnamef` | (Optional) The full host name of the machine, i.e. hostname -f
|
||||
`master_ip` | (Optional) The IP address that the apiserver will bind against
|
||||
`master_ip` | (Optional) The IP address that the kube-apiserver will bind against
|
||||
`node_ip` | (Optional) The IP address to use to address this node
|
||||
`minion_ip` | (Optional) Mapped to the kubelet hostname_override, K8S TODO - change this name
|
||||
`network_mode` | (Optional) Networking model to use among nodes: *openvswitch*
|
||||
|
|
|
@ -299,7 +299,7 @@ verify_from_container "${svc3_name}" "${svc3_ip}" "${svc3_port}" \
|
|||
# Test 6: Restart the master, make sure portals come back.
|
||||
#
|
||||
echo "Restarting the master"
|
||||
ssh-to-node "${master}" "sudo /etc/init.d/apiserver restart"
|
||||
ssh-to-node "${master}" "sudo /etc/init.d/kube-apiserver restart"
|
||||
sleep 5
|
||||
echo "Verifying the portals from the host"
|
||||
wait_for_service_up "${svc3_name}" "${svc3_ip}" "${svc3_port}" \
|
||||
|
|
|
@ -20,11 +20,11 @@ readonly KUBE_GOPATH="${KUBE_OUTPUT}/go"
|
|||
|
||||
# The set of server targets that we are only building for Linux
|
||||
readonly KUBE_SERVER_TARGETS=(
|
||||
cmd/proxy
|
||||
cmd/apiserver
|
||||
cmd/controller-manager
|
||||
cmd/kube-proxy
|
||||
cmd/kube-apiserver
|
||||
cmd/kube-controller-manager
|
||||
cmd/kubelet
|
||||
plugin/cmd/scheduler
|
||||
plugin/cmd/kube-scheduler
|
||||
)
|
||||
readonly KUBE_SERVER_BINARIES=("${KUBE_SERVER_TARGETS[@]##*/}")
|
||||
|
||||
|
|
|
@ -84,8 +84,8 @@ esac
|
|||
|
||||
GO_OUT="${KUBE_ROOT}/_output/local/bin/${host_os}/${host_arch}"
|
||||
|
||||
APISERVER_LOG=/tmp/apiserver.log
|
||||
"${GO_OUT}/apiserver" \
|
||||
APISERVER_LOG=/tmp/kube-apiserver.log
|
||||
"${GO_OUT}/kube-apiserver" \
|
||||
-v=${LOG_LEVEL} \
|
||||
--address="${API_HOST}" \
|
||||
--port="${API_PORT}" \
|
||||
|
@ -94,11 +94,11 @@ APISERVER_LOG=/tmp/apiserver.log
|
|||
--cors_allowed_origins="${API_CORS_ALLOWED_ORIGINS}" >"${APISERVER_LOG}" 2>&1 &
|
||||
APISERVER_PID=$!
|
||||
|
||||
# Wait for apiserver to come up before launching the rest of the components.
|
||||
# Wait for kube-apiserver to come up before launching the rest of the components.
|
||||
kube::util::wait_for_url "http://${API_HOST}:${API_PORT}/api/v1beta1/pods" "apiserver: "
|
||||
|
||||
CTLRMGR_LOG=/tmp/controller-manager.log
|
||||
"${GO_OUT}/controller-manager" \
|
||||
CTLRMGR_LOG=/tmp/kube-controller-manager.log
|
||||
"${GO_OUT}/kube-controller-manager" \
|
||||
-v=${LOG_LEVEL} \
|
||||
--machines="127.0.0.1" \
|
||||
--master="${API_HOST}:${API_PORT}" >"${CTLRMGR_LOG}" 2>&1 &
|
||||
|
@ -114,13 +114,13 @@ KUBELET_LOG=/tmp/kubelet.log
|
|||
KUBELET_PID=$!
|
||||
|
||||
PROXY_LOG=/tmp/kube-proxy.log
|
||||
"${GO_OUT}/proxy" \
|
||||
"${GO_OUT}/kube-proxy" \
|
||||
-v=${LOG_LEVEL} \
|
||||
--master="http://${API_HOST}:${API_PORT}" >"${PROXY_LOG}" 2>&1 &
|
||||
PROXY_PID=$!
|
||||
|
||||
SCHEDULER_LOG=/tmp/k8s-scheduler.log
|
||||
"${GO_OUT}/scheduler" \
|
||||
SCHEDULER_LOG=/tmp/kube-scheduler.log
|
||||
"${GO_OUT}/kube-scheduler" \
|
||||
-v=${LOG_LEVEL} \
|
||||
--master="http://${API_HOST}:${API_PORT}" >"${SCHEDULER_LOG}" 2>&1 &
|
||||
SCHEDULER_PID=$!
|
||||
|
|
|
@ -63,9 +63,9 @@ KUBELET_PID=$!
|
|||
|
||||
kube::util::wait_for_url "http://127.0.0.1:${KUBELET_PORT}/healthz" "kubelet: "
|
||||
|
||||
# Start apiserver
|
||||
kube::log::status "Starting apiserver"
|
||||
"${KUBE_OUTPUT_HOSTBIN}/apiserver" \
|
||||
# Start kube-apiserver
|
||||
kube::log::status "Starting kube-apiserver"
|
||||
"${KUBE_OUTPUT_HOSTBIN}/kube-apiserver" \
|
||||
--address="127.0.0.1" \
|
||||
--public_address_override="127.0.0.1" \
|
||||
--port="${API_PORT}" \
|
||||
|
@ -88,7 +88,7 @@ kube_flags=(
|
|||
|
||||
# Start controller manager
|
||||
kube::log::status "Starting CONTROLLER-MANAGER"
|
||||
"${KUBE_OUTPUT_HOSTBIN}/controller-manager" \
|
||||
"${KUBE_OUTPUT_HOSTBIN}/kube-controller-manager" \
|
||||
--machines="127.0.0.1" \
|
||||
--master="127.0.0.1:${API_PORT}" 1>&2 &
|
||||
CTLRMGR_PID=$!
|
||||
|
@ -130,6 +130,6 @@ kube::log::status "TEST PASSED"
|
|||
|
||||
# Start proxy
|
||||
#PROXY_LOG=/tmp/kube-proxy.log
|
||||
#${KUBE_OUTPUT_HOSTBIN}/proxy \
|
||||
#${KUBE_OUTPUT_HOSTBIN}/kube-proxy \
|
||||
# --etcd_servers="http://127.0.0.1:${ETCD_PORT}" 1>&2 &
|
||||
#PROXY_PID=$!
|
||||
|
|
Loading…
Reference in New Issue