#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=${MINION_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} =~ "minion" ]] && render-template "$ROOT/user_data_minion.yml" )