From adf8704f4c3cec7201b6629bd9335489f5d70666 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3nio=20Meireles?= Date: Fri, 17 Apr 2015 11:32:50 +0100 Subject: [PATCH] docs/getting-started-guides/coreos/: update for 0.15.0+ support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - allow payloads to run in privileged mode. - update kube-register to latest upstream (v0.0.3). - jump into the etcd2 bandwagon. - etcd master on master node. - etcd proxies in nodes. - update docs to reflect minimum required CoreOS version. - 653.0.0 is the first to ship with etcd2, which we now consume. - propagate changes on coreos/cloud-configs/ also to aws/cloud-configs/. - update tested k8s versions that this addresses in the getting-started-guides table ence making sure we are consistent across it regarding the versions we claim to have tested, add myself there as contact too. - do not assume that cloud-init shortcuts will get everything right. - they won't (as setup-network-environment who populates *_ipv4, etc only runs way later). - use flannel's plain defaults, as they should just be enough for the common case. Signed-off-by: António Meireles --- docs/getting-started-guides/README.md | 8 +- .../aws/cloud-configs/master.yaml | 87 ++++++------------- .../aws/cloud-configs/node.yaml | 45 ++++++---- .../coreos/cloud-configs/master.yaml | 82 ++++++----------- .../coreos/cloud-configs/node.yaml | 39 ++++++--- .../coreos/cloud-configs/standalone.yaml | 70 +++++++-------- .../coreos/coreos_multinode_cluster.md | 2 +- .../coreos/coreos_single_node_cluster.md | 2 +- 8 files changed, 145 insertions(+), 190 deletions(-) diff --git a/docs/getting-started-guides/README.md b/docs/getting-started-guides/README.md index 28bb8221071..5821d033765 100644 --- a/docs/getting-started-guides/README.md +++ b/docs/getting-started-guides/README.md @@ -18,9 +18,9 @@ Bare-metal | Ansible | Fedora | flannel | [docs](../../docs/getting Bare-metal | custom | Fedora | _none_ | [docs](../../docs/getting-started-guides/fedora/fedora_manual_config.md) | Project | Uses K8s v0.13.2 Bare-metal | custom | Ubuntu Cluster | flannel | [docs](../../docs/getting-started-guides/ubuntu_multinodes_cluster.md) | Community (@resouer @WIZARD-CXY) | use k8s version 0.12.0 Mesos/GCE | | | | [docs](../../docs/getting-started-guides/mesos.md) | [Community](https://github.com/mesosphere/kubernetes-mesos) ([@jdef](https://github.com/jdef)) | Uses K8s v0.11.2 -AWS | CoreOS | CoreOS | flannel | [docs](../../docs/getting-started-guides/coreos.md) | Community | Uses K8s version 0.11.0 -GCE | CoreOS | CoreOS | flannel | [docs](../../docs/getting-started-guides/coreos.md) | Community (@kelseyhightower) | Uses K8s version 0.11.0 -Vagrant | CoreOS | CoreOS | flannel | [docs](../../docs/getting-started-guides/coreos.md) | Community (@pires) | Uses K8s version 0.11.0 +AWS | CoreOS | CoreOS | flannel | [docs](../../docs/getting-started-guides/coreos.md) | Community | Uses K8s version 0.15.0 +GCE | CoreOS | CoreOS | flannel | [docs](../../docs/getting-started-guides/coreos.md) | Community (@kelseyhightower) | Uses K8s version 0.15.0 +Vagrant | CoreOS | CoreOS | flannel | [docs](../../docs/getting-started-guides/coreos.md) | Community ( [@pires](https://github.com/pires), [@AntonioMeireles](https://github.com/AntonioMeireles) ) | Uses K8s version 0.15.0 Bare-metal (Offline) | CoreOS | CoreOS | flannel | [docs](../../docs/getting-started-guides/coreos/bare_metal_offline.md) | Community([@jeffbean](https://github.com/jeffbean)) | Uses K8s version 0.15.0 CloudStack | Ansible | CoreOS | flannel | [docs](../../docs/getting-started-guides/cloudstack.md)| Community (@runseb) | Uses K8s version 0.9.1 Vmware | | Debian | OVS | [docs](../../docs/getting-started-guides/vsphere.md) | Community (@pietern) | Uses K8s version 0.9.1 @@ -29,7 +29,7 @@ AWS | Juju | Ubuntu | flannel | [docs](../../docs/getting OpenStack/HPCloud | Juju | Ubuntu | flannel | [docs](../../docs/getting-started-guides/juju.md) | [Community](https://github.com/whitmo/bundle-kubernetes) ( [@whit](https://github.com/whitmo), [@matt](https://github.com/mbruzek), [@chuck](https://github.com/chuckbutler) ) | [Tested](http://reports.vapour.ws/charm-tests-by-charm/kubernetes) K8s v0.8.1 Joyent | Juju | Ubuntu | flannel | [docs](../../docs/getting-started-guides/juju.md) | [Community](https://github.com/whitmo/bundle-kubernetes) ( [@whit](https://github.com/whitmo), [@matt](https://github.com/mbruzek), [@chuck](https://github.com/chuckbutler) ) | [Tested](http://reports.vapour.ws/charm-tests-by-charm/kubernetes) K8s v0.8.1 AWS | Saltstack | Ubuntu | OVS | [docs](../../docs/getting-started-guides/aws.md) | Community (@justinsb) | Uses K8s version 0.5.0 -Vmware | CoreOS | CoreOS | flannel | [docs](../../docs/getting-started-guides/coreos.md) | Community (@kelseyhightower) | +Vmware | CoreOS | CoreOS | flannel | [docs](../../docs/getting-started-guides/coreos.md) | Community (@kelseyhightower) | Uses K8s version 0.15.0 Azure | Saltstack | Ubuntu | OpenVPN | [docs](../../docs/getting-started-guides/azure.md) | Community | Bare-metal | custom | Ubuntu | _none_ | [docs](../../docs/getting-started-guides/ubuntu_single_node.md) | Community (@jainvipin) | Local | | | _none_ | [docs](../../docs/getting-started-guides/locally.md) | Community (@preillyme) | diff --git a/docs/getting-started-guides/aws/cloud-configs/master.yaml b/docs/getting-started-guides/aws/cloud-configs/master.yaml index 2453e819031..e7975eba44f 100644 --- a/docs/getting-started-guides/aws/cloud-configs/master.yaml +++ b/docs/getting-started-guides/aws/cloud-configs/master.yaml @@ -1,18 +1,19 @@ #cloud-config --- -write_files: -- path: /opt/bin/waiter.sh - owner: root - content: | - #! /usr/bin/bash - until curl http://127.0.0.1:4001/v2/machines; do sleep 2; done +hostname: master coreos: + etcd2: + name: master + listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 + advertise-client-urls: http://:2379,http://:4001 + initial-cluster-token: k8s_etcd + listen-peer-urls: http://:2380,http://:7001 + initial-advertise-peer-urls: http://:2380 + initial-cluster: master=http://:2380" + initial-cluster-state: new fleet: - etcd-servers: http://localhost:4001 metadata: "role=master" - flannel: - interface: eth1 units: - name: setup-network-environment.service command: start @@ -25,57 +26,20 @@ coreos: [Service] ExecStartPre=-/usr/bin/mkdir -p /opt/bin - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/setup-network-environment + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/setup-network-environment ExecStartPre=/usr/bin/chmod +x /opt/bin/setup-network-environment ExecStart=/opt/bin/setup-network-environment RemainAfterExit=yes Type=oneshot - - name: etcd.service + - name: fleet.service command: start - content: | - [Unit] - Description=etcd - Requires=setup-network-environment.service - After=setup-network-environment.service - - [Service] - EnvironmentFile=/etc/network-environment - User=etcd - PermissionsStartOnly=true - ExecStart=/usr/bin/etcd \ - --name ${DEFAULT_IPV4} \ - --addr ${DEFAULT_IPV4}:4001 \ - --bind-addr 0.0.0.0 \ - --cluster-active-size 1 \ - --data-dir /var/lib/etcd \ - --http-read-timeout 86400 \ - --peer-addr ${DEFAULT_IPV4}:7001 \ - --snapshot true - Restart=always - RestartSec=10s - - name: etcd-waiter.service - command: start - content: | - [Unit] - Description=etcd waiter - Wants=network-online.target - Wants=etcd.service - After=etcd.service - After=network-online.target - Before=flanneld.service - - [Service] - ExecStartPre=/usr/bin/chmod +x /opt/bin/waiter.sh - ExecStart=/usr/bin/bash /opt/bin/waiter.sh - RemainAfterExit=true - Type=oneshot - name: flanneld.service command: start drop-ins: - name: 50-network-config.conf content: | [Unit] - Requires=etcd.service + Requires=etcd2.service [Service] ExecStartPre=/usr/bin/etcdctl set /coreos.com/network/config '{"Network":"10.244.0.0/16", "Backend": {"Type": "vxlan"}}' - name: docker-cache.service @@ -122,23 +86,26 @@ coreos: [Unit] Description=Kubernetes API Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes - Requires=etcd.service - After=etcd.service + Requires=etcd2.service + After=etcd2.service [Service] ExecStartPre=-/usr/bin/mkdir -p /opt/bin - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-apiserver + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-apiserver ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver ExecStart=/opt/bin/kube-apiserver \ - --address=0.0.0.0 \ - --port=8080 \ + --allow_privileged=true \ + --insecure_bind_address=0.0.0.0 \ + --insecure_port=8080 \ + --kubelet_https=true \ + --secure_port=6443 \ --portal_net=10.100.0.0/16 \ --etcd_servers=http://127.0.0.1:4001 \ --public_address_override=$private_ipv4 \ --logtostderr=true Restart=always RestartSec=10 - - name: kube-controller-manager.service + - name: kube-controller-manager.service command: start content: | [Unit] @@ -148,7 +115,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-controller-manager + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-controller-manager ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager ExecStart=/opt/bin/kube-controller-manager \ --master=127.0.0.1:8080 \ @@ -165,7 +132,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-scheduler + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-scheduler ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080 Restart=always @@ -182,12 +149,14 @@ coreos: After=fleet.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/kube-register + # ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/kube-register + ExecStartPre=/usr/bin/wget -N -O /opt/bin/kube-register https://github.com/kelseyhightower/kube-register/releases/download/v0.0.3/kube-register-0.0.3-linux-amd64 ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-register ExecStart=/opt/bin/kube-register \ --metadata=role=node \ --fleet-endpoint=unix:///var/run/fleet.sock \ - --api-endpoint=http://127.0.0.1:8080 + --api-endpoint=http://127.0.0.1:8080 \ + --healthz-port=10248 Restart=always RestartSec=10 update: diff --git a/docs/getting-started-guides/aws/cloud-configs/node.yaml b/docs/getting-started-guides/aws/cloud-configs/node.yaml index fa46b9ab038..01d7a10e8a3 100644 --- a/docs/getting-started-guides/aws/cloud-configs/node.yaml +++ b/docs/getting-started-guides/aws/cloud-configs/node.yaml @@ -1,15 +1,22 @@ #cloud-config - +write-files: + - path: /opt/bin/wupiao + permissions: '0755' + content: | + #!/bin/bash + # [w]ait [u]ntil [p]ort [i]s [a]ctually [o]pen + [ -n "$1" ] && [ -n "$2" ] && while ! curl --output /dev/null \ + --silent --head --fail \ + http://${1}:${2}; do sleep 1 && echo -n .; done; + exit $? coreos: + etcd2: + listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 + initial-cluster: master=http://:2380 + proxy: on fleet: - etcd-servers: http://:4001 metadata: "role=node" - flannel: - interface: eth1 - etcd_endpoints: http://:4001 units: - - name: etcd.service - mask: true - name: fleet.service command: start - name: flanneld.service @@ -17,17 +24,16 @@ coreos: drop-ins: - name: 50-network-config.conf content: | + [Unit] + Requires=etcd2.service [Service] - ExecStartPre=/bin/bash -c "until curl http://:4001/v2/machines; do sleep 2; done" - ExecStartPre=/usr/bin/etcdctl -C :4001 set /coreos.com/network/config '{"Network":"10.244.0.0/16", "Backend": {"Type": "vxlan"}}' + ExecStartPre=/usr/bin/etcdctl set /coreos.com/network/config '{"Network":"10.244.0.0/16", "Backend": {"Type": "vxlan"}}' - name: docker.service command: start drop-ins: - name: 51-docker-mirror.conf content: | [Unit] - # making sure that flanneld finished startup, otherwise containers - # won't land in flannel's network... Requires=flanneld.service After=flanneld.service [Service] @@ -43,7 +49,7 @@ coreos: [Service] ExecStartPre=-/usr/bin/mkdir -p /opt/bin - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/setup-network-environment + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/setup-network-environment ExecStartPre=/usr/bin/chmod +x /opt/bin/setup-network-environment ExecStart=/opt/bin/setup-network-environment RemainAfterExit=yes @@ -58,10 +64,12 @@ coreos: After=setup-network-environment.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-proxy + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-proxy ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy + # wait for kubernetes master to be up and ready + ExecStartPre=/opt/bin/wupiao 8080 ExecStart=/opt/bin/kube-proxy \ - --master=http://:8080 \ + --master=:8080 \ --logtostderr=true Restart=always RestartSec=10 @@ -76,14 +84,19 @@ coreos: [Service] EnvironmentFile=/etc/network-environment - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kubelet + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kubelet ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet + # wait for kubernetes master to be up and ready + ExecStartPre=/opt/bin/wupiao 8080 ExecStart=/opt/bin/kubelet \ --address=0.0.0.0 \ --port=10250 \ --hostname_override=$private_ipv4 \ --api_servers=:8080 \ - --logtostderr=true + --allow_privileged=true \ + --logtostderr=true \ + --healthz_bind_address=0.0.0.0 \ + --healthz_port=10248 Restart=always RestartSec=10 update: diff --git a/docs/getting-started-guides/coreos/cloud-configs/master.yaml b/docs/getting-started-guides/coreos/cloud-configs/master.yaml index 013e6613ced..e7975eba44f 100644 --- a/docs/getting-started-guides/coreos/cloud-configs/master.yaml +++ b/docs/getting-started-guides/coreos/cloud-configs/master.yaml @@ -1,17 +1,19 @@ #cloud-config --- -write_files: -- path: /opt/bin/waiter.sh - owner: root - content: | - #! /usr/bin/bash - until curl http://127.0.0.1:4001/v2/machines; do sleep 2; done +hostname: master coreos: + etcd2: + name: master + listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 + advertise-client-urls: http://:2379,http://:4001 + initial-cluster-token: k8s_etcd + listen-peer-urls: http://:2380,http://:7001 + initial-advertise-peer-urls: http://:2380 + initial-cluster: master=http://:2380" + initial-cluster-state: new fleet: - etcd-servers: http://localhost:4001 metadata: "role=master" - flannel: units: - name: setup-network-environment.service command: start @@ -29,54 +31,15 @@ coreos: ExecStart=/opt/bin/setup-network-environment RemainAfterExit=yes Type=oneshot - - name: etcd.service - command: start - content: | - [Unit] - Description=etcd - Requires=setup-network-environment.service - After=setup-network-environment.service - - [Service] - EnvironmentFile=/etc/network-environment - User=etcd - PermissionsStartOnly=true - ExecStart=/usr/bin/etcd \ - --name ${DEFAULT_IPV4} \ - --addr ${DEFAULT_IPV4}:4001 \ - --bind-addr 0.0.0.0 \ - --cluster-active-size 1 \ - --data-dir /var/lib/etcd \ - --http-read-timeout 86400 \ - --peer-addr ${DEFAULT_IPV4}:7001 \ - --snapshot true - Restart=always - RestartSec=10s - name: fleet.service command: start - - name: etcd-waiter.service - command: start - content: | - [Unit] - Description=etcd waiter - Wants=network-online.target - Wants=etcd.service - After=etcd.service - After=network-online.target - Before=flanneld.service - - [Service] - ExecStartPre=/usr/bin/chmod +x /opt/bin/waiter.sh - ExecStart=/usr/bin/bash /opt/bin/waiter.sh - RemainAfterExit=true - Type=oneshot - name: flanneld.service command: start drop-ins: - name: 50-network-config.conf content: | [Unit] - Requires=etcd.service + Requires=etcd2.service [Service] ExecStartPre=/usr/bin/etcdctl set /coreos.com/network/config '{"Network":"10.244.0.0/16", "Backend": {"Type": "vxlan"}}' - name: docker-cache.service @@ -123,16 +86,19 @@ coreos: [Unit] Description=Kubernetes API Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes - Requires=etcd.service - After=etcd.service + Requires=etcd2.service + After=etcd2.service [Service] ExecStartPre=-/usr/bin/mkdir -p /opt/bin - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-apiserver + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-apiserver ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver ExecStart=/opt/bin/kube-apiserver \ - --address=0.0.0.0 \ - --port=8080 \ + --allow_privileged=true \ + --insecure_bind_address=0.0.0.0 \ + --insecure_port=8080 \ + --kubelet_https=true \ + --secure_port=6443 \ --portal_net=10.100.0.0/16 \ --etcd_servers=http://127.0.0.1:4001 \ --public_address_override=$private_ipv4 \ @@ -149,7 +115,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-controller-manager + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-controller-manager ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager ExecStart=/opt/bin/kube-controller-manager \ --master=127.0.0.1:8080 \ @@ -166,7 +132,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-scheduler + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-scheduler ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080 Restart=always @@ -183,12 +149,14 @@ coreos: After=fleet.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/kube-register + # ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/kube-register + ExecStartPre=/usr/bin/wget -N -O /opt/bin/kube-register https://github.com/kelseyhightower/kube-register/releases/download/v0.0.3/kube-register-0.0.3-linux-amd64 ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-register ExecStart=/opt/bin/kube-register \ --metadata=role=node \ --fleet-endpoint=unix:///var/run/fleet.sock \ - --api-endpoint=http://127.0.0.1:8080 + --api-endpoint=http://127.0.0.1:8080 \ + --healthz-port=10248 Restart=always RestartSec=10 update: diff --git a/docs/getting-started-guides/coreos/cloud-configs/node.yaml b/docs/getting-started-guides/coreos/cloud-configs/node.yaml index 57d0b88a04f..01d7a10e8a3 100644 --- a/docs/getting-started-guides/coreos/cloud-configs/node.yaml +++ b/docs/getting-started-guides/coreos/cloud-configs/node.yaml @@ -1,14 +1,22 @@ #cloud-config - +write-files: + - path: /opt/bin/wupiao + permissions: '0755' + content: | + #!/bin/bash + # [w]ait [u]ntil [p]ort [i]s [a]ctually [o]pen + [ -n "$1" ] && [ -n "$2" ] && while ! curl --output /dev/null \ + --silent --head --fail \ + http://${1}:${2}; do sleep 1 && echo -n .; done; + exit $? coreos: + etcd2: + listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 + initial-cluster: master=http://:2380 + proxy: on fleet: - etcd-servers: http://:4001 metadata: "role=node" - flannel: - etcd_endpoints: http://:4001 units: - - name: etcd.service - mask: true - name: fleet.service command: start - name: flanneld.service @@ -16,9 +24,9 @@ coreos: drop-ins: - name: 50-network-config.conf content: | + [Unit] + Requires=etcd2.service [Service] - Environment=ETCDCTL_PEERS=http://:4001 - ExecStartPre=/bin/bash -c "until curl http://:4001/v2/machines; do sleep 2; done" ExecStartPre=/usr/bin/etcdctl set /coreos.com/network/config '{"Network":"10.244.0.0/16", "Backend": {"Type": "vxlan"}}' - name: docker.service command: start @@ -26,8 +34,6 @@ coreos: - name: 51-docker-mirror.conf content: | [Unit] - # making sure that flanneld finished startup, otherwise containers - # won't land in flannel's network... Requires=flanneld.service After=flanneld.service [Service] @@ -58,8 +64,10 @@ coreos: After=setup-network-environment.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-proxy + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-proxy ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy + # wait for kubernetes master to be up and ready + ExecStartPre=/opt/bin/wupiao 8080 ExecStart=/opt/bin/kube-proxy \ --master=:8080 \ --logtostderr=true @@ -76,14 +84,19 @@ coreos: [Service] EnvironmentFile=/etc/network-environment - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kubelet + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kubelet ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet + # wait for kubernetes master to be up and ready + ExecStartPre=/opt/bin/wupiao 8080 ExecStart=/opt/bin/kubelet \ --address=0.0.0.0 \ --port=10250 \ --hostname_override=$private_ipv4 \ --api_servers=:8080 \ - --logtostderr=true + --allow_privileged=true \ + --logtostderr=true \ + --healthz_bind_address=0.0.0.0 \ + --healthz_port=10248 Restart=always RestartSec=10 update: diff --git a/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml b/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml index dcde9b0ae3d..60da9577035 100644 --- a/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml +++ b/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml @@ -2,43 +2,29 @@ --- write_files: -- path: /opt/bin/waiter.sh - owner: root - content: | - #! /usr/bin/bash - until curl http://127.0.0.1:4001/v2/machines; do sleep 2; done -hostname: standalone +hostname: master coreos: - flannel: - interface: eth1 + etcd2: + name: master + listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 + advertise-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 + initial-cluster-token: k8s_etcd + listen-peer-urls: http://0.0.0.0:2380,http://0.0.0.0:7001 + initial-advertise-peer-urls: http://0.0.0.0:2380 + initial-cluster: master=http://0.0.0.0:2380" + initial-cluster-state: new units: - name: etcd.service command: start - name: fleet.service command: start - - name: etcd-waiter.service - command: start - content: | - [Unit] - Description=etcd waiter - Wants=network-online.target - Wants=etcd.service - After=etcd.service - After=network-online.target - Before=flanneld.service - - [Service] - ExecStartPre=/usr/bin/chmod +x /opt/bin/waiter.sh - ExecStart=/usr/bin/bash /opt/bin/waiter.sh - RemainAfterExit=true - Type=oneshot - name: flanneld.service command: start drop-ins: - name: 50-network-config.conf content: | [Unit] - Requires=etcd.service + Requires=etcd2.service [Service] ExecStartPre=/usr/bin/etcdctl set /coreos.com/network/config '{"Network":"10.244.0.0/16", "Backend": {"Type": "vxlan"}}' - name: docker-cache.service @@ -86,17 +72,20 @@ coreos: [Unit] Description=Kubernetes API Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes - Requires=etcd.service - After=etcd.service + Requires=etcd2.service + After=etcd2.service [Service] ExecStartPre=-/usr/bin/mkdir -p /opt/bin - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-apiserver + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-apiserver ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver ExecStart=/opt/bin/kube-apiserver \ - --address=0.0.0.0 \ + --allow_privileged=true \ + --insecure_bind_address=0.0.0.0 \ + --insecure_port=8080 \ + --kubelet_https=true \ + --secure_port=6443 \ --portal_net=10.100.0.0/16 \ - --port=8080 \ --etcd_servers=http://127.0.0.1:4001 \ --public_address_override=127.0.0.1 \ --logtostderr=true @@ -112,7 +101,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-controller-manager + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-controller-manager ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager ExecStart=/opt/bin/kube-controller-manager \ --machines=127.0.0.1 \ @@ -130,7 +119,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-scheduler + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-scheduler ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080 Restart=always @@ -141,11 +130,11 @@ coreos: [Unit] Description=Kubernetes Proxy Documentation=https://github.com/GoogleCloudPlatform/kubernetes - Requires=etcd.service - After=etcd.service + Requires=etcd2.service + After=etcd2.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kube-proxy + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kube-proxy ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy ExecStart=/opt/bin/kube-proxy \ --master=127.0.0.1:8080 \ @@ -158,18 +147,21 @@ coreos: [Unit] Description=Kubernetes Kubelet Documentation=https://github.com/GoogleCloudPlatform/kubernetes - Requires=etcd.service - After=etcd.service + Requires=etcd2.service + After=etcd2.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/bin/linux/amd64/kubelet + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.15.0/bin/linux/amd64/kubelet ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet ExecStart=/opt/bin/kubelet \ --address=0.0.0.0 \ --port=10250 \ --hostname_override=127.0.0.1 \ --api_servers=127.0.0.1:8080 \ - --logtostderr=true + --allow_privileged=true \ + --logtostderr=true \ + --healthz_bind_address=0.0.0.0 \ + --healthz_port=10248 Restart=always RestartSec=10 update: diff --git a/docs/getting-started-guides/coreos/coreos_multinode_cluster.md b/docs/getting-started-guides/coreos/coreos_multinode_cluster.md index 73a5e8264fe..cf1a0a30087 100644 --- a/docs/getting-started-guides/coreos/coreos_multinode_cluster.md +++ b/docs/getting-started-guides/coreos/coreos_multinode_cluster.md @@ -2,7 +2,7 @@ Use the [master.yaml](cloud-configs/master.yaml) and [node.yaml](cloud-configs/node.yaml) cloud-configs to provision a multi-node Kubernetes cluster. -*Attention:* This requires at least CoreOS version 593.0.0/598.0.0. +> **Attention**: This requires at least CoreOS version **653.0.0**. ## Overview diff --git a/docs/getting-started-guides/coreos/coreos_single_node_cluster.md b/docs/getting-started-guides/coreos/coreos_single_node_cluster.md index 4d9489fe0ec..b79912052b3 100644 --- a/docs/getting-started-guides/coreos/coreos_single_node_cluster.md +++ b/docs/getting-started-guides/coreos/coreos_single_node_cluster.md @@ -2,7 +2,7 @@ Use the [standalone.yaml](cloud-configs/standalone.yaml) cloud-config to provision a single node Kubernetes cluster. -*Attention:* This requires at least CoreOS version 593.0.0/598.0.0. +> **Attention**: This requires at least CoreOS version **653.0.0**. ### CoreOS image versions