mirror of https://github.com/k3s-io/k3s
218 lines
6.3 KiB
YAML
218 lines
6.3 KiB
YAML
#cloud-config
|
|
|
|
hostname: master
|
|
coreos:
|
|
etcd:
|
|
name: master
|
|
addr: 192.168.12.10:4001
|
|
bind-addr: 0.0.0.0
|
|
peer-addr: 192.168.12.10:7001
|
|
peer-heartbeat-interval: 250
|
|
peer-election-timeout: 1000
|
|
units:
|
|
- name: static.network
|
|
command: start
|
|
content: |
|
|
[Match]
|
|
Name=ens33
|
|
|
|
[Network]
|
|
Address=192.168.12.10/24
|
|
DNS=192.168.12.2
|
|
Gateway=192.168.12.2
|
|
- name: cbr0.netdev
|
|
command: start
|
|
content: |
|
|
[NetDev]
|
|
Kind=bridge
|
|
Name=cbr0
|
|
- name: cbr0.network
|
|
command: start
|
|
content: |
|
|
[Match]
|
|
Name=cbr0
|
|
|
|
[Network]
|
|
Address=10.244.0.1/24
|
|
|
|
[Route]
|
|
Destination=10.0.0.0/8
|
|
Gateway=0.0.0.0
|
|
- name: cbr0-interface.network
|
|
command: start
|
|
content: |
|
|
[Match]
|
|
Name=ens34
|
|
|
|
[Network]
|
|
Bridge=cbr0
|
|
- name: nat.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
Description=NAT non container traffic
|
|
|
|
[Service]
|
|
ExecStart=/usr/sbin/iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE ! -d 10.0.0.0/8
|
|
RemainAfterExit=yes
|
|
Type=oneshot
|
|
- name: etcd.service
|
|
command: start
|
|
- name: fleet.service
|
|
command: start
|
|
- name: docker.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=network.target
|
|
Description=Docker Application Container Engine
|
|
Documentation=http://docs.docker.io
|
|
|
|
[Service]
|
|
ExecStartPre=/bin/mount --make-rprivate /
|
|
ExecStart=/usr/bin/docker -d -s=btrfs -H fd:// -b cbr0 --iptables=false
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: download-kubernetes.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=network-online.target
|
|
Before=apiserver.service
|
|
Before=controller-manager.service
|
|
Before=kubelet.service
|
|
Before=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/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/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
|
|
RemainAfterExit=yes
|
|
Type=oneshot
|
|
- name: apiserver.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=etcd.service
|
|
After=download-kubernetes.service
|
|
ConditionFileIsExecutable=/opt/bin/apiserver
|
|
Description=Kubernetes API Server
|
|
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
|
Wants=etcd.service
|
|
Wants=download-kubernetes.service
|
|
|
|
[Service]
|
|
ExecStart=/opt/bin/apiserver \
|
|
--address=127.0.0.1 \
|
|
--port=8080 \
|
|
--etcd_servers=http://127.0.0.1:4001 \
|
|
--logtostderr=true
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: scheduler.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=apiserver.service
|
|
After=download-kubernetes.service
|
|
ConditionFileIsExecutable=/opt/bin/scheduler
|
|
Description=Kubernetes Scheduler
|
|
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
|
Wants=apiserver.service
|
|
|
|
[Service]
|
|
ExecStart=/opt/bin/scheduler \
|
|
--logtostderr=true \
|
|
--master=127.0.0.1:8080
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: controller-manager.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=etcd.service
|
|
After=download-kubernetes.service
|
|
ConditionFileIsExecutable=/opt/bin/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 \
|
|
--master=127.0.0.1:8080 \
|
|
--machines=192.168.12.10,192.168.12.11,192.168.12.12 \
|
|
--logtostderr=true
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: kubelet.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=etcd.service
|
|
After=download-kubernetes.service
|
|
ConditionFileIsExecutable=/opt/bin/kubelet
|
|
Description=Kubernetes Kubelet
|
|
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
|
Wants=etcd.service
|
|
Wants=download-kubernetes.service
|
|
|
|
[Service]
|
|
ExecStart=/opt/bin/kubelet \
|
|
--address=0.0.0.0 \
|
|
--port=10250 \
|
|
--hostname_override=192.168.12.10 \
|
|
--etcd_servers=http://127.0.0.1:4001 \
|
|
--logtostderr=true
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: proxy.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=etcd.service
|
|
After=download-kubernetes.service
|
|
ConditionFileIsExecutable=/opt/bin/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
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
update:
|
|
group: alpha
|
|
reboot-strategy: off
|
|
ssh_authorized_keys:
|
|
- <ssh_public_key>
|