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