mirror of https://github.com/k3s-io/k3s
117 lines
2.7 KiB
YAML
117 lines
2.7 KiB
YAML
#cloud-config
|
|
|
|
hostname: ${name}
|
|
|
|
ssh_authorized_keys:
|
|
${ssh_keys}
|
|
|
|
write_files:
|
|
- path: /etc/systemd/journald.conf
|
|
permissions: 0644
|
|
content: |
|
|
[Journal]
|
|
SystemMaxUse=50M
|
|
RuntimeMaxUse=50M
|
|
|
|
coreos:
|
|
etcd2:
|
|
advertise-client-urls: http://${public_ip}:2379
|
|
initial-advertise-peer-urls: http://${public_ip}:2380
|
|
listen-client-urls: http://0.0.0.0:2379
|
|
listen-peer-urls: http://${public_ip}:2380
|
|
initial-cluster-state: new
|
|
initial-cluster: ${etcd2_initial_cluster}
|
|
units:
|
|
- name: static.network
|
|
command: start
|
|
content: |
|
|
[Match]
|
|
# Name=eth0
|
|
MACAddress=52:54:00:00:00:${i}
|
|
|
|
[Network]
|
|
Address=${public_ip}/24
|
|
DNS=192.168.10.254
|
|
Gateway=192.168.10.254
|
|
- name: cbr0.netdev
|
|
command: start
|
|
content: |
|
|
[NetDev]
|
|
Kind=bridge
|
|
Name=cbr0
|
|
- name: cbr0.network
|
|
command: start
|
|
content: |
|
|
[Match]
|
|
Name=cbr0
|
|
|
|
[Network]
|
|
Address=${NODE_CONTAINER_SUBNETS[$i]}
|
|
|
|
[Route]
|
|
Destination=${CONTAINER_SUBNET}
|
|
- name: cbr0-interface.network
|
|
command: start
|
|
content: |
|
|
[Match]
|
|
# Name=eth1
|
|
MACAddress=52:54:00:00:01:${i}
|
|
|
|
[Network]
|
|
Bridge=cbr0
|
|
- name: nat.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
Description=NAT non container traffic
|
|
|
|
[Service]
|
|
ExecStart=/usr/sbin/iptables -w -t nat -A POSTROUTING -o eth0 -j MASQUERADE ! -d ${CONTAINER_SUBNET}
|
|
RemainAfterExit=yes
|
|
Type=oneshot
|
|
- name: etcd2.service
|
|
command: start
|
|
drop-ins:
|
|
- name: 10-override-name.conf
|
|
content: |
|
|
[Service]
|
|
Environment=ETCD_NAME=%H
|
|
- name: docker.service
|
|
command: start
|
|
drop-ins:
|
|
- name: 50-opts.conf
|
|
content: |
|
|
[Service]
|
|
Environment='DOCKER_OPTS=--bridge=cbr0 --iptables=false'
|
|
- name: docker-tcp.socket
|
|
command: start
|
|
enable: yes
|
|
content: |
|
|
[Unit]
|
|
Description=Docker Socket for the API
|
|
|
|
[Socket]
|
|
ListenStream=2375
|
|
BindIPv6Only=both
|
|
Service=docker.service
|
|
|
|
[Install]
|
|
WantedBy=sockets.target
|
|
- name: opt-kubernetes.mount
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
ConditionVirtualization=|vm
|
|
|
|
[Mount]
|
|
What=kubernetes
|
|
Where=/opt/kubernetes
|
|
Options=ro,trans=virtio,version=9p2000.L
|
|
Type=9p
|
|
update:
|
|
group: ${COREOS_CHANNEL:-alpha}
|
|
reboot-strategy: off
|
|
|
|
$( [[ ${type} =~ "master" ]] && render-template "$ROOT/user_data_master.yml" )
|
|
$( [[ ${type} =~ "node" ]] && render-template "$ROOT/user_data_minion.yml" )
|