mirror of https://github.com/k3s-io/k3s
94 lines
3.3 KiB
YAML
94 lines
3.3 KiB
YAML
#cloud-config
|
|
|
|
coreos:
|
|
units:
|
|
- name: kube-apiserver.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=opt-kubernetes.mount etcd2.service
|
|
ConditionFileIsExecutable=/opt/kubernetes/bin/kube-apiserver
|
|
Description=Kubernetes API Server
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
|
Requires=opt-kubernetes.mount etcd2.service
|
|
|
|
[Service]
|
|
ExecStart=/opt/kubernetes/bin/kube-apiserver \
|
|
--tls-cert-file=./opt/kubernetes/certs/apiserver.pem \
|
|
--tls-private-key-file=/opt/kubernetes/certs/apiserver-key.pem \
|
|
--client-ca-file=/opt/kubernetes/certs/ca.pem \
|
|
--service-account-key-file=/opt/kubernetes/certs/apiserver-key.pem \
|
|
--service-account-lookup=${SERVICE_ACCOUNT_LOOKUP} \
|
|
--admission-control=${ADMISSION_CONTROL} \
|
|
--insecure-bind-address=0.0.0.0 \
|
|
--insecure-port=8080 \
|
|
--etcd-servers=http://127.0.0.1:2379 \
|
|
--kubelet-port=10250 \
|
|
--v=4 \
|
|
--service-cluster-ip-range=${SERVICE_CLUSTER_IP_RANGE}
|
|
Restart=always
|
|
RestartSec=2
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: kube-controller-manager.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=opt-kubernetes.mount kube-apiserver.service
|
|
ConditionFileIsExecutable=/opt/kubernetes/bin/kube-controller-manager
|
|
Description=Kubernetes Controller Manager
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
|
Requires=opt-kubernetes.mount kube-apiserver.service
|
|
|
|
[Service]
|
|
ExecStart=/opt/kubernetes/bin/kube-controller-manager \
|
|
--master=127.0.0.1:8080 \
|
|
--service-account-private-key-file=/opt/kubernetes/certs/apiserver-key.pem \
|
|
--root-ca-file=/opt/kubernetes/certs/ca.pem \
|
|
--v=4
|
|
Restart=always
|
|
RestartSec=2
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: kube-scheduler.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=opt-kubernetes.mount kube-apiserver.service
|
|
ConditionFileIsExecutable=/opt/kubernetes/bin/kube-scheduler
|
|
Description=Kubernetes Scheduler
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
|
Requires=opt-kubernetes.mount kube-apiserver.service
|
|
|
|
[Service]
|
|
ExecStart=/opt/kubernetes/bin/kube-scheduler \
|
|
--master=127.0.0.1:8080
|
|
Restart=always
|
|
RestartSec=2
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: kube-addons.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=opt-kubernetes.mount kube-apiserver.service
|
|
ConditionPathIsDirectory=/opt/kubernetes/addons
|
|
Description=Kubernetes addons
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
|
Requires=opt-kubernetes.mount
|
|
Wants=kube-apiserver.service
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStartPre=/bin/bash -c 'while [[ \"\$(curl -s http://127.0.0.1:8080/healthz)\" != \"ok\" ]]; do sleep 1; done'
|
|
ExecStartPre=/bin/sleep 10
|
|
ExecStart=/opt/kubernetes/bin/kubectl create -f /opt/kubernetes/addons
|
|
ExecStop=/opt/kubernetes/bin/kubectl delete -f /opt/kubernetes/addons
|
|
RemainAfterExit=yes
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|