github.com/enmand/kubernetes@v1.2.0-alpha.0/docs/getting-started-guides/coreos/azure/cloud_config_templates/kubernetes-cluster-main-nodes-template.yml (about) 1 ## This file is used as input to deployment script, which amends it as needed. 2 ## More specifically, we need to add environment files for as many nodes as we 3 ## are going to deploy. 4 5 write_files: 6 - path: /opt/bin/curl-retry.sh 7 permissions: '0755' 8 owner: root 9 content: | 10 #!/bin/sh -x 11 until curl $@ 12 do sleep 1 13 done 14 15 coreos: 16 update: 17 group: stable 18 reboot-strategy: off 19 units: 20 - name: systemd-networkd-wait-online.service 21 drop-ins: 22 - name: 50-check-github-is-reachable.conf 23 content: | 24 [Service] 25 ExecStart=/bin/sh -x -c \ 26 'until curl --silent --fail https://status.github.com/api/status.json | grep -q \"good\"; do sleep 2; done' 27 28 - name: docker.service 29 drop-ins: 30 - name: 50-weave-kubernetes.conf 31 content: | 32 [Service] 33 Environment=DOCKER_OPTS='--bridge="weave" -r="false"' 34 35 - name: weave-network.target 36 enable: true 37 content: | 38 [Unit] 39 Description=Weave Network Setup Complete 40 Documentation=man:systemd.special(7) 41 RefuseManualStart=no 42 After=network-online.target 43 [Install] 44 WantedBy=multi-user.target 45 WantedBy=kubernetes-master.target 46 WantedBy=kubernetes-node.target 47 48 - name: kubernetes-master.target 49 enable: true 50 command: start 51 content: | 52 [Unit] 53 Description=Kubernetes Cluster Master 54 Documentation=http://kubernetes.io/ 55 RefuseManualStart=no 56 After=weave-network.target 57 Requires=weave-network.target 58 ConditionHost=kube-00 59 Wants=kube-apiserver.service 60 Wants=kube-scheduler.service 61 Wants=kube-controller-manager.service 62 Wants=kube-proxy.service 63 [Install] 64 WantedBy=multi-user.target 65 66 - name: kubernetes-node.target 67 enable: true 68 command: start 69 content: | 70 [Unit] 71 Description=Kubernetes Cluster Node 72 Documentation=http://kubernetes.io/ 73 RefuseManualStart=no 74 After=weave-network.target 75 Requires=weave-network.target 76 ConditionHost=!kube-00 77 Wants=kube-proxy.service 78 Wants=kubelet.service 79 [Install] 80 WantedBy=multi-user.target 81 82 - name: 10-weave.network 83 runtime: false 84 content: | 85 [Match] 86 Type=bridge 87 Name=weave* 88 [Network] 89 90 - name: install-weave.service 91 enable: true 92 content: | 93 [Unit] 94 After=network-online.target 95 Before=weave.service 96 Before=weave-helper.service 97 Before=docker.service 98 Description=Install Weave 99 Documentation=http://docs.weave.works/ 100 Requires=network-online.target 101 [Service] 102 Type=oneshot 103 RemainAfterExit=yes 104 ExecStartPre=/bin/mkdir -p /opt/bin/ 105 ExecStartPre=/opt/bin/curl-retry.sh \ 106 --silent \ 107 --location \ 108 https://github.com/weaveworks/weave/releases/download/latest_release/weave \ 109 --output /opt/bin/weave 110 ExecStartPre=/opt/bin/curl-retry.sh \ 111 --silent \ 112 --location \ 113 https://raw.github.com/errordeveloper/weave-demos/master/poseidon/weave-helper \ 114 --output /opt/bin/weave-helper 115 ExecStartPre=/usr/bin/chmod +x /opt/bin/weave 116 ExecStartPre=/usr/bin/chmod +x /opt/bin/weave-helper 117 ExecStart=/bin/echo Weave Installed 118 [Install] 119 WantedBy=weave-network.target 120 WantedBy=weave.service 121 122 - name: weave-helper.service 123 enable: true 124 content: | 125 [Unit] 126 After=install-weave.service 127 After=docker.service 128 Description=Weave Network Router 129 Documentation=http://docs.weave.works/ 130 Requires=docker.service 131 Requires=install-weave.service 132 [Service] 133 ExecStart=/opt/bin/weave-helper 134 Restart=always 135 [Install] 136 WantedBy=weave-network.target 137 138 - name: weave.service 139 enable: true 140 content: | 141 [Unit] 142 After=install-weave.service 143 After=docker.service 144 Description=Weave Network Router 145 Documentation=http://docs.weave.works/ 146 Requires=docker.service 147 Requires=install-weave.service 148 [Service] 149 TimeoutStartSec=0 150 EnvironmentFile=/etc/weave.%H.env 151 ExecStartPre=/opt/bin/weave setup 152 ExecStartPre=/opt/bin/weave launch $WEAVE_PEERS 153 ExecStart=/usr/bin/docker attach weave 154 Restart=on-failure 155 Restart=always 156 ExecStop=/opt/bin/weave stop 157 [Install] 158 WantedBy=weave-network.target 159 160 - name: weave-create-bridge.service 161 enable: true 162 content: | 163 [Unit] 164 After=network.target 165 After=install-weave.service 166 Before=weave.service 167 Before=docker.service 168 Requires=network.target 169 Requires=install-weave.service 170 [Service] 171 Type=oneshot 172 EnvironmentFile=/etc/weave.%H.env 173 ExecStart=/opt/bin/weave --local create-bridge 174 ExecStart=/usr/bin/ip addr add dev weave $BRIDGE_ADDRESS_CIDR 175 ExecStart=/usr/bin/ip route add $BREAKOUT_ROUTE dev weave scope link 176 ExecStart=/usr/bin/ip route add 224.0.0.0/4 dev weave 177 [Install] 178 WantedBy=multi-user.target 179 WantedBy=weave-network.target 180 181 - name: install-kubernetes.service 182 enable: true 183 content: | 184 [Unit] 185 After=network-online.target 186 Before=kube-apiserver.service 187 Before=kube-controller-manager.service 188 Before=kubelet.service 189 Before=kube-proxy.service 190 Description=Download Kubernetes Binaries 191 Documentation=http://kubernetes.io/ 192 Requires=network-online.target 193 [Service] 194 Environment=KUBE_RELEASE_TARBALL=https://github.com/GoogleCloudPlatform/kubernetes/releases/download/v1.0.1/kubernetes.tar.gz 195 ExecStartPre=/bin/mkdir -p /opt/ 196 ExecStart=/opt/bin/curl-retry.sh --silent --location $KUBE_RELEASE_TARBALL --output /tmp/kubernetes.tgz 197 ExecStart=/bin/tar xzvf /tmp/kubernetes.tgz -C /tmp/ 198 ExecStart=/bin/tar xzvf /tmp/kubernetes/server/kubernetes-server-linux-amd64.tar.gz -C /opt 199 ExecStartPost=/bin/chmod o+rx -R /opt/kubernetes 200 ExecStartPost=/bin/ln -s /opt/kubernetes/server/bin/kubectl /opt/bin/ 201 ExecStartPost=/bin/mv /tmp/kubernetes/examples/guestbook /home/core/guestbook-example 202 ExecStartPost=/bin/chown core. -R /home/core/guestbook-example 203 ExecStartPost=/bin/rm -rf /tmp/kubernetes 204 ExecStartPost=/bin/sed 's/# type: LoadBalancer/type: NodePort/' -i /home/core/guestbook-example/frontend-service.yaml 205 RemainAfterExit=yes 206 Type=oneshot 207 [Install] 208 WantedBy=kubernetes-master.target 209 WantedBy=kubernetes-node.target 210 211 - name: kube-apiserver.service 212 enable: true 213 content: | 214 [Unit] 215 After=install-kubernetes.service 216 Before=kube-controller-manager.service 217 Before=kube-scheduler.service 218 ConditionFileIsExecutable=/opt/kubernetes/server/bin/kube-apiserver 219 Description=Kubernetes API Server 220 Documentation=http://kubernetes.io/ 221 Wants=install-kubernetes.service 222 ConditionHost=kube-00 223 [Service] 224 ExecStart=/opt/kubernetes/server/bin/kube-apiserver \ 225 --address=0.0.0.0 \ 226 --port=8080 \ 227 $ETCD_SERVERS \ 228 --service-cluster-ip-range=10.1.0.0/16 \ 229 --logtostderr=true --v=3 230 Restart=always 231 RestartSec=10 232 [Install] 233 WantedBy=kubernetes-master.target 234 235 - name: kube-scheduler.service 236 enable: true 237 content: | 238 [Unit] 239 After=kube-apiserver.service 240 After=install-kubernetes.service 241 ConditionFileIsExecutable=/opt/kubernetes/server/bin/kube-scheduler 242 Description=Kubernetes Scheduler 243 Documentation=http://kubernetes.io/ 244 Wants=kube-apiserver.service 245 ConditionHost=kube-00 246 [Service] 247 ExecStart=/opt/kubernetes/server/bin/kube-scheduler \ 248 --logtostderr=true \ 249 --master=127.0.0.1:8080 250 Restart=always 251 RestartSec=10 252 [Install] 253 WantedBy=kubernetes-master.target 254 255 - name: kube-controller-manager.service 256 enable: true 257 content: | 258 [Unit] 259 After=install-kubernetes.service 260 After=kube-apiserver.service 261 ConditionFileIsExecutable=/opt/kubernetes/server/bin/kube-controller-manager 262 Description=Kubernetes Controller Manager 263 Documentation=http://kubernetes.io/ 264 Wants=kube-apiserver.service 265 Wants=install-kubernetes.service 266 ConditionHost=kube-00 267 [Service] 268 ExecStart=/opt/kubernetes/server/bin/kube-controller-manager \ 269 --master=127.0.0.1:8080 \ 270 --logtostderr=true 271 Restart=always 272 RestartSec=10 273 [Install] 274 WantedBy=kubernetes-master.target 275 276 - name: kubelet.service 277 enable: true 278 content: | 279 [Unit] 280 After=install-kubernetes.service 281 ConditionFileIsExecutable=/opt/kubernetes/server/bin/kubelet 282 Description=Kubernetes Kubelet 283 Documentation=http://kubernetes.io/ 284 Wants=install-kubernetes.service 285 ConditionHost=!kube-00 286 [Service] 287 ExecStartPre=/bin/mkdir -p /etc/kubernetes/manifests/ 288 ExecStart=/opt/kubernetes/server/bin/kubelet \ 289 --address=0.0.0.0 \ 290 --port=10250 \ 291 --hostname-override=%H \ 292 --api-servers=http://kube-00:8080 \ 293 --logtostderr=true \ 294 --cluster-dns=10.1.0.3 \ 295 --cluster-domain=kube.local \ 296 --config=/etc/kubernetes/manifests/ 297 Restart=always 298 RestartSec=10 299 [Install] 300 WantedBy=kubernetes-node.target 301 302 - name: kube-proxy.service 303 enable: true 304 content: | 305 [Unit] 306 After=install-kubernetes.service 307 ConditionFileIsExecutable=/opt/kubernetes/server/bin/kube-proxy 308 Description=Kubernetes Proxy 309 Documentation=http://kubernetes.io/ 310 Wants=install-kubernetes.service 311 [Service] 312 ExecStart=/opt/kubernetes/server/bin/kube-proxy \ 313 --master=http://kube-00:8080 \ 314 --logtostderr=true 315 Restart=always 316 RestartSec=10 317 [Install] 318 WantedBy=kubernetes-master.target 319 WantedBy=kubernetes-node.target 320 321 - name: kube-create-addons.service 322 enable: true 323 content: | 324 [Unit] 325 After=install-kubernetes.service 326 ConditionFileIsExecutable=/opt/kubernetes/server/bin/kubectl 327 ConditionPathIsDirectory=/etc/kubernetes/addons/ 328 ConditionHost=kube-00 329 Description=Kubernetes Addons 330 Documentation=http://kubernetes.io/ 331 Wants=install-kubernetes.service 332 Wants=kube-apiserver.service 333 [Service] 334 Type=oneshot 335 RemainAfterExit=no 336 ExecStart=/opt/kubernetes/server/bin/kubectl create -f /etc/kubernetes/addons/ 337 SuccessExitStatus=1 338 [Install] 339 WantedBy=kubernetes-master.target