update AWS CloudFormation template and cloud-configs
Kubernetes 0.16.1 and CoreOS 668.2.0 (alpha) a lot of cleanup
This commit is contained in:
@@ -1,47 +1,56 @@
|
||||
#cloud-config
|
||||
|
||||
---
|
||||
hostname: master
|
||||
write_files:
|
||||
- path: /opt/bin/waiter.sh
|
||||
owner: root
|
||||
permissions: 0755
|
||||
content: |
|
||||
#! /usr/bin/bash
|
||||
until curl http://127.0.0.1:2379/v2/machines; do sleep 2; done
|
||||
|
||||
coreos:
|
||||
etcd2:
|
||||
name: master
|
||||
listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
|
||||
advertise-client-urls: http://<master-private-ip>:2379,http://<master-private-ip>:4001
|
||||
initial-cluster-token: k8s_etcd
|
||||
listen-peer-urls: http://<master-private-ip>:2380,http://<master-private-ip>:7001
|
||||
initial-advertise-peer-urls: http://<master-private-ip>:2380
|
||||
initial-cluster: master=http://<master-private-ip>:2380
|
||||
initial-cluster-state: new
|
||||
initial-cluster: master=http://$private_ipv4:2380
|
||||
listen-peer-urls: http://$private_ipv4:2380,http://localhost:2380
|
||||
initial-advertise-peer-urls: http://$private_ipv4:2380
|
||||
listen-client-urls: http://$private_ipv4:2379,http://localhost:2379
|
||||
advertise-client-urls: http://$private_ipv4:2379
|
||||
fleet:
|
||||
metadata: "role=master"
|
||||
etcd_servers: http://localhost:2379
|
||||
metadata: k8srole=master
|
||||
flannel:
|
||||
etcd_endpoints: http://localhost:2379
|
||||
locksmithd:
|
||||
endpoint: http://localhost:2379
|
||||
units:
|
||||
- name: setup-network-environment.service
|
||||
- name: etcd2.service
|
||||
command: start
|
||||
- name: fleet.service
|
||||
command: start
|
||||
- name: etcd2-waiter.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
Description=Setup Network Environment
|
||||
Documentation=https://github.com/kelseyhightower/setup-network-environment
|
||||
Requires=network-online.target
|
||||
Description=etcd waiter
|
||||
Wants=network-online.target
|
||||
Wants=etcd2.service
|
||||
After=etcd2.service
|
||||
After=network-online.target
|
||||
Before=flanneld.service fleet.service locksmithd.service
|
||||
|
||||
[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/chmod +x /opt/bin/setup-network-environment
|
||||
ExecStart=/opt/bin/setup-network-environment
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/bash /opt/bin/waiter.sh
|
||||
RemainAfterExit=true
|
||||
Type=oneshot
|
||||
- name: fleet.service
|
||||
command: start
|
||||
- name: flanneld.service
|
||||
command: start
|
||||
drop-ins:
|
||||
- name: 50-network-config.conf
|
||||
content: |
|
||||
[Unit]
|
||||
Requires=etcd2.service
|
||||
[Service]
|
||||
ExecStartPre=/usr/bin/etcdctl set /coreos.com/network/config '{"Network":"10.244.0.0/16", "Backend": {"Type": "vxlan"}}'
|
||||
ExecStartPre=-/usr/bin/etcdctl mk /coreos.com/network/config '{"Network": "10.244.0.0/16", "Backend": {"Type": "vxlan"}}'
|
||||
- name: docker-cache.service
|
||||
command: start
|
||||
content: |
|
||||
@@ -55,8 +64,8 @@ coreos:
|
||||
Restart=always
|
||||
TimeoutStartSec=0
|
||||
RestartSec=5
|
||||
Environment="TMPDIR=/var/tmp/"
|
||||
Environment="DOCKER_HOST=unix:///var/run/early-docker.sock"
|
||||
Environment=TMPDIR=/var/tmp/
|
||||
Environment=DOCKER_HOST=unix:///var/run/early-docker.sock
|
||||
ExecStartPre=-/usr/bin/docker kill docker-registry
|
||||
ExecStartPre=-/usr/bin/docker rm docker-registry
|
||||
ExecStartPre=/usr/bin/docker pull quay.io/devops/docker-registry:latest
|
||||
@@ -76,33 +85,41 @@ coreos:
|
||||
[Unit]
|
||||
# making sure that docker-cache is up and that flanneld finished
|
||||
# startup, otherwise containers won't land in flannel's network...
|
||||
Requires=docker-cache.service flanneld.service
|
||||
After=docker-cache.service flanneld.service
|
||||
Requires=docker-cache.service
|
||||
After=docker-cache.service
|
||||
|
||||
[Service]
|
||||
Environment=DOCKER_OPTS='--registry-mirror=http://$private_ipv4:5000'
|
||||
- name: get-kubectl.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
Description=Get kubectl client tool
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Requires=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.16.1/bin/linux/amd64/kubectl
|
||||
ExecStart=/usr/bin/chmod +x /opt/bin/kubectl
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
- name: kube-apiserver.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
Description=Kubernetes API Server
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Requires=etcd2.service
|
||||
After=etcd2.service
|
||||
Requires=etcd2-waiter.service
|
||||
After=etcd2-waiter.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.15.0/bin/linux/amd64/kube-apiserver
|
||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.16.1/bin/linux/amd64/kube-apiserver
|
||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver
|
||||
ExecStart=/opt/bin/kube-apiserver \
|
||||
--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
|
||||
--insecure-bind-address=0.0.0.0 \
|
||||
--portal-net=10.100.0.0/16 \
|
||||
--etcd-servers=http://localhost:2379
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
- name: kube-controller-manager.service
|
||||
@@ -115,11 +132,10 @@ coreos:
|
||||
After=kube-apiserver.service
|
||||
|
||||
[Service]
|
||||
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/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.16.1/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 \
|
||||
--logtostderr=true
|
||||
--master=127.0.0.1:8080
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
- name: kube-scheduler.service
|
||||
@@ -132,9 +148,10 @@ coreos:
|
||||
After=kube-apiserver.service
|
||||
|
||||
[Service]
|
||||
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/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.16.1/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
|
||||
ExecStart=/opt/bin/kube-scheduler \
|
||||
--master=127.0.0.1:8080
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
- name: kube-register.service
|
||||
@@ -143,20 +160,16 @@ coreos:
|
||||
[Unit]
|
||||
Description=Kubernetes Registration Service
|
||||
Documentation=https://github.com/kelseyhightower/kube-register
|
||||
Requires=kube-apiserver.service
|
||||
After=kube-apiserver.service
|
||||
Requires=fleet.service
|
||||
After=fleet.service
|
||||
Requires=kube-apiserver.service fleet.service
|
||||
After=kube-apiserver.service fleet.service
|
||||
|
||||
[Service]
|
||||
# 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/wget -nc -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 \
|
||||
--metadata=k8srole=node \
|
||||
--fleet-endpoint=unix:///var/run/fleet.sock \
|
||||
--api-endpoint=http://127.0.0.1:8080 \
|
||||
--healthz-port=10248
|
||||
--api-endpoint=http://127.0.0.1:8080
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
update:
|
||||
|
@@ -1,7 +1,9 @@
|
||||
#cloud-config
|
||||
write-files:
|
||||
|
||||
write_files:
|
||||
- path: /opt/bin/wupiao
|
||||
permissions: '0755'
|
||||
owner: root
|
||||
permissions: 0755
|
||||
content: |
|
||||
#!/bin/bash
|
||||
# [w]ait [u]ntil [p]ort [i]s [a]ctually [o]pen
|
||||
@@ -9,94 +11,68 @@ write-files:
|
||||
--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
|
||||
listen-client-urls: http://localhost:2379
|
||||
initial-cluster: master=http://<master-private-ip>:2380
|
||||
proxy: on
|
||||
fleet:
|
||||
metadata: "role=node"
|
||||
etcd_servers: http://localhost:2379
|
||||
metadata: k8srole=node
|
||||
flannel:
|
||||
etcd_endpoints: http://localhost:2379
|
||||
locksmithd:
|
||||
endpoint: http://localhost:2379
|
||||
units:
|
||||
- name: etcd2.service
|
||||
command: start
|
||||
- name: fleet.service
|
||||
command: start
|
||||
- name: flanneld.service
|
||||
command: start
|
||||
drop-ins:
|
||||
- name: 50-network-config.conf
|
||||
content: |
|
||||
[Unit]
|
||||
Requires=etcd2.service
|
||||
[Service]
|
||||
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
|
||||
- name: 50-docker-mirror.conf
|
||||
content: |
|
||||
[Unit]
|
||||
Requires=flanneld.service
|
||||
After=flanneld.service
|
||||
[Service]
|
||||
Environment=DOCKER_OPTS='--registry-mirror=http://<master-private-ip>:5000'
|
||||
- name: setup-network-environment.service
|
||||
- name: kubelet.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
Description=Setup Network Environment
|
||||
Documentation=https://github.com/kelseyhightower/setup-network-environment
|
||||
Description=Kubernetes Kubelet
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Requires=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[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/chmod +x /opt/bin/setup-network-environment
|
||||
ExecStart=/opt/bin/setup-network-environment
|
||||
RemainAfterExit=yes
|
||||
Type=oneshot
|
||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.16.1/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 <master-private-ip> 8080
|
||||
ExecStart=/opt/bin/kubelet \
|
||||
--api-servers=<master-private-ip>:8080 \
|
||||
--hostname-override=$private_ipv4
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
- name: kube-proxy.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
Description=Kubernetes Proxy
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Requires=setup-network-environment.service
|
||||
After=setup-network-environment.service
|
||||
Requires=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
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/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.16.1/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 <master-private-ip> 8080
|
||||
ExecStart=/opt/bin/kube-proxy \
|
||||
--master=<master-private-ip>:8080 \
|
||||
--logtostderr=true
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
- name: kube-kubelet.service
|
||||
command: start
|
||||
content: |
|
||||
[Unit]
|
||||
Description=Kubernetes Kubelet
|
||||
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
||||
Requires=setup-network-environment.service
|
||||
After=setup-network-environment.service
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/network-environment
|
||||
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 <master-private-ip> 8080
|
||||
ExecStart=/opt/bin/kubelet \
|
||||
--address=0.0.0.0 \
|
||||
--port=10250 \
|
||||
--hostname_override=$private_ipv4 \
|
||||
--api_servers=<master-private-ip>:8080 \
|
||||
--allow_privileged=true \
|
||||
--logtostderr=true \
|
||||
--healthz_bind_address=0.0.0.0 \
|
||||
--healthz_port=10248
|
||||
--master=http://<master-private-ip>:8080
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
update:
|
||||
|
Reference in New Issue
Block a user