Skip to content

Instantly share code, notes, and snippets.

@kelseyhightower
Created June 17, 2015 00:22
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kelseyhightower/a5fde8bd36c724a33530 to your computer and use it in GitHub Desktop.
Save kelseyhightower/a5fde8bd36c724a33530 to your computer and use it in GitHub Desktop.
Kubernetes on rkt

Kubernetes on Rocket

API Service

/etc/systemd/system/kube-apiserver.service
[Unit]
Description=Kubernetes API Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Requires=etcd2.service
After=etcd2.service

[Service]
ExecStart=/usr/bin/rkt -insecure-skip-verify run \
 http://storage.googleapis.com/rktscience/kube-apiserver-0.19.0.aci \
 -- \
 --etcd-servers=http://127.0.0.1:2379 \
 --insecure-bind-address=0.0.0.0 \
 --insecure-port=8080 \
 --logtostderr=true \
 --service-cluster-ip-range=10.200.20.0/24 \
 --v=2
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Controller Manager

/etc/systemd/system/kube-controller-manager.service
[Unit]
Description=Kubernetes Controller Manager
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Requires=kube-apiserver.service
After=kube-apiserver.service

[Service]
ExecStart=/usr/bin/rkt --insecure-skip-verify run \
 http://storage.googleapis.com/rktscience/kube-controller-manager-0.19.0.aci \
 -- \
 --logtostderr=true \
 --master=http://127.0.0.1:8080 \
 --v=2
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Proxy

/etc/systemd/system/kube-proxy.service 
[Unit]
Description=Kubernetes Proxy
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Requires=kube-apiserver.service
After=kube-apiserver.service

[Service]
ExecStart=/usr/bin/rkt --insecure-skip-verify run \
 http://storage.googleapis.com/rktscience/kube-proxy-0.19.0.aci \
 -- \
 --logtostderr=true \
 --master=http://127.0.0.1:8080 \
 --v=2
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Scheduler

/etc/systemd/system/kube-scheduler.service
[Unit]
Description=Kubernetes Scheduler
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Requires=kube-apiserver.service
After=kube-apiserver.service

[Service]
ExecStart=/usr/bin/rkt --insecure-skip-verify run \
 http://storage.googleapis.com/rktscience/kube-scheduler-0.19.0.aci \
 -- \
 --logtostderr=true \
 --master=http://127.0.0.1:8080 \
 --v=2
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Kubelet

/etc/systemd/system/kubelet.service
[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Requires=docker.service
After=docker.service
Requires=kube-apiserver.service
After=kube-apiserver.service

[Service]
ExecStart=/usr/bin/rkt --insecure-skip-verify run \
 http://storage.googleapis.com/rktscience/kubelet-0.19.0.aci \
 --volume root,kind=host,source=/ \
 --volume kubernetes-manifests,kind=host,source=/etc/kubernetes/manifests \
 --volume sys,kind=host,source=/sys \
 --volume var-lib-docker,kind=host,source=/var/lib/docker \
 --volume var-lib-kubelet,kind=host,source=/var/lib/kubelet \
 --volume var-run,kind=host,source=/var/run \
 --volume resolv-conf,kind=host,source=/etc/resolv.conf \
 -- \
 --address=0.0.0.0 \
 --api-servers=http://localhost:8080 \
 --containerized \
 --enable-server \
 --hostname-override=127.0.0.1 \
 --config=/etc/kubernetes/manifests \
 --machine-id-file=/rootfs/etc/machine-id \
 --v=2
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
@kelseyhightower
Copy link
Author

This is now out dated, please see the updated guide here: https://github.com/kelseyhightower/kubernetes-docker-files/blob/master/docs/aci.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment